Servus! Hab mich in eurem schönen Forum ein wenig umgesehen, aber leider nichts darüber gefunden. Ich möchte "ein" Sprachmemo mit Hilfe eines Mikrocontrollers aufnehmen und im .wav Format speichern um es dann z.B.: auf einem Computer abspielen zu können. Kann mir vielleicht irgendjemand mit ein paar Ideen bzw. Bausteintipps behilflich sein?! Danke Christian
Hi, schau dich mal auf den mp3 playern seiten um .... diese Player spielen auch wav ab. Mfg Dirk
Hallo Dirk! Danke für deine Antwort. ums .wav abspielen auf dem microcontroller ginge es mir eigentlich gar nicht ;) eher wollte ich wissen ob ich im wav format aufnehmen kann bzw. eine wav Datei (wav soll ja recht simpel sein) erzeugen kann. & mit welchen Bausteinen ich das am besten machen könnte (Chiprecorder von Winbond?)
Hi einfach ein ADC und ein genügend großer Speicher. Das Format einer WAV-Datei findet sich über Google. Matthias
und wie siehts mit der verwendung von dsp's und codecs aus? ich würde nämlich gerne mehrere .wav dateien im speicher haben um diese dann auf dem pc abspielen zu können...
also die isd sprachspeicher würd ich für sowas nicht nehmen, da die recht teuer sind (für den isd1420 (=20 sekunden aufnahmezeit) bei reichelt glaub ich um die 7€). und 20 sekunden sind da wahrscheinlich ned genug. würde ich auch per adc und externem speicher machen.
und zu was für einem adc ratet ihr mir? ich will ca. Telephonqualität erreichen... 8 bit / 8 kHz?
und inwiefern nützt es einen dsp einzusetzen? (The chip can be programmed to compress (expand) 64kbps voice data down to (up from) either 32kbps, 24kbps, or 16kbps) z.B.: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2863 ratet ihr mir davon ab? tut mir leid, aber ich hab mit audio nicht so viel am hut ;)
Zum ADC: Bei Telefonqualität würde ich einen internen AD-Wandler des Controller benutzen. Welchen Controller willst Du denn einsetzen? Zum Wave-Format z.B. http://www.wotsit.org/ http://www.borg.com/~jglatt/tech/wave.htm und viele mehr wenn Du mal googelst... Zum Speichern: Ich würde einen externen Flash-Speicher nehmen, z.B. einen AT45DB081, AT45DB161 o.ä. aus der DataFlash-Serie von Atmel (http://www.atmel.com), die kann man über eine SPI-Schnittstelle ansteuern. Gruss Arvid
zu testzwecken will ich es mit einem Sab80c537 versuchen. dieser hat einen internen 8-bit adc wandler... also 256 werte (von 0-5V; 5V=255) sinuswellen symetrisch zum nullpunkt haben ja negative anteile... soll ich also den max. pegel auf 2.5V festsetzen und das ganze um 2,5V anheben?(2,5V addieren) und wie siehts es dann mit wav aus? Falls jemand tipps für mich hätte wäre ich sehr dankbar!
Häng doch an den ISD1416 Deinen AVR ran und steure mit dem AVR nen zusätzlichen Flash speicher an. Mfg. Merle
Wenn ich eine positive Spannung addiere um es ADC wandeln zu können hab ich ja nur die werte 0-255 in den Samples stehen... Brauch ich nicht auch negative werte? ich steh absolut auf der leitung, hat jemand schon was vergleichbares gemacht?
@Christian da Dein ADW Eingang nur 0-+5V verarbeitet mußt Du den Nullpunktauf +2.5V legen. Die Werte von 0-127 sind dann die negativen Anteile Deines Eingangssignales. Die von 128-255 enthalten die positiven Anteile. MfG Manfred Glahe
@Christian > Wenn ich eine positive Spannung addiere um es ADC wandeln > zu können hab ich ja nur die werte 0-255 in den Samples stehen... > Brauch ich nicht auch negative werte? Der Wandler liefert dir nur Werte von 0..255, das ist richtig. Negative Werte gibt es im eigentlichen Sinne in der binären Welt nicht, das sind nur "Vereinbarungen" von Zahlenformaten, z.B. die Zweierkomplementdarstellung (mit dem MSB als Minusvorzeichen) oder Floating-Point usw. Den Nullpunkt deines AD Eingangs must du auf 2.5V legen, das geht z.B. mit einem OP den du mit 0V an V- und 5V an V+ versorgst und über einen Spannungsteiler eine virtuelle Masse von 2.5V auf die Masse (GND) des OP und der analogen Schaltung legst. > und wie siehts es dann mit wav aus? ...kein Problem, mit WAVE files sind auch 8Bit Auflösung möglich. Bitte schau Dir erst Mal die Dokumentationen zu den WAVE Files an (Google ist dein Freund) und schau Dir mit einem Hex-Viewer mal ein bestehendes WAVE File an, dann dürften sich manche Fragen schon geklärt haben. Arvid
dass es in der binären welt "keine" negative zahlen gibt war mir schon klar, nur wie das im wav format dann aussieht war mir nicht ganz klar. Danke!
Avid hat hier den AT45DB081 als Speichermedium vorgeschlagen. Weiß irgendjemand, woher ich den beziehen kann?(oder überhaupt Dataflash bausteine von ATMEL) Die österreichischen Vertreter bei denen ich nachgesehen habe, liefern erst ab 1000 Stück.
Hallo, habe das Thread nur mal kurz überflogen. Bei den Amtel applikation gibt es eine Applikation für den AVR und einen externen Flash. Das ganze wird dann glaube ich über PWM wieder Wiedergegeben. Hier gehts zur Aplikation: http://www.atmel.com/dyn/resources/prod_documents/doc1456.pdf Gruß Peter
Danke Peter. Die Appnote hab ich zum Glück auch schon gefunden. Ich weiß jetzt nur noch nicht wo ich den Flash-Speicher herbekomme...
eine frage hätte ich noch. Was ist der Vorteil dabei PWM anstatt eines normalen DAC zu verwenden?
> Was ist der Vorteil dabei PWM anstatt eines normalen DAC > zu verwenden? Du sparst den DAC und den Platz dafür, aber: Nachteile von PWM: - Du must mehr Hirnschmalz in die PWM Routinen investieren - Du must mehr Rechenleistung für die PWM verbraten - Du hast mehr Störungen auf dem Nutzsignal - Du must Oversampling einsetzen - Der effektiv erreichbare Dynamikumfang ist kleiner als beim DAC Vorteile vom DAC: - einfache Ansteuerung - weniger EMV Probleme - besserer Dynamikumfang - weniger Rauschen - wenn Du eine andere Auflösung brauchst, wechselst Du einfach den DAC aus Mein Tipp: Lass die Finger von PWM, nimm einen DAC (erst recht, wenn Du noch ein uC Anfänger bist?). Arvid
Nimm doch diese 512k Flash Parallel-EEPROM`s, 8-Bit (ATMEL) von Reichelt. Kostet einer glaube ich so um die 4 EUR. Kannst ja mehrere nehmen da kriegste schon ordentlich was rein bei 8-Bit Auflösung. Und zum Samplen einen einfachen ADC 08xx. Evtl. vor den ADC noch einen (einfachen) Compressor schalten das verringert zwar die Dynamik aber nutzt die 8-Bit besser aus und das kommt letztlich dem Klang bzw. der Sprachverständlichkeit zugute. Wie hoch ist denn eigentlich die Samplerate die Du verwenden willst ?
danke für eure antworten. ich hab an "telephonqualität" gedacht, also so 8Khz. Möglich wäre es doch auch mit einem DSP zu komprimieren bzw. dekomrimieren, oder?
@Arvid: Viele Microcontroller machen PWM in Hardware, d.h. man konfiguriert es einmal und dann kann man einfach die Werte rausschreiben. Es kostet dann eben keine Rechenzeit. Wozu sollte das Oversampling gut sein? Nachteile vom DAC: Braucht nicht nur Platz, sondern auch mehr Pins. Die meisten brauchen 2 oder 3 Pins, viele sogar mehr. Man kann auch die Auflösung nicht ändern. Markus
> Viele Microcontroller machen PWM in Hardware ...muss ich dir recht geben, hat aber eben nicht jeder uC. Die Erzeugung von Analogsignalen mit PWM ist aber (besonders für Anfänger) nicht so ganz einfach zu verstehen. Es ist eigentlich simpel, ich hab es am Anfang aber auch nicht gerafft. Wenn man nicht weiss, was man da tut, ist es auch schwierig, es zu programmieren. > Wozu sollte das Oversampling gut sein? ...weil die Erzeugung des Audiosignals anders funktioniert. Es gibt ein paar Unterschiede zwischen DA-Wandlung und PWM. Bei einem DA-Wandler habe ich ein treppenförmiges Ausgangssignal. Bei PWM habe ich ein Rechtecksignal mit unterschiedlicher Pulsbreite. Die Aliasing-Produkte dürften bei PWM erheblich ausgeprägter sein, weshalb ich mehr Aufwand in steilflankigere Filter stecken müsste oder eben Oversampling betreiben, um die Aliasing-Produkte weiter noch oben zu verschieben. Das war jetzt eine intuitive Antwort, habe das noch nicht systemtheoretisch betrachtet. Kommt noch :-) Weiterer Nachteil von PWM: mehr Rauschen, da das PWM-Signal direkt aus der Versorgungsspannung des uC gespeist wird. Die ist bekanntlich nicht besonders störungsarm. Gruss Arvid
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.