Forum
Chromatischer Tuner/BPM counter (Elektronik)
Ich will ja nicht ne kontinuierliche Spektralanalyse, sondern ich weiß ja von vornherein schon welche Töne,
bzw welche Frequenzen auftreten werden. Ein Klavier hat z.B. 88 Tasten.
Man muss also nur nach diesen 88 Frequenzen suchen. Dazu kommen noch kleine Abweichungen von höchstens +-20 cent, alles andere ist verstimmt.
Wir gehen von gut gestimmten Instrumenten mit gut intonierten Solisten aus.
Wenn man eine Taste anschlägt, kommt am Anfang so viel Scheisse an (Scheisse die den guten Klang ausmacht, aber in der digitalen Analyse nur im Weg steht). Kann man das nicht einfach verwerfen? Einfach einen Filter für jede Taste, 88 Filter, die parallel arbeiten. Ist mein Gedanke hirnrissig?
EDIT:
Eine kleine Ergänzung zu meinem ursprünglichen Gedanken. Ich hab meine Idee in einer schlaflosen Nacht mal weiter vertieft. Dabei ist mir ein einfacher Weg eingefallen, Fouriertransformationen völlig weg zu lassen.
Gleichzeitig sind mir einige Schwachpunkte aufgefallen.
1.Die Einschwingzeit
2.Die Zuverlässigkeit und das Rauschen. Ein Filter verursacht manchmal fehlerhafte Ergebnisse... z.B. durch Umwelteinflüsse, oder durch die Laune der Natur.
Bei 88 Filtern dagegen ist die Wahrscheinlichkeit für
Fehler praktisch vorprogrammiert hoch.
3.Wenn man 88 Filter nebeneinander stehen hat, beeinflussen die sich nicht gegenseitig? entweder durch Dipolstrahlung, oder einfach dadurch ,dass sie schaltungsmäßig nicht voneinander getrennt sind? Es kommt auch darauf an wie die genau verschaltet sind.
Dazu habe ich mir folgende Schaltung überlegt:
Es ist nicht so kompliziert, dass man es als Skizze hochlädt.
Jeder der 88 Filter, der aus einem Kondensator und Spule besteht ist mit dem einen Ende an einem Operationsverstärker verbunden, der die
Audiosignale verstärkt.
Die anderen Enden der Filter sind jeweils mit einem FlipFlop verbunden, der den Zustand der Filter (ob sie in diesem kleinen Zeitraum momentan angesprochen sind oder nicht) digitalisiert speichert. Der FlipFlop
sollte eine gewisse Mindestspannung haben, damit nicht jedes kleine Etwas als Zustand 1 gespeichert wird.
Über diesen 88 Flipflops sind nochmal 88 FlipFlops, die den vorherigen Zustand speichern.
Diese 2 Reihen von 88 FlipFlops sind mit 88 Vergleichsoperationen verbunden, eine einfache "="-Operation. Also jeder Flipflop ist mit seinem Partner aus der darüberliegenden Reihe über diese Vergleichsoperation verbunden.
Jeder Vergleich liefert jeweils 0 oder 1. Man muss insgesamt 88 Vergleichsoperationen überprüfen. Diese 88 Vergleichsergebnisse laufen in einen 7-bit Addierer, mit 88 Eingängen.
Je mehr Unterschiede zum vorherigen Zustand der gespielten Töne festgestellt werden, umso höher ist die Summe des Addierers. Diese Summe wird von einem Microcontroller in einen Datensatz mit zeitlicher Auflösung verwandelt. Also im Prinzip eine 2-Darstellung der Events.
X-achse = zeit
Y-achse= Events, und deren Signifikanz(Summe der Unterschiede).
Im nächsten Schritt wird die Reihe Flipflops, die eben grade beschrieben wurde so gelassen wie sie ist.
Stattdessen wird die andere Reihe, die nochweiter vorher beschrieben wurde, neu beschrieben(Diesen Wechsel der
zu beschreibenden Reihe kann man bestimmt einfach realisieren) Die beiden werden wieder verglichen ... usw.
Gesamter Thread:
