RealStudio: Sounddaten verändern sich?

Gast #2794295
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
>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
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

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.