Forum: Mikrocontroller und Digitale Elektronik Audio-datei wiedergeben


von Martin K. (spyro07)


Lesenswert?

hallo,
ich habe vor, das ein mc (atmega16 oder 8) wenn etwas bestimmtes 
passiert ein warnsignal ausgegeben wird. dieses warnsignal ist sprache.
wie bekomme ich das hin, das ich diese datei mit dem mc abspielen kann 
(also über lautsprecher natürlich)

von Fly (Gast)


Lesenswert?

Da gibt es zig Beiträge dazu. Schon mal die Suchfunktion bemüht?

von Martin K. (spyro07)


Lesenswert?

Alsohab mich jetzt ein bissl erkundigt.  Aber wie  bekomme ich die 
audot-datei so hin, das sie der mikrocontroller auch lesen kann? weil 
mit einer .wav datie kann der ja nich wirklich so viel anfangen, oder?

von TheMason (Gast)


Lesenswert?

Warum sollte ein Mikrocontroller mit einer Wave Datei nichts anfangen 
können ?

von Martin K. (spyro07)


Lesenswert?

na das hab ich mir so gedacht. Also brauche ich die datei bloß in den 
EEPROM legen und diese datei auf einen port legen?

von Martin K. (spyro07)


Lesenswert?

Na ok, mit dem EEPROM war ich jetzut vielleicht etwas voreilig. der hat 
ja viel zu wenig speicher :(

wisst ihr wo ich den Speicherplatz dann herbekomme, bräuchte ja ca. 80kB

von Willy (Gast)


Lesenswert?

wie stellt du dir das 'legen' vor?

von Martin K. (spyro07)


Lesenswert?

naja ich hatte gedacht ich speicher die datei einfach in den EEPROM, das 
hatte ich mit legen gemeint

von hubert (Gast)


Lesenswert?

ja genauso funktionierts...
  :D

von Pedro P. (sato)


Lesenswert?

Hallo

Bin zum ersten mal in diesen Forum und sehr wahrscheinlich auch das 
letztes
mal, wofür Fragen wenn man Ironischen antworten oder von Leute mit 
idiotischen gegenfragen wie dieses letzten Antwort auf eine Frage von 
jemand der ein wenig unterstützung braucht. Leute schaut euch andere 
Foren andere Programmiersprachen an dann sieht Ihr wovon ich spreche. Am 
besten diesen Forum schliessen oder die Leute die so auf fragen 
reagieren aus den Forum bannen

So jetzt gehts mir besser, das musste mal gesagt weden..

Gruss

Satos

von akw (Gast)


Lesenswert?

Ah Pedro... das ist ja toll das wir das wissen... ^^

Aber mal ehrlich wer kommt und sagt:

>Alsohab mich jetzt ein bissl erkundigt.

und dann solche Fragen stellt ist einfach nicht wirklich ernst zu 
nehmen.

Entweder man erkundigt sich richtig (siehe auch die Boardsuche, es gibt 
genug Threads darüber), weiß dann auch schon ein bisschen was und hat 
nur Probleme bei der Umsetzung oder man hat keine Ahnung und stellt nur 
blöde Fragen.

von TheMason (Gast)


Lesenswert?

@martin

also prinzipiell ist es kein problem. du mußt dir nur ein paar sachen 
vor augen halten :
 - samplerate (also die anzahl der werte die du pro sekunde ausgeben 
mäöchtest). je höher diese ist, desto besser wird die klangqualität. der 
speicherverbrauch wird größer, und die zeit die dir bleibt die einzelnen 
audio-werte aus dem speicher zu holen wird kleiner. bei sprache reicht 
i.d.r 8kHz.
 - länge des/der audio-datei(en). entscheidet maßgeblich über den 
speicher den du benötigst. mit einem datenflash von atmel kommst du sehr 
weit mit (ein 4MBit-Datenflash => 512kByte) reicht für ca 1min. bei 
weniger mußt du dir ein entsprechendes flash raussuchen. wenns nur 1.5 
sek sind kannst du vielleicht sogar den internen speicher deines atmegas 
nehmen (bei atmega16)
oder aber du arbeitest mit einfachen komprimierungsalgorithmen (längen, 
oder delta kodiert)
 - wie bekomme ich die audio-daten da rein. das ist die mit abstand 
schwierigste geschichte. du mußt entweder ein programmteil im atmega 
dafür abstellen um per serieller schnittstelle die daten im flash (egal 
ob internes oder externes) zu schreiben, oder dir hardware-mässig was 
bauen das du von deinem pc auf das datenflash zugreifen kannst (am 
sinnigsten ist aber trotzdem die möglichkeit direkt über den avr die 
daten im eeprom zu schreiben)

wenn du wirklich eine .wav datei abspielen willst (also per sd-karte) 
mußt du dir ersteinmal quellcodes zum auslesen des fat16/fat32 
dateisystems besorgen (gibts hier aber tonnenweise, mußt halt nur 
suchen). der rest ist dann dasselbe wie oben erwähnt. dann sollte man 
aber darauf achten das die samplerate nicht zu hoch ist (der avr muß ja 
schließlich die einzelnen blöcke lesen und dann ausgeben, 44kHz sind 
sicherlich machbar, aber da muß man denke ich etwas tricksen, vor allem 
wenn man mit ner sd karte arbeitet)

@sato

stänker mal nicht so rum. wenn man nicht mit ein bischen ironie umgehen 
kann hat man leider in der foren-welt verloren.
außerdem sollten die "gegenfragen" und die "ironie" den fragenden 
vielleicht einfach nur dazu bewegen etwas mehr infos zu geben ?! oder 
hast du nach 3 postings ganz genau gewusst was derjenige vorhat ?!
das sind ähnliche fragen wie "kann ich mir mit meiner 100w-lötpistole 
ein handy selber nachbauen ?!" oder "ich habe hier einen chip, was kann 
ich damit machen, und wo gibts tools dafür".
bei martin kamen ja schon ein paar infos (nur sprache, warnsignal, 
atmega16). aber wenn man sowas machen will muß man sich eben genauer 
einarbeiten. fertige lösungen gibts in den seltesten fällen.

so das mußte ich jetzt auch mal loswerden.

gruß
rene

von Paul Baumann (Gast)


Lesenswert?

@Martin K.
Guck mal hier rein, vielleicht hilft Dir das weiter:
Beitrag "Läutewerk für Bahnübergang bauen"

MfG Paul

von eProfi (Gast)


Lesenswert?

Oder du liest Dir mal folgenden Circuit-Cellar-AVR-Contest2006-Beitrag 
durch:
http://www.circuitcellar.com/avr2006/winners/AT3267.htm
Ist ein sehr schön zu lesender Artikel über eine Überwachungskamera 
(ITC-M-328, M328 (Omnivision OV7640 ?), IR-Sensor TSOP36836, PIR 
ITM-256, Mega32 und SD-Karte), die über eine IR-Fernbedienung gesteuert 
wird und als Ausgabe kein Display, sondern einen Lautsprecher hat.
Die Sound-Dateien (Sprache) hat er aus Texten synthetisiert.

Habe mal aus den .pcm-Dateien wieder .wav gemacht, hört sich ganz 
brauchbar an. Die Files liegen auf der SD-Karte, die Bytes werden 1:1 an 
den PWM-Ausgang gelegt.
Wichtig ist, den Aufbau einer .wav-Datei zu verstehen.
Vor allem geht es nur mit unkomprimierten Dateien (kein Codec).
Viel Erfolg!

von Ralf (Gast)


Lesenswert?

akw schrieb:
> oder man hat keine Ahnung und stellt nur
> blöde Fragen.

Es heisst: Es gibt keine blöden Fragen, nur blöde Antworten...

von Rolf M. (rmagnus)


Lesenswert?

Ralf schrieb:
> Es heisst: Es gibt keine blöden Fragen, nur blöde Antworten...

Leider ist das Quatsch. Aber blöde Antworten gibt es auch - z.B. die, 
die mehr als 13 Jahre zu spät kommen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.