Hallo, ich möchte mir eine einfache Loopmaschine bauen. Funktionsumfang: Auf Knopfdruck sollte das Eingangssignal (Mikrofon o.Ä.) gesampelt und in den Speicher geschrieben werden. Beim 2. Knopfdruck wird die Aufnahme gestoppt und das Aufgenommene soll ausgegeben werden. Und das ganze auf 3 getrennten Spuren. Also keine Effekte (vorerst nicht, mal sehen wie weit ich komme). Ich bin gerade beim Auswählen des Mikrocontrollers. Dabei denke ich nicht an einen DSP, da ja eigentlich keine mathematischen Operationen auf das gesampelte Signal angewendet werden müssen. Zur Samplingrate und Bittiefe: Da ich jetzt nicht Studioqualität anstrebe, dachte ich dass eine Samplingrate von 60kHz und eine Bittiefe von 20 bit ein guter Kompromiss zwischen CD- und Studioqualität ist. Ein Loop sollte (bei v0.1 ;) ) nicht länger als 8 Sekunden dauern. Für eine Spur wären das dann 60kHz * 20 * 8 = 1.2MB / Spur... Das ist schon eine Menge Speicher für einen uC (btw :P). Meine Frage ist nun, welchen Controller (bzw. Dev-Kit) ich dafür verwenden sollte, bzw. welchen Systemtakt er mindestens haben sollte. Der Rest (Speicher, I/Os, etc) ist eh schon vorgegeben. Ich dachte da z.B. an diesen hier mit externem ADC, DAC und SRAM: https://www.adafruit.com/products/1342 Er Taktet mit 72MHz Danke für die Hilfe!
:
Bearbeitet durch User
Samuel J. schrieb: > Der Rest (Speicher, I/Os, etc) ist eh schon vorgegeben. Wieso? Du kannst doch alle Komponenten auswählen, oder willst Du etwas vorhandenes umbauen? Es würde noch helfen, wenn Du Deine Motivation mitteilst - Geld zu sparen ist es wohl nicht, denn so Geräte gibt es ja für 2stellige Euro-Beträge. Willst Du eher programmieren lernen (externe Bausteine) oder was Anderes? Schon ein rauscharme Mikrofon-Umgebung, die 20 Bit wirklich ausnutzt, ist recht aufwändig.. oder möchtest Du ein fertiges Mikrofon mit USB benutzen? usw. Allgemein würde ich sagen, dass 70MHz ausreichen. Es können auch 16 oder 20MHz ausreichen, aber dann musst Du um so mehr in der Lage sein, die Daten parallel zu verarbeiten, evtl. zeitkritische Programmteile in Assembler schreiben oder sehr viel Code-Optimierung zu betreiben.
>> Der Rest (Speicher, I/Os, etc) ist eh schon vorgegeben. > Wieso? Du kannst doch alle Komponenten auswählen, oder willst Du etwas > vorhandenes umbauen? Nein ich meinte mit den "Vorgaben" der Samplingrate und Bittiefe. > Es würde noch helfen, wenn Du Deine Motivation mitteilst Nein, Geldsparen ist es nicht :D Ich hab mir ein Hobbyprojekt gesucht, dass 2 meiner Hobbys vereint... Ich wollte schon lange was mit digitaler Signalverarbeitung machen und dachte mir das ist ein guter Einstieg. > Schon ein rauscharme Mikrofon-Umgebung, die 20 Bit wirklich > ausnutzt, ist recht aufwändig.. Meinst du damit die Raumakustik? Oder die analoge Aufbereitung? > oder möchtest Du ein fertiges Mikrofon mit USB benutzen? Das ist keine schlechte Idee, da würde der ganze Analogteil wegfallen. Ich könnte aber auch eine Soundkarte suchen, die für die Integration in eine uC-Umgebung gedacht ist (also mit paralleler Schnittstelle oder I2C). So müsste ich nicht noch das USB-Protokoll implementieren.
:
Bearbeitet durch User
Nachtrag zum USB-Mikrofon: Ich hätte eigentlich gern, dass ich mittels Klinke Mikrofone und Instrumente anschließen kann. ... Aber die Idee mit dem Audiointerface schau ich mir genauer an!
Hallo, ich bin auf der Suche nach einem Mikrofoninterface, welches mir das Mikrofonsignal aufbereitet und digitalisiert. Das ganze gibt es ja als USB-Audiointerface usw. Ich brauche das ganze aber mit einem parallelen oder (einfacherem) seriellen Interface (also I2C o.Ä.), um das Audiosignal dann digital weiterzuverarbeiten. Kennt jemand so ein Interface? lg
Habe nun endlich bei TI den PCM1870 gefunden, der UNGEFÄHR dem entspricht, was ich suche. Leider ist der Chip nur in einem für mich unlötbarem Gehäuse verfügbar. Er bietet auch etliche Funktionen, die ich eigentlich gar nicht brauche...
Wär ja schön, wenn Du schreibst, welche Anforderungen Du hast. Dynamik, Klirr, Bandbreite ... Telefon, Hifi, Messmicro, Ultraschall, ...etc. Parallelwandler gibt es für Messzwecke wie Sand am Meer, d.h. um Filterung musst Du Dich selbst kümmern. DIL könnte mittlerweile schwierig werden. Die Zeiten der parallelen Audiowandler sind laaange vorbei. Im DIL-Gehäuse auch. Das serielle Audio-Interface nennt sich I²S, die anderen Formate werden nur Left-Justified oder Right-Justified genannt. Die meisten Wandler beherrschen alle. Allen ist gemein, dass es sich um eine synchrone, serielle Schnittstelle mit Word-Clock handelt. (also 3 Leitungen) Samuel J. schrieb: > Er bietet auch etliche Funktionen, die ich > eigentlich gar nicht brauche... Was brauchst Du denn nicht? Ich meine, hast Du Dir mal überlegt, was Du dort schreibst? Damit kann keiner etwas Anfangen. Hol die Leute dort ab, wo sie sich gerade befinden! Eine wichtige Regel, wenn man Dinge beschreibt! Gruß Jobst
Samuel J. schrieb: > Meinst du damit die Raumakustik? Oder die analoge Aufbereitung? > >> oder möchtest Du ein fertiges Mikrofon mit USB benutzen? > Das ist keine schlechte Idee, da würde der ganze Analogteil wegfallen. Wenn Du schon mal selbst einen einfachen Mikrofonverstärker zusammengebaut hast, wirst Du ein gewisses Grundrauschen feststellen. wenn Dieses Gtrundrauschen die untersten 6 bit komplett überdeckt, kannst Du gleich 16 bit nehmen - verarbeitet sich einfacher uns ist immerhin CD-Qualität. Samuel J. schrieb: > ... Aber die Idee mit dem Audiointerface schau ich mir genauer an! Dann kannst Du Dich erst mal mit der digitalen Signalverarbeitung alleine beschäftigen. Es gibt schon so USB-Soundkarten-Stöpsel für HEadsets, also mit Klinken für Mikrofon und Kopfhörer dran, für < 10 Euro. Damit kannst Du die analoge Seite erst mal simulieren, bis mit der Signalverarbeitung - für die Du Dich ja hauptsächlich interessierst - alles läuft.
Das Discovery-Kit hätte schon Mikrophone und einen guten Audio-DAC: Discovery kit with STM32F746NG MCU http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/32f746gdiscovery.html
Samuel J. schrieb: > dachte ich dass eine > Samplingrate von 60kHz und eine Bittiefe von 20 bit Warum so krumme Werte - der Standard von 48kHz Rate und 16 Bit sollte für normale Looper durchaus reichen. Überlege dir, wie lange die Loop maximal sein soll, davon hängt der Speicherplatz im RAM ab, denn du dafür brauchst. Wenn wir mal Mono vorausetzen, brauchst du pro Sekunde etwa (48000*16 Bit) = 96 kByte. Als Hardware könnte ein STM32F429 Discovery brauchbar sein, weil es einen 8MByte SDRAM mit an Board hat und genügend I2S Schnittstellen, um einen ADC und einen DAC anzusteuern. Allerdinge belegt das Display mögliche Ports, so das du das evtl. entfernen solltest.
Samuel J. schrieb: > Ich wollte schon lange was mit digitaler Signalverarbeitung machen Dann kann ich dir http://www.dspguide.com/pdfbook.htm empfehlen. Kann man online lesen, gratis, oder sich im totem-Baum-Form erwerben.
> Was brauchst Du denn nicht? Oh man, ich hab vergessen den Link zum anderen Beitrag hinzuzufügen. Beitrag "DIY-Looper - Auswahl der MCU" hier steht, für was ich ihn brauche, sry nochmal. > d.h. um Filterung musst Du Dich selbst kümmern. hmm... genau das wollte ich umgehen. > DIL könnte mittlerweile schwierig werden. es muss nicht unbedingt DIL sein... Aber TSSOP wäre noch gut zu löten für mich. Dann kann ich mir einfach Adapterplatinen bestellen. Bin leider an Lochraster gebunden. > Die meisten Wandler beherrschen alle. Aber es sind einfach nur ADC-Wandler, oder? Also ohne integrierter analoger Aufbereitung? Danke für die Hilfe!
@r-u: > Es gibt schon so USB-Soundkarten-Stöpsel Ja aber dann müsste ich ja noch das USB-Protokoll implementieren. Gibt es keine Soundkarten für Embedded Systems? Habe gestern schon gesucht, hab aber nichts brauchbares gefunden, weil ich nicht wirklich weiß nach welchen Stichworten ich suchen muss. @Markus: > Das Discovery-Kit hätte schon Mikrophone und einen guten Audio-DAC Ja aber ich möchte eigentlich nicht die onboard-Mics verwenden. In der Produktbeschreibung ist aber ein Audio Line-in und out aufgelistet. Die Frage ist jetzt nur, ob diese Eingänge entsprechend gefiltert und aufbereitet (also vorverstärkt) werden . @mschoeldgen: > Warum so krumme Werte - der Standard von 48kHz Rate und 16 Bit sollte > für normale Looper durchaus reichen Ja, ich hab auch gestern gesehen, dass es für solche Werte keine Audio-Wandler gibt (v.a. für 20 bit). Ich werde mich also wirklich auf 48kHz und 16 bit festlegen. > Ein Loop sollte (bei v0.1 ;) ) nicht länger als 8 Sekunden dauern. Für eine > Spur wären das dann 60kHz x 20 x 8 = 1.2MB / Spur Das wären jetzt 48kHz x 16bit x 8s = 960kB und für das gesamte Gerät dann 960kB x 3 Spuren = 2.88MB > Als Hardware könnte ein STM32F429 Discovery brauchbar sein, weil es > einen 8MByte SDRAM mit an Board hat und genügend I2S Schnittstellen, um > einen ADC und einen DAC anzusteuern. Würde also gut passen! @beric: > Dann kann ich dir http://www.dspguide.com/pdfbook.htm empfehlen. Danke für den Link! :)
:
Bearbeitet durch User
Mikrofone mit "PulseDensityModulation" nützt nichts? Ist dann 1Bit breit seriell, oder? Gibt es bei reichelt für 2.80 StromTuner
Ein z.B. CS5331A ist ein Stereo 18 Bit ADC mit I2S Interface und kann direkt an o.a. STM32 angeschlossen werden. Enthalten ist im dem Chip ein AnitAliasing Filter, das mit der Masterclock mitläuft. Ohne viel Bauteile und lötbar im SOIC8 Gehäuse. Ein Gegenstück dazu als DAC wäre z.B. der CS4334, der ebenfalls im SOIC8 kommt und nur ein minimales Ausgangsfilter benötigt.
:
Bearbeitet durch User
Aus dem User-manual des Discoveryboards: > The analog line input is connected to ADC of WM8994ECS/R through blue audio > jack CN11. das klingt so, als könnte ich da nicht einfach ein Mikrofon einstecken :P
:
Bearbeitet durch User
Samuel J. schrieb: > das klingt so, als könnte ich da nicht einfach ein Mikrofon einstecken > :P Nee, das mußt Du vorverstärken. Wenn Du nicht USB verwenden willst, kannst Di Dir auch ein (einfaches, billiges, gebrauchtes, kleines) Mischpult kaufen. Da hast Du auch alles dran an Eingängen und Ausgängen inkl. Mixer und Mikro-Verstärker, was Du so brauchst, und kannst es später in klein perfektionieren.
:
Bearbeitet durch User
> kannst Di Dir auch ein (einfaches, billiges, gebrauchtes, kleines) > Mischpult kaufen Stimmt, das wäre auch eine Möglichkeit. Wahrscheinlich auch die einfachste. Ist dann eben am Anfang nicht hoch integriert :D Hab jetzt diese ARM Audio-Devboard gefunden: https://www.tindie.com/products/Elemental/cortex-m4-audio-effects-development-board/ Sieht sehr gut aus, nur das es 1. teuer ist und 2. zu wenig RAM hat. Da bräuchte ich noch extra Hardware... Aber nur mal so: ist es überhaupt möglich für mich, so einen Analogteil zu bauen? Angenommen ich verstärke das Signal auf 10V, dann wären das 10V/65536bit = 150uV/bit.. Ich hab nicht mal ein Oszi das so genau messen kann (habe nur das Analog Discovery)... :D Also werde ich eher bei einer fertigen Lösung bleiben müssen...
> Mikrofone mit "PulseDensityModulation" nützt nichts? Nein leider nicht. Ich möchte verschiedene Audioquellen anschließen, also sollte am fertigen Gerät dann 1 oder mehrere Klinke-Buchse(n) zur verfügung stehen. > Enthalten ist im dem Chip ein AnitAliasing Filter, das mit der Masterclock > mitläuft. Das klingt schon mal nicht schlecht, danke! Das würde aber heißen, dass ich das Mic-Signal zuerst Vorverstärken müsste, oder?
Ich glaube ich habe jetzt eine gute Lösung gefunden. Der PCM1804 (ADC mit integriertem Filter) in Verbindung mit dem OPA1632 als Eingangsverstärker. OPA1632: http://www.ti.com/product/OPA1632/description&lpos=Middle_Container&lid=Alternative_Devices PCM1804: http://www.ti.com/product/pcm1804-q1/description?keyMatch=pcm1804&tisearch=Search-EN-Everything Die Frage ist jetzt, ob ich wirklich direkt das Klinkenkabel vom Mikrofon auf den OPA verbinden kann.
:
Bearbeitet durch User
Noch eine Frage zum PCM: Unter den Parametrics ist angegeben, dass er folgende digitale Audiointerfaces unterstützt: L, R, I2S und DSP. Beudetet L und R hier left- und right justified. Das wäre also dann ein paralleler Ausgang, oder?
Samuel J. schrieb: > Sieht sehr gut aus, nur das es 1. teuer ist und 2. zu wenig RAM hat. Da > bräuchte ich noch extra Hardware... Du kannst keinen RAM auf diesem Board nachrüsten - kannste vergessen. Nimm dir lieber ein Board, wo schon satt RAM drauf ist und stricke den Audioteil dazu, das ist viel einfacher, deswegen mein Vorschlag mit dem F429 Discovery. Samuel J. schrieb: > Beudetet L und R hier left- und right justified. Das wäre also dann ein > paralleler Ausgang, oder? Nö, das sind nur unterschiedliche serielle Formate. I2S ist ein Standard, die anderen unterscheiden sich etwas von Hersteller zu Hersteller.
:
Bearbeitet durch User
> Du kannst keinen RAM auf diesem Board nachrüsten
hmm ok, dann schau ich mal ob ich noch ein billigeres Board mit mehr RAM
finde
Ich glaube die Cortex-Prozessoren unterstützen DMA. Könnte ich dann von
über diesen I2S-Bus über den DMA-Controller direkt in den RAM schreiben?
Ich hab leider noch nie was mit DMA gemacht... funktioniert das mit I2S?
Könntest du auch mal kurz über den OPA schauen? Also ob ich da wirklich
das Mic direkt anschließen kann?
Danke für eure Hilfe!
Samuel J. schrieb: > Könntest du auch mal kurz über den OPA schauen? Also ob ich da wirklich > das Mic direkt anschließen kann? Googel mal nach "Mikrofonverstärker Schaltung" und geh auf "Bilder" - das siehst Du, dass sie meist kapazitiv eingekoppelt werden. Samuel J. schrieb: > Ich hab leider noch nie was mit DMA gemacht... funktioniert das mit I2S? Ich glaube, Du solltest erst mal beim "Hallo Welt" anfangen.. ;-) Danach nimmst Du Dir einen I2C-Chip vor (z.B. einen Temperatursensor), um das Protokoll zu lernen, und viel später nochmal DMA.
> hmm ok, dann schau ich mal ob ich noch ein billigeres Board mit mehr RAM > finde alles klar, ich suche anscheinend auf den falschen Seiten... Hab bei amazon gesucht, da kostet es 70€. Auf RS nur 30€!! Damit hat sich das jetzt auch erledigt.. :P
Samuel J. schrieb: > Beudetet L und R hier left- und right justified. Das wäre also dann ein > paralleler Ausgang, oder? Liest Du eigentlich die Antworten? (in diesem Fall speziell meine) Gruß Jobst Verwirrung: Hat ein Mod hier zwei Threads zusammen gepackt?
> Liest Du eigentlich die Antworten? (in diesem Fall speziell meine) >> die anderen Formate werden nur Left-Justified oder Right-Justified genannt Ich hab deine Antwort falsch verstanden, sry > Verwirrung: Hat ein Mod hier zwei Threads zusammen gepackt? jap
:
Bearbeitet durch User
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.