RealStudio: Sounddaten verändern sich?

Gast #2794295
Lesenswert?

Ich entwickle eine Anwendung, die Steuerkommandos per USB/Seriell 
(später Ethernet) zu einem Arduino-Mikrocontroller sendet. Dazu gehört 
auch Sprachausgabe (Zahlworte).

Öffne ich eine 8-Bit-Wave-Datei per Folderitem/BinaryStream, lese jedes 
Byte und sende es, kommt es an wie erwartet und wird korrekt am Arduino 
ausgegeben (PWM).

Nun wollte ich die Soundschnipsel direkt in der Anwendung unterbringen. 
Ziehe ich die Sounddaten in die RealStudio-IDE, kann ich sie zwar hier 
per Play abspielen, komme aber nicht an die Binärdaten heran, um sie zu 
versenden. Da habe ich die Sounddaten von *.wav in *.txt umbenannt - das 
dürfte ja den Inhalt nicht verändern. Wenn ich sie nun in die IDE ziehe, 
kann ich sie auch einem String zuweisen.

Sende ich aber nun die Binärwerte (ASCB) der einzelnen Zeichen, kommen 
nur noch Geräsche, Rauschen und Kratzen aus dem Arduino, die überhaupt 
Nichts mit dem Original zu tun haben. Wo ist mein Denkfehler, was 
verändert die Daten?
Gast #2794426
Lesenswert?

>Wenn ich sie nun in die IDE ziehe, kann ich sie auch einem String zuweisen.

Ich kenne diese IDE nicht, aber es könnte ein Problem mit deinen 
Binärdaten (txt Datei) und dem String liegen. Ein Datentyp String ist 
nicht für das Speichern von Binärdaten ausgelegt. Stichworte: 
Nullterminierter String, Escape-Sequenzen z.B. Line feed

 >Wo ist mein Denkfehler, was verändert die Daten?

Ich gehe davon aus, dass die erste NULL in deiner wave (txt binär) Datei 
das Ende des Strings bedeutet und deshalb das meiste deiner ausgegebenen 
Daten versehentlich 'sonstige Programmdaten' sind.

-> Versuche mal deine Binärdaten einem uint8_t Array (byte array, oder 
wie immer das in der IDE heißt) abzulegen.

P.S.: Nicht vergessen den Header der wav Datei abzuschneiden. Der klingt 
auch schlecht!
Gast #2794472
Lesenswert?

Hat sich geklärt: UTF!

"Moderne" Programmiersprachen und deren IDE betrachten Text als 
UTF-codiert und lesen dann eben öfters mal gleich zwei Byte, besonders, 
wenn es sich eigentlich um Binärdaten handelt ... Uff!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren