FFT-Schlagerkennungsschaltung

Ich versuche seit über einem Jahr, sowohl den elektronischen Aspekt als auch den Softwareaspekt meines Projekts herauszufinden.

Ich habe es einigermaßen erfolgreich geschafft, die Gesamtidee zum Laufen zu bringen, die Unebenheiten, die ich auf dem Weg erlebt habe, stressen mich ehrlich gesagt.

Projektbeschreibung und Ziel:

Im Grunde ein Beat-Detection-Gerät mit einem sehr kleinen Formfaktor.

Ich verwende ein Arduino Uno als Prototyping-Gerät, aber ich habe ein Arduino Mega, Sparkfun Micro und mehrere andere Entwicklungsboards auf Lager, die ich bei Bedarf verwenden kann.

Ich möchte, dass der Mikrocontroller analoges Audio liest, es in FFT oder FHT oder andere leicht zu übersetzende Daten umwandelt, die niedrigeren Frequenzen liest, in denen der Kick der Musik präsentiert wird, und schließlich das Timing zwischen jedem Kick misst, um die BPM des Songs zu berechnen .

Der Frequenzbereich, in dem der Kick in der Musik vorhanden ist, liegt im Bereich von 45 Hz bis 55 Hz und ist in diesem Bereich am besten unterscheidbar, wenn man ihn in einem Spektrumanalysator betrachtet.

Dies sollte auch korrekt sein, wenn FFT/FHT mit einem Mikrocontroller durchgeführt wird, aufgrund der Natur der rohen Analog-zu-Digital-zu-FFT/FHT-Konvertierung.

Es kann sich jedoch unterscheiden und ist höchstwahrscheinlich unterschiedlich, wenn ein Mikrofon zum Hören des Tons verwendet wird.

Was ich erfolgreich erreicht habe:

  • Zusammenbau einer Schaltung, mit der Audio in einen analogen Eingang des Arduino eingespeist werden kann. Die Schaltung findest du hier:

Blockdiagramm
(Quelle: interface.khm.de )

Die beiden wichtigsten Komponenten des Projekts sind also vorhanden.

Womit ich Probleme habe:

  • Ich erhalte eine konstante Spitze im unteren Frequenzbereich des Spektrums, die jederzeit vorhanden ist. Das ist ein Problem, weil der Kick der Musik in diesem Bereich liegt.

Dinge, die ich versucht habe:

  • Ein Typ auf YouTube versuchte mir zu helfen, indem er mir einfache Anweisungen gab, und er sagte mir, ich solle einen 1-uF-Kondensator zwischen der Audioquelle und dem Analogeingang verwenden und entweder einen Pull-up- oder einen Pull-down-Widerstand am Analog versuchen Eingang.

Ergebnisse (Zitat):

Wenn Sie einen Pull-up verwenden, wird die Spitze der niedrigen Frequenzen erhöht, wenn Sie einen Pull-down verwenden, verschwindet die niedrige Frequenz.

Der Pulldown ist also der richtige Weg.

Mit vorhandenem Pulldown werden jedoch Obertöne des Sinustons eingeführt, aber keine Spitze im unteren Frequenzbereich, solange kein Ton vorhanden ist.

Wenn der Pulldown NICHT vorhanden ist, verschwinden die Harmonischen, aber die Spitze ist vorhanden.

  • Implementieren von FIR- und IIR-Filtern. Ergebnisse: Audio reagiert immer noch auf alle Frequenzen.

Was kann ich noch versuchen, bevor ich dieses Projekt zum Fenster hinauswerfe?

Ansätze und Vorschläge müssen komponentenbegrenzt und vorzugsweise softwareorientiert sein.

Die Lichtorgel muss einen geringen Stromverbrauch und sehr wenige physische Komponenten haben, und wenn physische Komponenten erforderlich sind, müssen sie winzig und oberflächenmontiert sein.

