WAV-Dateien

Gast #55639
Lesenswert?

Hallo,

wie erzeuge und verarbeite ich WAV-Dateien?

Hintergrund:
Ich will mehrere WAV-Dateien in meinem Flash abspeichern und über den
DA-Wandler abspielen. Dies habe ich schon mit der WAV-Datei von
Ponyprog ausprobiert. Der Controller wiehert.

Nur womit kann ich die WAV-Dateien erstellen oder konvertieren? 8 Bit
und Mono reichen erst mal. Samplingrate 8000 oder 11050 sind auch
machbar.

Wie ist es mit dem rechtlichen Hintergrund, wenn ich Töne einer CD
nehme? Darf man eine kurze Tonfolge von x Sekunden frei verwenden oder
sind CDs tabu. Das Gerät ist nicht nur für den Hausgebrauch gedacht.

Ich habe bisher nichts gefunden, wo ich "freie Töne" herrunterladen
könnte.

Oryx
Gast #55641
Lesenswert?

Hi Florian,

ich habe den Quellcode im Anhang.
Ist in C++, für einen H8/3069 Controller.
Der eine analoge Ausgang wiehert, der andere macht ein 1 kHz Sinus.
Muste halt für deinen Controller anpassen, sollte aber gehen.
Die "Wav-Datei" ist in test.txt und wurde mit einem Minikonverter
aus
der ponyprog-wav-datei erzeugt.

Wenn Fragen zu diesem Quellcode sind, bitte einen eigenen Thread
öffnen, da die Diskussionen sonst doch abdriften (nicht im Niveau,
sondern in der Fragestellung).

Oryx
Angehängte Dateien:
Gast #55642
Lesenswert?

Hi,
Ich wollte mal fragen wie dein Programm allgemein funktioniert, hab mir
dein Quellcode angeschaut, hab aber leider nicht so viel Ahnung von C++
Programmierung. Ich schreib meine Programme immer in Assembler.
Werden die Werte aus der Datei test.txt einfach nacheinander in den DA
wandler geladen und dann per verstärker/lautsprecher hörbar gemacht,
oder wíe läuft das ab?

Rechtlich gesehen, machst du doch nichts anderes als deine Töne von
einer CD abzuspielen oder?! Wenn du die orginal CD besitzt, ist das
legal, auch das konvertieren ist rechtlich erlaubt, oder liege ich
jetzt falsch?
mfg michi
Gast #55643
Lesenswert?

Von "normalen" CDs zu kopieren ist nicht legal.
Ich würde mal im Video-Bereich nach freien Klängen schauen. Da gibt es
teilweise CDs, die freigegeben sind.
ct hat gerade ein Video-Sonderheft mit freienm Sounds auf CD
rausgebracht, wenn ich mich nicht irre.

Stefan
Gast #55644
Lesenswert?

Hallo Michi0021,
das mit der Funktion hasst Du richtig erkannt. Mit festem Takt, einfach
den jeweiligen Wert in den Wandler und über einen Verstärker in den
Lautsprecher.

Deine rechtliche Beurteilung sehe ich allerdings anders. Wenn ich meine
eigene CD einspiele und nur bei mir höhre, mags Du noch recht haben.
Aber wenn ich das ganze verkaufe, wir Mick Jagger das nicht witzig
finden. Ob man bei kurzen Tönen erwischt wird, ist eine andere Frage
und interressiert auch nicht wirklich. Ich will erst mal einen
korrekten weg gehen.

Hat schon mal jemand das Sonderheft der CT in Händen gehabt?

Oryx
Gast #55646
Lesenswert?

Eine Wav-Datei hat außer dem Header von ca 100 Byte nur die einzelnen
digitalen Werte, die man eins zu eins auf den DA-Wandler geben kann.
Und da die ersten 100 Bytes nur einen Bruchteil einer Sekunde ausmachen
kann man die getrost mitausgeben.
Gast #55647
Lesenswert?

@Oryx

Erstellen kannste das schon mit den Hausmittlen von Windows oder
Linux.

Desweiteren gibt es im Web unzälige Editoren dafür.(Einfache und auch
Komfortable).

Ich zb. nutze sehr gerne Cooledit (Heißt jetzt anders aber ich weiß es
jetzt nicht.Such mal nach Cooledit und du wirst umgeleitet).

Es gibt genug Effekte,Mehrspurrecorder usw.
Auch das Konvertieren der Bitrate ist kein Akt.

Und damit du nicht immer den Header mitabspielen mußt kannste das ganze
auch im RAW-Format abspeichern.
Das sind dann nur die nackten Samples.

Es gab für Cooledit immer ne Demoversion (Einige Effekte waren
begrenzt).

schaus dir mal an.

Zur Not kannste dir innem Hexeditor einfach den Header einer WAV-Datei
abschneiden.Dann haste das gleiche Ergebnis.

Der vollständigkeit halber:Natürlich gibt es noch unzälige Programme
die das genauso können.
Gast #55654
Lesenswert?

Hallo,

hat mal jemand einen Schaltplan mit der Grundkonfiguration der
Hardware, oder ein Schemabild...?

Gruss
A. Arndt

P.S.: Diese Technik wäre eine echte Alternative zu diesen teuren
ISD-Chip von z.B. Conrad...
Gast #55655
Lesenswert?

eeprom ganz einfach über 2 leitungen an den uP (mit pullup) eben so, wie
das bei i2c bus gemacht wird.

