Guest mididoc Posted October 10, 2004 Report Share Posted October 10, 2004 Hallo erstmal, bin noch relativ neu in diesem Thema was Midi úsw betrifft, jedoch hätte ich da ein Projekt vor Augen, daß ich gerne durchführen möchte.Es handelt sich dabei um eine Marimba mit 5 Oktaven.Das Instrument möchte ich gerne selbst in Orginalgröße anfertigen, dabei soll es rein über MIDI spielbar sein.Nuna ber zum eigentlichen Problem, wie krieg ich dasn nun hin das bei Anschlag eines jeden Holzklötzchen ein Signal erzeugt wird, das sich in Midi wandeln läßt ?Als Abnehmer schwebt mir entweder ein Elektret Kondensatormikrofon oder ein Piezo Folien Lautsprecher vor.Existiert die möglichkeit der Anschlagdynamik anhand des Signalpegels der dabei entsteht ?Kann mir bitte jemand helfen oder ein paar Tipps dazu genen ?MfGMartin Quote Link to comment Share on other sites More sharing options...
Guest steff Posted October 11, 2004 Report Share Posted October 11, 2004 Habe ich selber schon gebaut!Ruf mich einfach an 05022 94083Stephan verlangen! Quote Link to comment Share on other sites More sharing options...
Screaming_Rabbit Posted October 11, 2004 Report Share Posted October 11, 2004 Fände cool, wenn Ihr das im Forum diskutieren könntet.... wäre somit dokumentiert und für ander Marimbianer zugänglich. - Was meint Ihr? ;)Greets, Roger Quote Link to comment Share on other sites More sharing options...
Guest mididoc Posted October 11, 2004 Report Share Posted October 11, 2004 Hi Steff,da bin ich ja nach langem Suchen schon an die richtige Person geraten, freut mich !Wenn es Dir nichts ausmacht und ich glaube auch andere hier im Forum würden dem beistimmen, wenn Du uns von Deinem Eigenbau ein wenig Beschreiben könntest. Villeicht mit ein paar Bilder und Schaltpläne, ich hoffe Du kannst mir weiterhelfen. :DGrußMartin Quote Link to comment Share on other sites More sharing options...
Guest steff Posted October 12, 2004 Report Share Posted October 12, 2004 OK ich mache in den nächsten Tagen eine Beschreibung fertig. Quote Link to comment Share on other sites More sharing options...
Guest steff Posted October 13, 2004 Report Share Posted October 13, 2004 So hier also meine Erfahrungen mit dem Bau einer MIDIMARIMBA!So ein Ding gibt es eigentlich schon fertig, von verschiedenen Firmen. Siehe:http://www.stoffelshome.de/alt_controller/alt_midi_controller.html Seht euch den thread:Midibox Drum Triggers in diesem Forum an!!Die Jungs sind auch gerade dabei sowas zu bauen!Ich habe eine Marimba billig erstanden, deshalb mußte ich keine Holzstäbe sägen.Wenn Ihr nur über MIDI spielen wollt, ist das Material der Klangstäbe, die Tonhöhe usw, völlig egal.Als Sensoren habe ich PIEZO Schocksensoren von dem Elektronikversender Reichelt eingesetzt.www.reichelt.de BestNr.: PKS1Diese Sensoren sollten auf der Unterseite der Klangstäge befestigt werden. Doppelseitiges Klebeband funktionierte nicht, da das Material die Schwingungen zu sehr abdämpfte. Bitte Superkleber verwenden.Ich habe auch versucht das Gehäuse der PIEZO Sensoren zu entfernen, und nur die Plätchen aufzukleben.Das Sensorsignal war dann aber auch schwächer.Seltsamerweise funktionieren diese Sensoren auch gut als Kontaktmikrofon. Ich habe alle Sensoren in ein Mischpult geführt und hatte einen super Marimbasoundganz ohne die Gefahr von Rückkopplungen wie bei einem normalen Mikrofon!Zur Auswertung der Sensoren kann ein Drum to MIDI Konverter verwendet werden zB. mit 16 Kanälen von der Firma Yamaha.Oder Selberbauen!:Das Signal des Sensors ist eine sich schnell ändernde Wechselspannung im Bereich bis 100V. Dieses Signal muß zur Verarbeitung durch einen Controller aufbereitet werden. Ich habe eine Schaltung aus einem Trigger to MIDI Converter der Firma Yamaha kopiert. Siehe mein Schaltplan aufwww.minidat.de/apm/sensor.jpgDiese Schaltung muß für jeden Ton aufgebaut werden. bei 3 Oktaven also 36 mal!!!Durch die Diode nutze ich nur die positive Halbwelle des Signals. Die Zehnerdiode Schütz die nachfolgende Elektronik vor den Spannungsspitzen des Sensors. Der Kondensator speichert die Energiedes Sensors zur Auswertung durch den Controller. Wenn Ihr keine Anschlagdynamik braucht, genügen digitale Eingänge an Controller wenn Ihr die Dynamik auswerten wollt, werden Analogeingänge benötigt.36 Analogeingänge, hat kein Controller auf dem Chip Integriert. Ich habe mehrere Siemens 80515 mit 8 AD Eingängen genutzt und die von denen erzeugten Mididaten durch einen Merger zusammengeführt.Ich habe von Torstens Elektronik keine Ahnung! Vieleicht ist es damit ganz leicht möglich.Eine serielle Abfrage von AD Kanälen muß sehr schnell sein, um die kurzen Impulse der Sensoren überhaupt mitzubekommen. Quote Link to comment Share on other sites More sharing options...
Guest mididoc Posted October 13, 2004 Report Share Posted October 13, 2004 Hallo Steff,erstmal Danke, dass Du Dir die Mühe gemacht hast uns Deinen Aufbau zu erläutern.Habe gerade Die Schaltung von Deinem Link nachgebaut und ich erhalte ein Steil ansteigendes und anhand des Kondensators langsam abfallendes Signal.Die Montage vom Piezoblättchen ist wirklich noch einige Versuche wert, bevor ich die richtige Variante gefunden habe. Auf jeden Fall muß eine feste Verbindung Plan mit den Holzklötzchen gemacht werden, so wie du es geschrieben hast.Was mich interressiert, kann ich jetzt direkt an die "MBHP_AINX4" Elektronik Eingänge fahren ?Wenn ja, wie wird eigentlich die Anschlagdynamik von dieser Elektronik erfasst ? Signalstärke oder wie ???GrußMartin Quote Link to comment Share on other sites More sharing options...
Guest steff Posted October 14, 2004 Report Share Posted October 14, 2004 Du bist aber schnell im Bauen :DAlso wie gesagt, ich habe keine Ahnung von Torstens Hard- und Software, da ich alles selber gebaut und programmiert habe! Und wie gesagt, klink dich in das Forum zum Drumtrigger ein. Die Erfassung der Stärke des Anschlages erfolgt wie du vermutest hast, über die Auswertug des AD Wandler Signals. Es reicht aber nicht nur dauernd die Werte des AD Wandlers zu Messen und in MIDI zu wandeln, ???Es muß ein Maximum bei den Messwerten erkannt werden.Der Algorythmus sieht ungefähr wie folgt aus:Ist der Aktuelle Messwert größer als der alte, dann merke dir den neuen. Ist der nächste Messwert kleiner als der letzte, und ist eine gewisse Schwelle überschritten, so löse eine MIDI-Note aus, mit der Anschlagstärke, die gemessen wurdeDamit das ganze funktioniert muß die Abtastrate des AD/Wandlers um einige Größenordnungen höher sein, als das Signal was du an deiner Schaltung gemessen hast. Also Abtastrate um die 10uS.Falls Du noch Fragen hast, keim Problem. Quote Link to comment Share on other sites More sharing options...
TK. Posted October 16, 2004 Report Share Posted October 16, 2004 Der spezielle Drum Algorithmus in der MB64 arbeitet aehnlich wie von Steff beschrieben (er befindet sich in drums.inc):; This include file provides following functions:; o DRUMS_Init: initializes the drums driver; o DRUMS_Timer: called by USER_Timer or USER_SR_Service_Finish periodically to update the DRUM_STATE; o DRUMS_AIN_NotifyChange: called from USER_AIN_NotifyChange on AIN events; o DRUMS_Tick: called by USER_Tick to handle the drum trigger events;; number of analog inputs which are assigned to drum triggers#define DRUMS_NUMBER_AIN 8;; threshold value for rising signal - when will an "On" event be regognized?#define DRUMS_THRESHOLD_RISING 64;; threshold value for falling signal - when will an "Off" event be regognized?#define DRUMS_THRESHOLD_FALLING 16;; measuring time - defines, how long an analog value should be measured before ; the maximum value will be sent out) - absolute time depends on the period time ; of DRUMS_Timer. If DRUMS_Timer is called from USER_SR_Service_Finish,; the time is: 1 mS * DRUMS_MEASURING_TIME#define DRUMS_MEASURING_TIME 10;; using the MB64_POT handler to send an event (allows menu configuration; of the MIDI events) or just send trigger the notes directly?#define DRUMS_USE_MB64_POT_HANDLER 0;;; Some comments to the concept: this driver consists of a finite state ; machine which measures the maximum peak value of an analog drum trigger; signal and sends an "On" event after a certain delay defined by MEASURING_TIME.; An "Off" event will be sent once the analog value falls below the THRESHOLD; value.; ; a) STATE == MEASURING_TIME+3; set by DRUMS_AIN_NotifyChange once the drum output passes the; THRESHOLD_RISING value or once the new measuring result is greater ; than the last recorded MAX_VALUE; Exception: don't record MAX_VALUE if STATE == 0x01; (On event has already been sent); ; b) STATE >= 0x03; DRUMS_Timer decrements the STATE periodically until it is <= 0x02; ; c) STATE == 0x02; DRUMS_Tick sends an "On" event with the maximum value which has; been recorded by DRUMS_AIN_NotifyChange during STATE was >= 0x03; Thereafter it sets the STATE to 0x01;; d) STATE == 0x01; DRUMS_AIN_NotifyChange waits until the drum trigger falls below; the THRESHOLD_FALLING value and sends the "Off" event; Thereafter it sets the STATE to 0x00;; e) STATE == 0x00; Idle state - DRUMS_AIN_NotifyChange waits until the drum trigger; passes the THRESHOLD_RISING value again.; If so, the MAX_VALUE will be updated and the STATE will be; set to MEASURING_TIME+3 --- continue at a);; Exception: ; if the analog signal falls below the THRESHOLD_FALLING value ; during STATE > 1, force state to 0x02, so that an On and Off; event will be sent;Allerdings betraegt die Sample Rate lediglich 200 uS, da der AIN Handler von MIOS so ausgelegt ist, dass er die restlichen Tasks moeglichst wenig stoert. Mit einer zusaetzlichen Hardware (einem sog. Integrator) laesst sich das jedoch relaxen, jedoch auf Kosten der Latenz (immerhin noch < 3 mS)Hier noch ein weiterer Link zum Thema EDrums:http://edrum.midibox.orgAdmir hat sich auf das Thema spezialisiert und hat eine hochoptimierte Firmware programmiert.Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
Guest mididoc Posted October 16, 2004 Report Share Posted October 16, 2004 Hallo zusammen,mit dem Programmieren der PIC Kontroller habe ich leider noch keine Erfahrung, habe mir aber jetzt einige MB Platinen bestellt und schau mir das ganze mal an wie ich zurechtkomme.Wenn ich soweit bin, melde ich mich wieder, villeicht könnt ihr mir ja dann ein wenig weiterhelfen.Inzwischen Danke für die Tips ! :)GrussMartin Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.