Wörter in einer MP3 Datei suchen



  • Sprache , also das was gesprochen wird.

    Giebts denn irgendwo eine solche Liste?



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (auch C++0x und C++11) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • MP3 Dateien, sidn Audio Files. D.h. es gibt keine Wörter mehr, die Daten werden normalerweise mittels PCM gespeichert.

    Daraus Wörter zu extrahieren ist alles andere als trivial, das nennt sich Spracheerkennung. Ist aber alles andere als perfekt. Es kommt natürlich auf den Verwendungszweck an, aber solange das Wort klar und deutlich gesprochen ist sollte es möglich sein. Ansonsten kannst du es aber so ziemlich vergessen.



  • Hallo,

    das ist ziemlich einfach und relativst trivial. Öffne einen Texteditor (z.B. Notepad) und schreibe dort deinen Text rein, den du zu finden wünschst. Gehe unter Datei > Speichern unter... und speichere die Datei mit der Endung "mp3" ab, ich nehme im Folgenden "test.mp3" an

    Folgender Algorithmus (Pseudocode) löst das Problem:

    Eingabe: zu findendes Wort f
    
       öffne datei "test.mp3"
       für jede zeile z in datei
           wenn z den Teilstring f an position i enthält
                gib auf konsole aus: f + " in " + z + " bei " + i + "gefunden"
    

    So, jetzt musst du nur noch die Ergebnisse in einer Textdatei abspeichern. Ich will dir hier aber nicht alles lösen.

    Gruß
    Der MP3-Experte



  • MP3-Experte schrieb:

    Hallo,

    das ist ziemlich einfach und relativst trivial. Öffne einen Texteditor (z.B. Notepad) und schreibe dort deinen Text rein, den du zu finden wünschst. Gehe unter Datei > Speichern unter... und speichere die Datei mit der Endung "mp3" ab, ich nehme im Folgenden "test.mp3" an

    Folgender Algorithmus (Pseudocode) löst das Problem:

    Eingabe: zu findendes Wort f
    
       öffne datei "test.mp3"
       für jede zeile z in datei
           wenn z den Teilstring f an position i enthält
                gib auf konsole aus: f + " in " + z + " bei " + i + "gefunden"
    

    So, jetzt musst du nur noch die Ergebnisse in einer Textdatei abspeichern. Ich will dir hier aber nicht alles lösen.

    Gruß
    Der MP3-Experte

    Was für ein Scheiß Code, mit der richtigen Programmiersprache löse ich dir das Problem in einem Einzeiler.

    Hier, mit der Programmiersprache Brumpf geht das so:

    string ergebnis = findWort(String s, *file "bla.mp3")
    


  • 😃



  • Wahrscheinlich ist Deine beste Chance irgendeinen fertigen Spracherkenner zu finden und dafür zu benutzen. Da gibt es bestimmt eine Menge fertige Sachen.



  • Pro Power Coder schrieb:

    mit der richtigen Programmiersprache löse ich dir das Problem in einem Einzeiler.

    Hier, mit der Programmiersprache Brumpf geht das so:

    string ergebnis = findWort(String s, *file "bla.mp3")
    

    Pf, "mit der richtigen Programmiersprache". Mit der richtigen Programmiersprache, nämlich die Sprache Mp3FindWordProblemLanguage, lässt sich das Problem so lösen:

    
    


  • Hallo ihr Anfänger.

    Ich habe meine Dissertation in Mp3ologie geschrieben. Währenddessen habe ich mein Programm fortlaufend weiterentwickelt, sodass es schlussendlich in etwa das tut, was vom TE gewünscht ist. Gewählt habe ich die Entwicklungsumgebung Microsoft Word weil diese eine so prächtige Harmonie mit der Programmiersprache C++1337 hat. Hier der Code:

    // Copyright 2014 (C) (R) TM Jürgen Wurst
    #include <mp3.h>
    #include <iostream.h>
    #include <fstream>
    #include <string.h>
    #include <string>
    Using namespace std;
    Template<string coding_algo> // Strategy-Pattern!
    String extract_words(istream& stream)
    {
    	If(coding_algo == "mp3")
    	{
    		String words;
    		For(string actuel_word; Mp3::word_stream(stream) >> actuel_word;)
    		{
    			Words += actuel_word;
    			Words.push_back(' ');
    		}
    	}
    	Else
    	{
    		Cout << "error, das ist kein mp3";
    	}
    }
    Void main()
    {
    	Ifstream datei("test.mp3", mp3::ioflags::turbo_mode);
    	Cout << extract_words<"mp3">(datei);
    }
    


  • Ihr habt alle eure Rechnung ohne C++11 gemacht:

    #include <fstream>
    #include <iostream>
    
    int main()
    {
        std::ifstream mp3{ "foo.mp3" };
    
        for( auto i : mp3 )
            std::cout << i << '\n';
    }
    


  • Na, das ist ja mal wieder eine überragende Zurschaustellung von Kompetenz und Hilfsbereitschaft. 😞





  • Doktor in mp3ologie schrieb:

    Hallo ihr Anfänger.

    Ich habe meine Dissertation in Mp3ologie geschrieben.

    Ist das so etwas wie Astrologie?



  • Jester schrieb:

    Na, das ist ja mal wieder eine überragende Zurschaustellung von Kompetenz und Hilfsbereitschaft. 😞

    Wie sind ja auch die besten. 🙂



  • Doktor in mp3ologie schrieb:

    Hallo ihr Anfänger.

    Ich habe meine Dissertation in Mp3ologie geschrieben. Währenddessen habe ich mein Programm fortlaufend weiterentwickelt, sodass es schlussendlich in etwa das tut, was vom TE gewünscht ist. Gewählt habe ich die Entwicklungsumgebung Microsoft Word weil diese eine so prächtige Harmonie mit der Programmiersprache C++1337 hat. Hier der Code:

    // Copyright 2014 (C) (R) TM Jürgen Wurst
    #include <mp3.h>
    #include <iostream.h>
    #include <fstream>
    #include <string.h>
    #include <string>
    Using namespace std;
    Template<string coding_algo> // Strategy-Pattern!
    String extract_words(istream& stream)
    {
    	If(coding_algo == "mp3")
    	{
    		String words;
    		For(string actuel_word; Mp3::word_stream(stream) >> actuel_word;)
    		{
    			Words += actuel_word;
    			Words.push_back(' ');
    		}
    	}
    	Else
    	{
    		Cout << "error, das ist kein mp3";
    	}
    }
    Void main()
    {
    	Ifstream datei("test.mp3", mp3::ioflags::turbo_mode);
    	Cout << extract_words<"mp3">(datei);
    }
    

    😃 😃 😃 🕶 🕶 🕶 👍 👍 👍



  • Die Trollz im c++forum sind einfach die besten! 😃 👍


Anmelden zum Antworten