mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Suche Wav File in C


Autor: John (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

ich programiere gerade ein bischen mit einem ARM9 rum. Jetzt habe ich
eine Soundausgabe programmiert. Um diese zu nutzen gebe ich ein Wav
File im C-Code aus. Nachdem ich aber das Wav File nicht kenne (war bei
einer Demo von ATMEL dabei) weis ich nicht ob meine Ausgabe stimmt oder
ob ich totalen Humbug ausgebe.
Darum suche ich ein Wav File in C mit 16bit (2x16 bit =32 bit) und
einer Sampling Frequenz von 44,1 kHz. Bei dem ich weis wie es klingt
damit ich sagen kann ob mein Ausgang richtig arbeitet oder nicht.

Hat einer von Euch sowas oder weis jemand wie ich sowas
programieren/erstllen kann.

Als kleines Bsp. damit jeder weis was ich meine, hier ein Auszug aus
dem WAV File das ich momentan benutzte:

// This wave file has the following features:
// Stereo, 16 bits, sampling frequency = 44,1 kHz

const int wav_file[] = {
0x00FF0008,0x000f000A,
0x3A003A00,0x3A003A00,0x3A003A00,0x3A003A00,
0x2E802E80,0x2E802E80,0x2E802E80,0x2E802E80,
0x46004600,0x46004600,0x46004600,0x46004600,
0x34803480,0x34803480,0x34803480,0x34803480,
0x3A003A00,0x3A003A00,0x3A003A00,0x3A003A00,
0x40004000,0x40004000,0x40004000,0x40004000,
0x34803480,0x34803480,0x34803480,0x34803480,
0x40004000,0x40004000,0x40004000,0x40004000,
0x2E802E80,0x2E802E80,0x2E802E80,0x2E802E80,
0x40004000,0x40004000,0x40004000,0x40004000,
0x40004000,0x40004000,0x40004000,0x40004000,
0x3A003A00,0x3A003A00,0x3A003A00,0x3A003A00,
0x46004600,0x46004600,0x46004600,0x46004600,
0x34803480,0x34803480,0x34803480,0x34803480,
0x40004000,0x40004000,0x40004000,0x40004000,
0x3A003A00,0x3A003A00,0x3A003A00,0x3A003A00,
0x40004000,0x40004000,0x40004000,0x40004000,
0x40004000,0x40004000,0x40004000,0x40004000,
0x40004000,0x40004000,0x40004000,0x40004000,
..............


Das File hat eine Länge von 28576

Kann mir irgendjeand helfen?

Schon mal danke im Vorraus!

John

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm ich hab zwar nicht so ein file, aber ich bin mal beim rumsurfen
(leider kenne ich den link nicht mehr) auf eine seite gestoßen, wo
einer ein prog geschrieben hatte, das wav in ein ascii-code umgewandelt
hat um dieses in ein eeprom zu brennen.

eventuell solltest du danach mal googlen

Autor: ope (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fertig suchen oder selber schreiben - ein kurzes googeln ergab:

http://www.borg.com/~jglatt/tech/wave.htm

hier stehen die jeweiligen header, da wahrscheinlich sample rate,
channela etc. konstant/bekannt sind, kann man gleich die daten chunks
via fprintf(stream, "%x", ....) bzw. dem c++ äquivalent in ein file
schreiben. Drum'rum die Schleife für die Bytes aus dem Wave file und
Zeilenumbruch für die ascii Darstellung. Ich könnte mir aber
vorstellen, da das Problem recht häufig stehen dürfte, das fertige
Programme/Freeware zu Haufe zu finden sind - nur kenne ich keines ad
hoc, sorry.

Viele Grüße
Olaf

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Crossposts, und dazu noch im definitiv falschen Forum, sind bleh!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.