Eine Bass Drum enthält tatsächlich das Spektrum einer Snare Drum (100 s bis mehrere kHz), unmittelbar gefolgt von einem abklingenden Sub-100-Hz-Spektrum, sodass Ihre Analyse zu Beginn möglicherweise auf der falschen Spur beginnt.
Wie hoch ist Ihre Abtastrate auf dem ADC und wie viele Abtastwerte verwenden Sie in Ihrer Transformation? Es ist durchaus möglich, dass Sie die falschen Parameter haben.
@Andy Ich verwende ein professionelles Audio-Interface mit einer Software, die Live-FFT liest, und die Kick-Drum kann im Frequenzbereich variieren, ja, aber der ultimative Bereich liegt bei etwa 45 Hz, da dies zumindest die lauteste Frequenz für eine Kick-Drum ist für elektronische Tanzmusik.
Die Abtastrate ist das, was Open Music Labs behauptet, ich verwende ihren Aktiencode.
@WhatRoughBeast Ich habe Ihren Vorschlag ausprobiert und den Parameter LOG_OUT in Kombination mit der Antwort von AaronD in LIN_OUT8 geändert, und jetzt bekomme ich ein sauberes Spektrum.

Antworten (1)

Ich denke, der YouTube-Typ war vielleicht auf dem richtigen Weg, aber die Verwirrung besteht darin, dass "Masse" für die meisten analogen Schaltungen normalerweise zwischen zwei Versorgungen zentriert ist und für die meisten digitalen Schaltungen mit der unteren Versorgung koexistiert. Unabhängig davon, ob Sie ihn nach oben oder unten gezogen haben, war der DC-Pegel bereits begrenzt, und alles, was dazu hinzugefügt wurde (Ihre Musik), wurde ebenfalls automatisch begrenzt.

Stattdessen müssen Sie es bis zu einem Punkt in der Mitte ziehen. Der einfachste Weg, dies zu tun, besteht darin, ihn einfach mit zwei Widerständen gleichzeitig nach oben und unten zu ziehen. Das sollte es gut zentrieren, wobei der genaue Pegel durch das Verhältnis der beiden Widerstände bestimmt wird.

Auch zu bedenken:

  • Die Grenzfrequenz beträgt 1 / (2 * pi * R * C) in Hertz, wobei R die Parallelschaltung der beiden Widerstände in Ohm und C der Kondensator in Farad ist. Sie sollten etwa 1/10 der niedrigsten Frequenz sein, die Sie erkennen möchten.
  • Die beiden Widerstände parallel (und der eine Widerstand, den Sie zuvor verwendet haben) laden die Audioquelle herunter. Wenn es größer als ein paar kOhm ist, würde ich mir keine Sorgen machen.
  • Die beiden in Reihe geschalteten Widerstände ziehen Strom aus der Stromversorgung. Wenn Sie von der Wand weglaufen und den vorherigen Punkt erfüllt haben, ist das kein Problem. Batterien können unterschiedlich sein.

Aktualisieren:

