Ich spielte mit einer Idee für ein digitales Musikinstrument mit Atemkontrolle herum. Ich habe erfolgreich mit Drucksensoren experimentiert und sie sind wahrscheinlich der richtige Weg, aber meine erste Idee war nur die Verwendung eines mit Kunststoff versiegelten Mikrofons. Ich bin damit nie weit gekommen, aber ich denke, es hat immer noch Potenzial für die Art von Antwort, die ich möchte.
Die Idee war, dass ein Luftstrom, der auf den Treffer des Mikrofons gerichtet ist, weißliches Rauschen erzeugt (ich denke nur an ein Mikrofon), und ich könnte die Lautstärke dieses Rauschens verwenden, um die ADSR-Hüllkurve für meinen Sound zu erstellen. Wenn Sie das Mikrofon mit Plastikfolie abdecken, funktioniert dies weiterhin und schützt es vor der Feuchtigkeit in Ihrem Atem.
Der größte Teil meiner Elektronikerfahrung ist jedoch digital (von diskret digital im College bis hin zu Mikrocontrollern) und ich bin eher ein Programmierer. Ich ging so weit, das Rauschsignal auf meinem Oszilloskop zu betrachten und zu überprüfen, ob es die Eigenschaften hatte, die ich wollte (um die geglättete, positive Größe des Rauschens als Lautstärke der synthetisierten Töne zu verwenden), und ich weiß, ob ich es bekommen kann Ich kann einen ADC verwenden, um eine digitale Größe zu erhalten. Was mir fehlt, ist das analoge Wissen, die Rauschwellenform in ein variierendes analoges Signal umzuwandeln, das die durchschnittliche positive Größe bei einer ziemlich hohen Abtastrate darstellt.
Irgendwelche Ideen oder Links, um mich anzufangen?
PS
Ich werde nicht wirklich wissen, welche Antwort völlig richtig ist, bis ich experimentiere, aber die Antworten waren bisher großartig. Das VU-Messgerät ist ziemlich nah an dem, was ich brauche, und die Erinnerung, dass die Lautstärke logarithmisch ist, ist ebenfalls nützlich.
Es war möglicherweise einfacher, mein Problem folgendermaßen zu formulieren: Ich möchte einen digitalen Ton (entweder erzeugt oder über MIDI) steuern, bei dem die "Lautstärke" des Tons proportional zur Intensität des durch Blasen auf dem Mikrofon erzeugten Klangs ist macht keinen Sinn mehr.
Antworten:
Die Lautstärke ist grob mit der RMS-Amplitude korreliert , nicht mit der Spitzenamplitude
Sie können dies wahrscheinlich vereinfachen, je nachdem, wie viel Genauigkeit Sie benötigen.
Oh warte, du willst einen analogen Ausgang. Sie können die Welle durch einen Präzisionsgleichrichter ( Schaltpläne ) führen, um den Absolutwert zu erhalten, und dann mit einem RC-Filter filtern, um ihre Hüllkurve zu erhalten, wie in der Schaltung, die zu Pin 5 dieses Schaltplans führt . Anstelle dieses IC wäre Pin 5 der ADC Ihres Mikros. Es ist kein Effektivwert, aber es zeigt Ihnen die ungefähre Lautstärke. So funktionieren die meisten VU-Messgeräte .
quelle
Sie benötigen einen logarithmischen Verstärker oder einen logarithmischen Verstärker .
Die Lautstärke wird in Dezibel gemessen. Was für einen Menschen nach einer linear ansteigenden / abnehmenden Lautstärke klingt, entspricht tatsächlich exponentiellen Änderungen der akustischen Energie.
Sie können dies tun, indem Sie ICs von der Stange kaufen (z. B. LT5537 von Linear Tech ). Oder Sie können es selbst mit Operationsverstärkern, Widerständen, Dioden und Transistoren tun. Transistoren haben eine sehr schöne logarithmische Beziehung zwischen Kollektorstrom und Basisspannung über 5 oder 6 Jahrzehnte Strom (normalerweise von 10s - 100s von nA bis 1-10mA) und können mit Operationsverstärkern kombiniert werden, um einen Strom oder eine Spannung in zu verwandeln ein logarithmischer Spannungsausgang (siehe diese Website für eine Schaltung entlang mit schicken Wellenformgrafiken). Sie müssen zuerst einen eigenen Wellenform-zu-RMS-Detektor haben und dann das Ergebnis in einen Protokollverstärker einspeisen.
Wenn Sie keinen Log-Verstärker verwenden, ist der Dynamikbereich durch die Auflösung + Linearität + Nullpunktverschiebung des verwendeten ADC begrenzt, die möglicherweise nur 20 bis 30 dB beträgt.
quelle
Ich empfehle Ihnen, das Signal auf einen Pegel im Bereich von 0 V bis 3,3 V zu verstärken und dieses in den ADC Ihres Mikrocontrollers einzuspeisen. Es muss ein ziemlich schneller digitaler Signalprozessor verwendet werden. Ich empfehle so etwas wie einen dsPIC33F. Sobald das analoge Signal funktioniert, sollte die digitale Seite angesichts Ihrer digitalen Kenntnisse nicht zu hart sein.
quelle