Wav Dateien in membrain

Sie haben ein bestimmtes Projekt zu bearbeiten und wissen nicht, wie Sie an die Aufgabe heran gehen sollen? Sie sind sich nicht sicher, ob Ihr Netzentwurf zu Ihrem Problem passt oder ob es da Optimierungsmöglichkeiten gibt? Ist es überhaupt sinnvoll an Ihre Daten mit einem NN basierten Ansatz heranzugehen? Ist MemBrain das richtige Werkzeug für Ihr Problem und Ihre Infrastruktur?

Hier ist der richtige Platz für diese Art von Fragen.
Post Reply
Katrin
Posts: 3
Joined: Fri 24. Apr 2015, 17:18

Wav Dateien in membrain

Post by Katrin »

Hallo Herr Jetter,

ich bin in der 11. Klasse des Gymnasiums und soll im Rahmen des W-Seminars ein neuronales Netz in Membrain oder in eclipse erstellen. Dieses Netz soll Stimmen nach Alter und Geschlecht kategorisieren. Nun stellt sich mir die Frage, wie ich die Hörbeispiele (momentan im wav) in membrain einlese. Dazu muss ich sie ja in das DAT-Format und im nächsten Schritt in CVS umwandeln? Gibt es hierzu ein Programm oder eine Funktion in membrain?

Vielen Dank für ihre Antwort!
Katrin
User avatar
TJetter
Posts: 346
Joined: Sat 13. Oct 2012, 12:04

Re: Wav Dateien in membrain

Post by TJetter »

Hallo Katrin,

eine eingebaute Funktion für MemBrain gibt es dazu nicht. Es gibt aber bereits eine MemBrain Skript-Klasse, die wave-Dateien einlesen kann.
Ein Beispiel, wo diese Skript-Klasse zur Stimmenerkennung verwendet wird, ist im Skripte-Beispiel-Download auf der MemBrain Homepage enthalten:
http://www.membrain-nn.de/german/download_de.htm
Dazu muss man aber ein bisschen Programmieren, hast Du da ein wenig Kenntnisse oder jemand, der Dich da unterstützen kann? Die MemBrain Skript-Sprache ist ähnlich zu C++ oder auch Java. Vieles könntest Du Dir in dem genannten Skripte-Beispiel abgucken (das Beispiel heißt 'Voice Recognition').

Viele Grüße
Thomas Jetter
Katrin
Posts: 3
Joined: Fri 24. Apr 2015, 17:18

Re: Wav Dateien in membrain

Post by Katrin »

Hallo Herr Jetter,
erstmal vielen Dank für ihre schnelle Antwort!
Leider habe ich keine Hilfe für diese Aufgabe und Informatik in der Oberstufe abgelegt. Insofern kann ich nur einfache Dinge in blueJ programmieren. Ich habe mir einige Dinge selbst in eclipse beigebracht, doch das würde ich eher als Anfängerwissen bezeichnen.
Mein Lehrer meinte, für membrain braucht man keine Java-Kenntnisse, deshalb habe ich mich für dieses Programm entschieden.
Jetzt habe ich natürlich das Beispiel zur Voice Recognition heruntergeladen, hierzu hätte ich jedoch noch einige Fragen.
Wenn ich das Script über Scripting --> Execute Scripting versuche in membrain auszuführen, erhalte ich eine Fehlermeldung. Welchen Teil der Java-Klasse muss ich abändern, um dieses Problem zu behindern?
Wenn das im nächsten Schritt funktionieren sollte, wie mache ich dann aus den Wav-Dateien meinen Input?

Vielen Dank,
Katrin
User avatar
TJetter
Posts: 346
Joined: Sat 13. Oct 2012, 12:04

Re: Wav Dateien in membrain

Post by TJetter »

Hallo Katrin,

wie sieht denn die Fehlermeldung aus? Hast Du die Anweisungen im zugehörigen pdf befolgt?
Thomas Jetter
Katrin
Posts: 3
Joined: Fri 24. Apr 2015, 17:18

Re: Wav Dateien in membrain

Post by Katrin »

Hallo Herr Jetter,

das Beispiel der Voice Recognition funktioniert inzwischen. Ich weiß nicht, was ich jetzt anders gemacht habe als vorher...
Jetzt stellt sich mir die Frage, ob ich die Klasse Wave File aus dem Beispiel einfach übernehmen kann? Oder muss ich Teile ändern?

Liebe Grüße,
Katrin
User avatar
TJetter
Posts: 346
Joined: Sat 13. Oct 2012, 12:04

Re: Wav Dateien in membrain

Post by TJetter »

Hallo Katrin,
Katrin wrote:das Beispiel der Voice Recognition funktioniert inzwischen. Ich weiß nicht, was ich jetzt anders gemacht habe als vorher...
Ich habe selbst bei meinen letzten Versuchen festgestellt, dass die Zeit für

Code: Select all

OVERALL_REC_SECONDS_FOR_DETECTION
mit dem Wert 1 etwas sehr kurz gewählt ist.
Der Recorder (Hard Disk Ogg) startet manchmal zu langsam und schafft es deshalb nicht, einen Sample aufzuzeichnen. Ein Wert von 3 bis 5 Sekunden funktioniert hier zuverlässiger. Die Variable befindet sich in der Scriptdatei

Code: Select all

\Includes\GlobalDefinitions.as
.
Zur Wave-Klasse:
Ich würde an Deiner Stelle einfach mal versuchen, eine Deiner Wave-Dateien zu öffnen, im Rahmen eines kleinen Skriptes:

Code: Select all

#include "Includes\\WaveFile.as" // WaveFile.as is located in the sub folder 'Includes'

void main()
{
    WaveFile myWaveFile;

    bool ok = myWaveFile.Read("Example.wav");
    if (!ok)
    {
        Trace("Unable to open or read wave file\r\n");
        AbortScript()
    }
    // Wave file read successfully. Now use the methods of WaveFile class to access the wave file content
    ...
}
Hilft das als Startpunkt?

Viele Grüße
Thomas Jetter
Post Reply