und den lautsprecher, wenn man nur mal probieren will mit einer
freilaufdiode versehen, da drunter einen transistor (pnp) und mit
basiswiederstand die basis an den uP

oder einen impedanzwandler (spannungsfollger) als op-schaltung an den
ausgang, oder gleich einen class-d amplifier chip

appropro class-D: man könnte über einen timer ein PWM signal erzeugen.
das hat eine periodenzeit von 255 und eine Tein von dem Wave-Momentwert
(heisst sample?) das ganze auch über treibertransistor an den
Lautsprecher.
1 Pin, 1 Transistor, 1 lautsprecher und die sache ist fertig.
Gast #55657
Lesenswert?

@A.Arnd

Hallo Namensvetter.

I2C-Eeprom  mit Bacom ist kein Problem.

Nur ist die Speichertiefe nicht so prall und man muß den Filter selber
basteln (Nakter Digitaslsound höhrt sich grausig an)

Bei 8K Samplingfrequenz und nem 64K EEProm (zb. 4.75 Eur. bei Reichelt)
sind das max 8 Sekunden also wirste vermutlich 2-3 Brauchnen.

Das wären schon 14.25 für 24 Sekunden.

Nen ISD 1420 (20 Sekunden) Kostet dagegen nur 7.55 bzw. wenn man noch
etwas Geld für den Filter (Für EEPRom Version) mitrechnet dann wäre der
ISD2560 (60 Sekunden) oder der ISD2590 (90 Sekunden) für jeweils 17.90
(Ja,kosten beide das Gleiche) schon recht gut bemessen.

Der Chip beinhaltet vom Speicher über den Filter bis Zum
Microfonverstärker alles was man braucht.

eigentlich muß da nurnoch nen Lautsprechertreiber und nen Micro sammt
einiger Tasten Drann (Wenn gewünscht)und fertig ist er.



zurück zu I2C

Die Ansteuerung von EEProms ist in Bascom kinderleicht.

Man schaue sich die befehlsfolge im Datenblatt an und der Rest ist mit
ner Hand befehle abgearbeitet.

Nioch ne Anmerkung zu den ISD-Chips.

Die 4000er Serie bietet bis zu 16 Minuten Platz und hat sogar nen I2C
Schnittsatelle.

Den Preis weiß ich allerdings nicht und ich gehe mal davon aus das er
nicht so günstig sein wird.Nur der Info wegen.

Wie gesagt: "Teuer" ist ne Frage von "wie lange".

Bei Conrad würde ich den eh nicht holen.Die haben mittlerweile
Phantasiepreise.

Für deren 14er bekomme ich bei Reichelt 2 20er oder für 3 Euro mehr
gleich nen 90er.

Rechne ich die Versandkosten noch mit ein dann beträgt der Unterschied
von 14 zu 90 nur noch  unter 2 Euro.

Ich persönlich nehme lieber die ISD's
Für mich ist es einfacher und der Sound ist wesentlich besser als ne
Einfache Epromlösung.

Aber am Ende mußte selber entscheiden.
Gast #55658
Lesenswert?

Vielen Dank an alle

Der Sound läuft jetzt. Zur PC-seitigen Verarbeitung habe ich Audacity
verwendet. Ist in der CT Software Kollektion.
Bei meinen ersten Tests hatte ich noch eine Stereo-Datei. Hört sich
irgendwie nicht gut an.
Für die Filterei hinter dem AD-Wandler habe ich einen einfachen
Tiefpass verwendet. Reicht halt aus.

Als Verstärker noch einen TDA7053 und die Lautstärke ist auch ok.

Vielleicht hat ja noch jemand eine Idee, wo man einzelne Töne wie z.B.
Hundegebell, zerspringendes Glas und andere Tonfolgen herrunterladen
kann. Sollte halt gut sortiert sein.

Oryx
Gast #55661
Lesenswert?

Hi Zusammen !

Bin auch grad kräftig am basteln wegen einer Soundausgabe.
Hab glaub ich noch nen interessanten Lieferanten gefunden. da gibs den
ISD 25120 für knapp 10€
Vielleicht interessierts den ein oder anderen

http://www.hinkel-elektronik.de/cgi-bin/1.cgi?obj=www&_cgi=wk&_S=/shop/2724.html&WK_42311=1

Versandkosten zwar bei 5,80 aber somit immer noch günstiger als
Reichelt.
Gast #55666
Lesenswert?

Ich verwende eine andere Lösung:
512kByte Flash EPROM, direkt mit dem 64kB Adress/Datenbus verbunden.
Die restlichen Adressleitungen kommen von einem weiteren uC Port.
Die RD\ Leitung ist mit Clk eines 74HC574 Latches verbunden -> Der uC
liest Daten, und der 74HC574 speichert den Wert automatisch. An dessen
Ausgang sitzt ein R2R DAC, der so angeschlossen ist, dass im
Ruhezustand (OE\ des 74HC574 auf High) die Ausgangsspannung auf 2,5V
also Wert 128 liegt. Damit vermeide ich das Knacken bei der Widergabe.
Per OE\ schalte ich den DAC ab.
Das ganze ist mit 32 Tasten verbunden (4*8 Matrix). Auf Knopfdruck
werden jetzt bis zu 32 Geräusche abgespielt, mit isngesamt maximal 85
Sekunden.
In den ersten 128Bytes des Flash sind Informationen über Samplerate und
Startadresse der einzelnen Geräusche gespeichert. Das Flash lässt sich
über RS232 per PC programmieren.

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