Aus einer ziemlich langen Diskussion in den Kommentaren und einem Link zu einem anderen Forum ( http://www.openmusiclabs.com/forums/viewtopic.php?f=4&t=493&sid=c89646aea90012eb0fbcbf4161ab5b74 ) geht hervor, dass das Problem damit zu tun hat DC-Offset. Der ursprüngliche Schaltplan versucht, dies zu lösen, enthält jedoch eine unnötige Anpassung, die leicht falsch gemacht werden kann. Hier ist ein besserer Weg, es zu tun:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Stellen Sie sicher, dass R1 und R2 gleich bleiben. Die Grenzfrequenz ist oben beschrieben.

Der Zweck der ursprünglichen Anpassung scheint darin zu bestehen, den DC-Offset an den ADC anzupassen, aber ich erwarte genügend Variationen von anderen Quellen, dass es einfacher ist, ihn einfach zu schließen und einen digitalen Hochpass zu verwenden, um den Job zu beenden.

Einige andere Änderungen:

  • Ich habe auf 10k Widerstände statt 100k umgestellt. Dies stellt dem ADC für den DC-Pegel eine niedrigere Quellenimpedanz bereit. Dies erfordert eine größere Obergrenze für denselben Cutoff, was normalerweise kein Problem darstellt.
  • Ich habe einen Widerstand hinzugefügt, um den grundlegenden Anti-Alias-Filter zu vervollständigen. Verwenden Sie die gleiche Gleichung für die Grenzfrequenz, um sie etwa doppelt so hoch wie die höchste Frequenz zu setzen, die Ihnen wichtig ist (10x wäre besser, aber das kann den ADC mit dieser Art von Filter zu viel fordern), und lassen Sie den ADC dann mindestens 10x laufen Grenzfrequenz.

Wie gezeigt, liegen die Grenzfrequenzen bei ~1,5 Hz und ~48 kHz, also sollten Sie diesen ADC-Kanal mit mindestens 500 kHz abtasten. Warum nicht 48 kHz wie Standard-Audio? Denn dieser Filter rollt sehr langsam ab. Nur bei viel höheren Frequenzen dämpft es das Rauschen endlich genug, um Ihr Signal nicht zu stören, wenn es durch Aliasing nach unten verschoben wird. Wenn Sie die FHT nicht so schnell laufen lassen möchten, können Sie einen komplexeren analogen Tiefpass verwenden, oder Sie können einen digitalen Tiefpass verwenden, der so schnell läuft, und anschließend die meisten Samples wegwerfen.

Also ist das Diagramm, auf das ich mich bezogen habe und das eine Reihe von Komponenten auf der linken Seite des Diagramms hat, irgendwie korrekt, aber nicht vollständig korrekt, abhängig von der Mindestfrequenz, die ich erkennen möchte? Was Sie sowohl mit einem Pullup als auch mit einem Pulldown vorschlagen, ist das nicht das, was das Diagramm vorschlägt? Wie ich in der Frage angemerkt habe, ist der YouTube-Typ auf dem richtigen Weg, aber Obertöne werden in das Spektrum eingeführt, wodurch das Spektrum überladen wird. Eine 1-kHz-Sinuswelle wird also bei 0 Hz, 1 kHz, 2 kHz usw. usw. angezeigt, was nicht der Fall ist, wenn der Pulldown nicht vorhanden ist.
@xaid: Den Topf brauchst du wahrscheinlich nicht, aber ansonsten sieht er gut aus. Es ist etwa ein Jahrzehnt niedriger, als es für Audio sein muss (~ 0,3 Hz), aber das ist wahrscheinlich in Ordnung. Abgesehen davon stimmt irgendwo mit den analogen Eingangskomponenten eindeutig etwas nicht, weil Sie die Software nicht geändert haben und Sie je nach Konfiguration des analogen Materials einen Unterschied in der Verzerrung erhalten. RC-Schaltungen fügen solche Oberwellen nicht hinzu; Clipping tut es.
Oder vielleicht ist die Quellenlautstärke zu hoch. Das könnte auch klemmen.
Übrigens, wenn Sie den analogen Audioausgang verwenden möchten, benötigen Sie eine Kappe in Reihe zwischen dem Tiefpass und dem Anschluss, um den 1/2-Versorgungsoffset zu entfernen. Ziehen Sie das dann als RC-Hochpass herunter. Die Quellenimpedanz im Durchlassbereich bleibt ungefähr gleich dem Tiefpass R von selbst.
Ich werde den analogen Audioausgang nicht verwenden. Mit dem Clipping hast du recht. Wenn ich die Lautstärke aufdrehe, werden Obertöne eingeführt. Ich habe eine gute Lautstärke gefunden, mit der ich experimentieren kann. Die konstante Niedrigfrequenzspitze ist immer noch da. Irgendwelche anderen Vorschläge?
@xaid: Ist es eigentlich ein Peak? Oder ein einfacher DC-Offset? Wahrscheinlich möchten Sie sowieso einen digitalen Hochpass, um langsame Schwankungen im DC-Pegel zu entfernen. Ich würde einer analogen Schaltung nicht vertrauen, dass sie genau auf der 1/2-Skala Ihres ADC bleibt.
Abgesehen davon gibt es im Diagramm eine 4,7-nF-Kappe, die mit jeder Quellenimpedanz funktioniert, die Sie anschließen, um einen analogen Tiefpass zu erzeugen. Es ist wahrscheinlich für Anti-Aliasing, aber eine hohe Quellenimpedanz könnte die Abschaltung in das Audioband bringen.
... und eine niedrige Quellenimpedanz könnte sie über die Nyquist-Frequenz drücken, an welchem ​​​​Punkt das Spektrum in Richtung 0 Hz "zurückfaltet", wie vom ADC gemeldet. Wenn das das Problem ist, dann sampeln Sie zu langsam, und Ihre niederfrequente Spitze ist tatsächlich physikalisch hochfrequent.
Ja, es ist ein Höhepunkt. Ich habe mit verschiedenen Widerstandswerten gespielt und zum Beispiel, wenn ich ein Potentiometer (10k) zwischen +5V und dem 10k-Widerstand einhänge (und den oberen 100k-Widerstand ersetzt), kann ich eine leichte Änderung in der Spitze sehen, wenn ich das Potentiometer drehe. Ich vermute, dass das mit dem DC-Offset zu tun hat.
Das Diagramm zeigt 100k-10k-100k zwischen +5V und 0V. Sie nannten es gerade einen 10k-Widerstand. Was hast du eigentlich gemacht?
Was ich getan habe, war, die Widerstandsverbindung + 5 V 100 k zu ändern, sodass sie so aussieht: 10 kPOT-10 k-100 k.
Okay, ich sehe, was du getan hast. Bei der optimalsten Einstellung haben Sie das Äquivalent von 20.000 bis 100.000, wenn Sie wirklich gleiche Werte benötigen. Sie brauchen den Topf nicht; Verwenden Sie einfach zwei Festwiderstände mit gleichen Werten, die die Anforderungen in meinem ursprünglichen Beitrag erfüllen. Verwenden Sie dann einen digitalen Hochpass zwischen ADC und FHT.
Ich habe diesen Thread im Open Music Lab-Forum gefunden, sie sprechen über diese niedrige Frequenzspitze, mit der ich Probleme habe: openmusiclabs.com/forums/…
Ich weiß jedoch nicht, wo sie das Potentiometer angeschlossen haben, das sie erwähnen.
LÖSCHEN SIE DEN TOPF!!!! Du brauchst es nicht! Verbinden Sie einfach zwei gleiche Werte in Reihe über die Stromversorgung und verbinden Sie das Signal mit dem Punkt zwischen den Widerständen. Fügen Sie einen digitalen Hochpass hinzu und Sie sind fertig! Ich werde meine Antwort mit einem Diagramm aktualisieren.
Okay okay nimm es locker hahaha. Ich denke, sie haben das Poti verwendet, um den DC-Offset auszugleichen, und ich glaube, dass der DC-Offset das ist, was ich als Harmonics bezeichnet habe. Aber im Forumsthread haben sie erwähnt, dass sie es geschafft haben, Bin 0 (die konstante niedrige Frequenzspitze) ebenfalls auszugleichen. Ich bin gerade unglaublich verwirrt. Warum funktioniert es einfach nicht? Ich verfolge jeden einzelnen Schritt so genau wie möglich.
@xaid: Klärt das die Dinge auf?
Ich probiere es aus. Ihr Diagramm ist fehlgeschlagen. So'ne Art. Ich habe den 22uF-Kondensator entfernt, das Audio-IN-Signal direkt an den Anschluss angeschlossen, an dem sich Pullup und Pulldown befinden, und ein GROSSER ERFOLG! Bitte bearbeiten Sie das Diagramm und wir sollten eingestellt werden. Bitte ergänzen Sie Ihre Antwort, dass ein Verstärker verwendet werden sollte. Ich bekomme nur eine relativ kleine Spektrumsamplitude. Könnten die passiven Komponenten etwas damit zu tun haben?
Hoppla. Ich liege irgendwie falsch. Wenn Sie AnalogRead() verwenden, um Samples zu erhalten, liefert Ihr Diagramm OHNE die 22uF-Kappe hervorragende Ergebnisse, aber eine ziemlich niedrige Amplitude im Spektrum. Wenn Sie jedoch den Originalcode von Open Music Labs verwenden, senkt die 22-uF-Kappe die Niederfrequenzspitze, ergibt jedoch eine höhere Spektrumsamplitude. Ich denke, es hat auch ein bisschen mit der Abtastrate zu tun.
Ich habe gerade bemerkt, dass ich eine 3,3-uF-Kappe anstelle einer 3,3-nF-Kappe verwende. Leider habe ich keine 3,3-nF-Kappe, also habe ich sie ganz entfernt, und der Rauschpegel + Peak ist immer noch vorhanden, ABER das Audiosignal scheint im Spektrum viel lauter zu sein, sodass ich den Kick wirklich unterscheiden kann Musik, unabhängig vom Genre, die großartig ist. Wenn nur das Rauschen gelöscht werden könnte! Das wäre toll!
Klingt so, als hätten Sie immer noch ein Problem mit dem DC-Offset, und Sie raten nur über die Ursache und mögliche Lösungen. Wenn Sie ein Oszilloskop haben, können Sie den Offset messen (möglicherweise können Sie ein Voltmeter verwenden, wenn kein Audio vorhanden ist). Finden Sie heraus, was der DC-Offset ist. Überprüfen Sie den Eingangsbereich des ADC - er kann 0 bis 5 V oder 0 bis 3,3 V oder etwas anderes betragen. Dann können Sie sicherstellen, dass Ihr DC-Offset in der Mitte des Bereichs liegt. Hör auf zu raten und fang an zu messen.
@JRE Ich habe kein Oszilloskop, das ist mein größter Nachteil. Ich denke, ich muss mir eine besorgen. Siehst du was ich dort gemacht habe? hehe ... Ich habe ein Voltmeter, könnten Sie mir eine einfache Anleitung geben, wie ich den DC-Offset mit einem Voltmeter messen kann?
Einfach genug. Schließen Sie alles so an, als würden Sie es verwenden, aber stellen Sie sicher, dass kein Audio auf der Audioleitung vorhanden ist - es MUSS angeschlossen sein, wenn alles läuft, nur kein Audio. Messen Sie die Gleichspannung an C2 (4,7 nF). Messen Sie auch die Gleichspannung dort, wo sie in den ADC geht (nach dem analogen Eingangsmultiplexer). Überprüfen Sie die technischen Daten und das tatsächliche Diagramm des ADC - die technischen Daten sollten Ihnen den Eingangsbereich mitteilen. Es kann auch von der Referenzspannung abhängen, die die Schaltung an den ADC liefert, also überprüfen Sie das auch.
@JRE Die Gleichspannung an C2 beträgt 2,36, die Gleichspannung, an der sie in den ADC eingeht, beträgt 2,36, die Referenzspannung beträgt 5 V, der ADC-Eingangsbereich beträgt 5 V. Was muss ich noch tun?
@xaid: Wenn Sie sich in meiner Zeichnung auf C2 beziehen, ist das ungefähr richtig. Wie viel % des Skalenendwerts liest der ADC? Sollte fast halb so groß sein, aber es ist wirklich schwer, genau das zu treffen, was in der FHT erscheinen wird, daher meine Empfehlung für einen digitalen Hochpass vor der FHT.
Der nächste Schritt darüber hinaus, vorausgesetzt, der ADC liest korrekt, besteht darin, eine vorhersagbare Wellenform in den Audioeingang einzufügen, z. B. eine Sinuswelle, ein Dreieck, einen Sägezahn oder ähnliches. Zeichnen Sie dann die Wellenform auf dem ADC auf (roh, nicht FHT) und vergleichen Sie sie mit einem Oszilloskop.
Vor einigen Jahren habe ich bei eBay ein 4-Kanal-Oszilloskop für etwa 150 $ (US-Dollar) einschließlich Sonden und Versand bekommen. Sie brauchen dafür nur einen Kanal, wenn Sie ihn an verschiedene Punkte in der Schaltung verschieben, aber es ist schön, ein paar mehr zu haben. Eine sehr gute Investition.
Was bedeutet % vom Skalenendwert? Bitte erkläre. Meinst du, wenn ich ADC mit 5 Volt füttere, sollte es 1024 in der seriellen Ausgabe lesen? Ebenso sollte der Ausgang 0 sein, wenn ich Masse anschließe? Wenn das richtig ist, dann schätze ich, dass % 100 % ist, weil 5 Volt den Wert 1023 und Masse den Wert 0 ergeben.
Wenn es sich um einen 10-Bit-ADC handelt, beträgt die Vollskalierung 1023 und die Halbskalierung (50 %) 511. Wenn es sich um einen 12-Bit-ADC handelt, ist die Vollskalierung 4095, also die Halbskalierung (50 %). 2047. Wenn Ihre Referenzspannungen +5 V und 0 V betragen, wäre der Vollausschlag +5 V und 0 wäre 0 V, aber es gibt viele ADCs, die andere Referenzen als die Netzteile verwenden.
Sie möchten, dass der analoge Hochpass ohne Signal in der Nähe der halben Skala (50 %) angezeigt wird. Es muss nicht genau sein, weil Sie das mit einem digitalen Hochpass beheben, aber je weiter Sie davon entfernt sind, desto einfacher ist es zu schneiden.
Laut der Dokumentation des von mir verwendeten Chips hat der ADC eine Auflösung von 10 Bit. Siehe Seite 317, 29.8: atmel.com/images/…
OK. Die Dinge sind etwas klarer. Der ADC gibt Ihnen Werte, die eine Spannung zwischen 0 und 5 V darstellen. Ihr Wechselstrom reitet auf einer Gleichspannung von 2,36. Eine FFT dieses Signals hat bei niedrigen Frequenzen einen großen Buckel. Sie müssen es so machen, dass die abgetasteten Werte um 0 zentriert sind. Tun Sie dies: 1) Ändern Sie R1 (etwas niedriger, um 9K), so dass die gemessene Gleichspannung genau 2,5 V beträgt. 2) Subtrahieren Sie den Wert, den der ADC Ihnen für 2,5 V gibt, von den eingehenden Werten. Dies sollte den "Buckel" bei niedrigen Frequenzen minimieren. Möglicherweise können Sie anstelle der Subtraktion einen Hochpassfilter implementieren.
Tatsächlich ist die einfachste Implementierung eines Hochpasses, die mir gerade einfällt, eine Subtraktion, bei der der zu subtrahierende Wert durch einen exponentiellen durchschnittlichen Tiefpass bestimmt wird.
Ich würde das etwas anders angehen, obwohl JREs auch funktionieren sollten. Ich würde sehen, was der ADC mir sagt, und die Schaltung so einstellen, dass der ADC fast die halbe Skala anzeigt. Dies kann geringfügig von der halben Versorgung abweichen. Berücksichtigen Sie dann den verbleibenden Fehler in der Software, wie JRE sagte.
Ok, ich habe versucht, den R1-Wert zu ändern, dadurch wurde der Peak größer. Beim Lesen des ADC ohne Signal schwebt er um die halbe Skala herum, 450 etwas, während die halbe Skala um 511 herum liegt. Ich denke also, es ist in Ordnung, oder? Da ich in Bezug auf den Hochpassfilter niedrige Frequenzen erkennen muss, würde das nicht dem entgegenwirken, was ich zu erreichen versuche?
Nicht, wenn Sie niedrig genug einstellen. Der analoge Hochpass (C1, R1, R2) ist auf etwa 1,5 Hz eingestellt, wie ich es gezeichnet habe. Wenn Ihr digitaler Hochpass dort oder niedriger ist, sollte es kaum einen Unterschied machen, außer den DC-Offset zu entfernen.
sollten wir es mit einem etwas größeren Wert versuchen? Sprich 25Hz?
Diese Art von Filter ist sehr einfach herzustellen, hat aber einen ziemlich großen Frequenzbereich, den er nicht vollständig durchlässt, aber auch nicht wirklich beseitigt. Daher wird es normalerweise weit von den interessierenden Frequenzen entfernt eingestellt, damit es sie nicht durcheinander bringt. Davon abgesehen ist die 1,5-Hz-Zahl eine Annäherung der verfügbaren Komponenten an 2 Hz, was ein Jahrzehnt unter 20 Hz liegt, was die traditionelle Untergrenze für Audio im Allgemeinen ist. Sie können dort Ihre eigenen Nummern einstecken und die Schaltung entsprechend ändern.
Ich muss nur bis nächste Woche warten, bis ich mir ein Oszilloskop und einige weitere Komponenten besorge, um das weiter auszuprobieren. Ich verstehe nicht, was so schwierig sein soll.
Ich denke, ein großer Teil Ihrer Schwierigkeiten besteht darin, alles gleichzeitig zum Laufen zu bringen. Sie haben das gesamte Projekt erstellt, bevor Sie etwas getestet haben, und jetzt funktioniert "etwas" nicht. Jedes Mal, wenn ich das getan habe, habe ich am Ende alles neu gemacht, weil ich früh auf ein einfaches Missverständnis reagiert habe, das mehr Fehler in allem verursacht hat, was von diesem Teil abhing. Ich nahm alles wieder auseinander, bis es sehr wenig richtig machte, baute es dann Schritt für Schritt wieder auf und testete dieses Mal auf dem Weg dorthin. Die ganze Arbeit, die in die erste Version geflossen ist, hat also nichts bewirkt, außer der Aufklärung darüber, wie man es nicht macht.
@AaronD du hast Recht, das ist eines meiner größten Probleme, und ich gebe es zu. Ich habe aber gute Neuigkeiten. Ich glaube, Ihr Diagramm ist korrekt, und ich habe etwas in der Software geändert, um das Lin8-Spektrum anstelle von Log zu verwenden, und das hat alles mit dem Peak und allem behoben. So jetzt ist es schön und gut und ich kann die Frequenzen perfekt ablesen. Versuchen Sie vielleicht, die Antwort hinzuzufügen, die eine andere Methode als Log als Parameter verwendet?
@xaid: Ich denke, Sie haben immer noch ein Problem in Bezug auf die Kontamination des Signals. Die lineare Skala macht es nur schwieriger, das zu sehen. Aber je nachdem, was Sie tatsächlich damit machen, könnte es gut genug sein. Als letzte Anzeige wäre die logarithmische Skala viel nützlicher, aber wenn Sie etwas anderes auslösen, sind es wahrscheinlich die gleichen Zahlen hinter den Kulissen, unabhängig von der Skala.
@AaronD Ich glaube, es ist gut genug. das Rauschen ist kaum sichtbar, die Kick springt über 128 im Wert. Das ist alles, was ich wirklich brauche. Ehrlich gesagt würde ich gerne die Auflösung im unteren Bereich des Frequenzspektrums erweitern, damit die Kick besser unterschieden werden könnte, aber hey, nach über einer Woche des ständigen Testens und Ratens und was nicht, ich glaube, ich kann es nicht verlangen Sie mehr als das, zumindest für den Moment. Vielen Dank für Ihre Mühe, die ich sehr zu schätzen weiß!
Froh, dass ich Helfen kann! .