Aufzeichnung von Trommelschlägen

Motivation

Auf Anfrage von Sebastian Kirchner wird eine Schaltung entwickelt, die Trommelschläge aufzeichnet. Der genaue Versuch wird hier später erklärt. Zur Zeit findet man allerdings schon etwas auf seiner Homepage http://www.eva.mpg.de/psycho/staff/kirschner/publications.html (dort das z.Z. erste PDF: Joint Drumming)

Anforderungen

1. Teil: Ausgabe

  • Ausgabe einer Folge von Schlägen, die vorher definiert wird
  • Ausgabe mittels Aktiv-Boxen (PC Lautsprecher)
  • ca. 100-160 Schläge / Minute

2. Teil: Aufzeichnung

  • Aufzeichnung der Abstände von Begin bis zu den jeweiligen Schlägen auf die Response-Trommel
  • evtl. Aufzeichnung der Amplitude
  • Auflösung min. 5ms
  • ca. 100-160 Schläge / Minute

3. Teil: Steuerung

  • Steuerung per PC
  • evtl. Anzeige auf kleinem Display
  • Taster zum Start der Aufzeichnung am Gerät

Der Aufbau soll unterteilt werden in 2 Teile:

1. Steuerungseinheit 2. Tonabnehmer mit möglichst unempfindlichen Teilen, weil der Teil dann in die Trommel eingebaut werden muss.

Wieviel logik der Tonabnehmer haben wird, ist egal. Hauptsache ist, das Signal kommt irgendwie sauber zur Steuerung. Dazwischen sollen min. 2m Kabel sein - vermutlich eher mehr.

Umsetzung

Die folgende Ideen für die Anwendung sind wahrscheinlich überdimensioniert, allerdings ist dadurch noch Platz für Erweiterungen.

Speicherung

Speichermedium: SD Karte (über SPI angesteuert)

Hier bedarf es nur einer winzigen Kapazität, die preiswert verfügbaren 1GB Karten reichen locker.

Verarbeitung

Prozessor: ATmega644P (64kB Flash, 4kB SRAM, 10bit ADC, bis 20MHz)

Ausgabe

Die Ausgabe erfolgt mittels eines einfachen R 2R DAC [5], an den über einen Spannungsfolger die Aktivboxen angeschlossen werden.

Ich denke für ein Abspielen eines einfachen (niederfrequenten) Samples, braucht man nicht sonderlich viel Rechenleistung, so dass das mehr oder weniger nebenbei laufen kann. 10kHz Samplerate dürfte locker reichen.

Aufnahme

Um das ganze in eine für den Mikrocontroller taugliche Form zu bringen werden vermutlich Operationsverstärker gebraucht. Die Schaltung unter [3] gibt eigentlich genau das aus, was gebraucht wird. Ein Trigger Signal in Rechteck und ein Analoges Signal, das von der Intensität abhängt.

Die Digitalisierung würde ich über den internen ADC machen, der Atmega644 schafft laut Datenblatt je nach Genauigkeit etwa um 1,3ms je Wandlung (Worst Case).

Mit einem relativ einfachen Aufbau lassen sich schon relativ ansehnliche Ergebnisse erzielen:

Hier die „Trommel“, die ich mir hilfsweise gebaut habe:

Den Piezo Kristall habe ich mit alleskleber auf der Unterseite des Joghurtbechers festgeklebt. So nimmt er den Schall am besten auf. Es ist ziemlich egal, wo auf dem Becher man trommelt. Es werden schon die kleinsten Berührungen erkannt.

Schaltplan

Das Signal Pulse wurde an den ADC0 eines ATmega8 angeschlossen, interne Referenz (2,56V), 62.5kHz ADC Takt. Die Ergebnisse wurden über RS232 direkt zur Auswertung an den PC gesendet.

Aufzeichnung von mehreren "Trommelschlägen" über den internen ADC

Die Stellen, an denen zwei Peaks direkt hintereinander folgen, dürften daher kommen, dass an der selbstgebauten Trommel die Finger schnell ein ganz klein wenig ankleben.

Aufgrund des oben zu sehenden Graphen werde ich einen Komparator verwenden, der den µC triggert, sobald eine gewisse Schwelle überschritten ist. Diese Schwelle sollte idealer Weise einstellbar sein. Da der Controller damit um die regelmäßige AD Wandlung erleichtert wird, ist wieder mehr Luft zur Ausgabe und den anderen Aufgaben. Es muss dann quasi nur noch die Zeit gespeichert werden, die seit dem Start vergangen ist, sobald der das Triggersignal erkannt wird.

PC Steuerung

  1. Anschließen an Schaltung per RS-232?
  2. Übertragung des Trommel-Samples an die Steuerung
  3. Einstellung des Verlaufs, wann das Sample abgespielt wird. Entweder erfolgt das über eine Kurve, die editiert werden kann, oder über eine Tabelle, in die die Zeitabstände eingetragen werden.
  4. Auslesen der Zeitabstände zwichen den Trommelschlägen, die auf der Response-Trommel aufgenommen wurden.

Aktuelle Schaltung

Leiterplatte

Quellen

 
projekte/beatsaver.txt · Zuletzt geändert: 2017/04/15 22:59 (Externe Bearbeitung)
Recent changes RSS feed Creative Commons License Driven by DokuWiki Made on Mac