-
Posts
15,247 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Habe im verlinkten Posting auf ein weiteres Posting referenziert, in dem ein besserer FTP Client empfohlen wurde. Unter Linux verwende ich immer ncftp, doch mittlerweile gibt es sicherlich modernere Clients... Selber bauen: schwierig, aber nicht unmoeglich. ;-) Die MIOS32 Toolchain verwendet eine aeltere Newlib Version, die ergonomischer mit dem Speicher umgeht. Habe Dir Zugriff auf die Programmers Lounge gegeben, dort findest Du den dazugehoerigen Thread: Gruss, Thorsten.
-
Could be related to the same issue: No issue at my and Phil's side - a better FTP client might help to get the complete package (see Phil's posting) Best Regards, Thorsten.
-
Da nun schon vier Leute sehr aehnliche Interessen verfolgen, werde ich wohl ein eigenes Projekt daraus machen. Fest steht, dass verschiedene Algorithmen notwendig sein werden, um die unterschiedlichen Tastaturen zu scannen. Transponierung sowie Pitch-Bender und Modwheel (mit Potis oder Folien) sind Pflicht, Poti/Encoder-Erweiterungen ebenfalls erwuenscht. Eine CV Option ist einfach zu integrieren, und wahrscheinlich waere es das weltweit erste Keyboard mit Ethernet-Anschluss zum Versenden von OSC Meldungen :whistle: Die Konfiguration koennte ueber das MIOS Terminal geschehen, so dass kein eigener SysEx Editor notwendig ist. Sie liesse sich im EEPROM speichern, das sich auf dem LPCXPRESSO-Board befindet. Bitte dokumentiert die Konstruktion eurer Keyboards (viele Fotos machen, evtl. auch Schaltplaene!), so dass spaeter auch andere etwas davon haben. Gruss, Thorsten. P.S.: wie waere es mit einem integrierten Arpeggiator und Mini-Sequencer? :sorcerer:
-
Tutorial #029: Fast Scan Matrix for velocity sensitive Keyboard
TK. replied to TK.'s topic in MIOS programming (C)
Hi, here my silly answers: It wasn't necessary when I tested it with the Korg keyboard. If you notice a bouncing issue, please let me know and I will improve the example! It could be solved by adding a simple check: the note on event should only be sent once after the "early contact" has been activated, and note off should only be sent once after the "final contact" has been deactivated. (no debounce counter is required) If I understand your question correctly, you propose to change the din_activated_timestamp array into a u16 array, right? This shouldn't hurt. Thats no issue in the way how I've implemented the delay measurement. As long as we are calculating with values in the same resolution range (int and u32 are both 32bit values), the wraparound will take place by construction; the delay will always be correct. Best Regards, Thorsten. -
Weiterfuehrende Hilfe meinerseits leider erst am Montag. Gruss, Thorsten.
-
Hallo, da hat sich aber jemand viel Arbeit gemacht... das dort beschriebene Protokoll entspricht dem der Mackie/Logic Control, dafuer gibt es auch eine App fuer MIOS32, die jedoch bisher nur mit einem 240x64 Graphic LCD kompatibel ist, das es heutzutage nicht mehr zu kaufen gibt: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_lc_v2%2F Irgendwann werde ich auch mal eine Anpassung fuer zwei 2x40 LCDs vornehmen, doch das ist fuer mich Low Prio. Falls Du jedoch Programmierkenntnisse hast, koenntest Du die Anpassung auch selbst vornehmen. Das Original 2x55 LCD ist uebrigens sehr schwer aufzutreiben - wenn Du in diesem Forum nach dem Begriff "Logic Control" oder "MIDIboc LC" suchst, wirst Du ziemlich viele Postings zu diesem Thema finden. Die MIOS8 basierte, jedoch veraltete und heutzutage nicht mehr empfehlenswerte Variante gibt es schon seit 2003, siehe auch diese Seite: http://www.ucapps.de/midibox_lc.html Zur "Icon" kann ich nichts sagen, ich hoere den Begriff in diesem Zusammenhang das erste mal! ;-) Gruss, Thorsten.
-
Das zeige ich Dir wenn es soweit ist... ;-) Aber im Grunde ist da kein besonderer Trick dahinter: wenn das Folienpoti losgelassen wird (Konversionswert unter der Schaltschwelle, also nahe 0), sollte die Firmware MIOS32_MIDI_SendPitchBend(DEFAULT, pin, 0x2000) senden (0x2000 ist der mittlere Pitchbender-Wert) Inwiefern mischen? Die Kollektoren der Potis werden an separate Eingaenge (J5A.0 und J5A.1) angeschlossen, die aeusseren Pins werden zusammengeschlossen. Eine Seite wird mit Vss (Masse), die andere mit 3.3V verbunden - fertig. Gruss, Thorsten.
-
I won't have the time to teach you how to program and debug such functions. And I hope that this doesn't sound arrogant! Best Regards, Thorsten.
-
question on trigger layer and accent for drum track
TK. replied to pcbatterij's topic in MIDIbox SEQ
You've to initialize the track for two trigger layers, namely "64/2*64" or "128/2*128" - thereafter the accent can be set in the second trigger layer. Best Regards, Thorsten. -
Wenn Du das Keyboard mit diesen Folien ausstatten moechtest, ist die Jitterfreiheit unwichtig, denn die MIDI-Daten muessen ja nur dann gesendet werden, wenn Du die Folie beruehrst. Somit duerften die analogen Eingaenge des LPC17 Chips ausreichen, und diese werden nach diesem Beispiel zu MIDI Daten konvertiert: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F011_ain%2F Die Folien lassen sich wie Potis an J5A.0 und J5A.1 anschliessen, wichtig ist nur, dass der "mittlere" Kontakt (im Datenblatt Collector genannt) ueber einen hochohmigen Widerstand (bspw. 1MOhm) auf Masse gezogen wird, so dass die Firmware einen definierten Wert erhaelt, wenn Du die Folie loslaesst. Die MIDI-Daten sollte dann nur ab einer bestimmten Schaltschwelle gesendet werden, ausserdem macht eine Filterfunktion Sinn, die verhindert, dass zu schnelle Werteaenderungen (bspw. beim Loslassen der Folie) ueber MIDI rausgehen. Ich koennte Dir hierfuer ein konkretes Programmierbeispiel geben wenn es bei Dir soweit ist, da ich vor einiger Zeit so ewas aehnliches schonmal fuer MIOS8 programmiert habe: Gruss, Thorsten.
-
It's a good habit to pass the information to the forum if you already solved an issue instead of letting other people reply to an obsolete question. Otherwise your avatar will be signed with the dreaded "wait 3 days before reply" tag. :rolleyes: Best Regards, Thorsten.
-
These are additional gate pins which can be accessed via AOUT Channel 16 The "common" gate pins (J5A/B) are accessible over the remaining channels, the details (mapping of gate pins) are described in the manual: http://www.ucapps.de/midibox_seq_manual_m.html Search for the keywords "AOUT Port" Yes, the gate pulses require a ground connection, and I strongly recommend you to protect the J5A/B port with a 74HC541 buffer! This might also be required for level-shifting to 5V if your synth doesn't support 3.3V levels. Details are described here: http://www.ucapps.de/midibox_seq_manual_hw.html Search for the keywords "CV Outputs" Best Regards, Thorsten.
-
Maybe Philetaylor can help you, the files are located on his server. No, there is no alternative location. Hosting such large packages on private servers is too expensive! Best Regards, Thorsten.
-
Tutorial #029: Fast Scan Matrix for velocity sensitive Keyboard
TK. replied to TK.'s topic in MIOS programming (C)
Finally somebody who reads the README! :) I fixed the wrong value, 128 contacts are scanned of course! Note that only 16 bits have to be shifted per row, since DINs are read concurrently to DOUT shift-out. The additional overhead is caused by interrupt latency and (unoptimized) value transfers + pin change detection into C arrays before the next 16bit scan is started. Best Regards, Thorsten. -
Yes, your core module is up&running! Best Regards, Thorsten.
-
Finally we've a proper solution for scanning a velocity sensitive keyboard at fast speed (300 uS) with low CPU load (so that other tasks can be processed in parallel). -> http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F029_keyboard_velocity%2F I tested it on a defective Korg microKONTROL - the original firmware scanned the keyboard only at 500 uS, which means that the app has a higher accuracy than the commercial solution. :) Details are described in the README.txt Best Regards, Thorsten.
-
Ich habe heute mein (ehemals defektes) Korg microKONTROL keyboard midifiziert, und muss zunaechst einmal die vorige aussage revidieren, dass das Keyboard einen Oeffner und Schliesser pro Taste hat. Stattdessen gibt es zwei Schliesser (und ich erinnere mich, dass es bei den Fatar-Keyboards genauso ist - somit keine exotische Loesung). Man misst nun einfach das Delay zwischen den beiden Schliessern, und berechnet daraus die Velocity. Das ganze habe ich erstmal nicht in die MIDIO128 Applikation integriert, weil ich mir noch nicht sicher bin, wie eine generische Loesung, mit der auch Nicht-Programmierer zurecht kommen, aussehen muesste. Stattdessen gibt es erstmal "nur" ein Tutorial: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F029_keyboard_velocity%2F Und hier ein Bild von dem Gebastel: Die Aufloesung ist uebrigens hoeher als bei der urspruenglichen Firmware von Korg - hier wurde nur mit 500 uS gescannt, ich scanne mit 300 uS ohne die CPU sonderlich auszulasten! :shifty: Zu Deinen fragen: Hier heisst es: ausprobieren! Ich verwende nun zwei DOUTs um die Spalten zu selektieren, und ein DIN um die Zeile auszulesen. Ausserdem muss man wahrscheinlich die Berechnung der Pin-Nummer anpassen, naeheres zu diesem Thema im README.txt Nein, Potis koennen nicht digital ausgelesen werden, sondern muessen mit einem ADC konvertiert werden. Am stabilsten sind die Werte mit dem neuen MBHP_AINSER64 Modul, das gerade in der Mache ist: Die Prototypen-Platine sollte in 1..2 Wochen bei mir ankommen. Die Potis koennen hier mit einer Aufloesung von bis zu 11 bit Jitter-frei (!!!) gesampled werden. Da Du ja spaeter nach CV konvertieren moechtest, ist das mit Sicherheit die beste Loesung. Kommerzielle Loesungen koennen ja meistens nur 7bit... ;-) Die muesste man dann ebenfalls an das MBHP_AINSER64 anschliessen. Tutorial Applikation: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F012b_ainser_muxed%2F Diese laesst sich relativ einfach mit der Keyboard-Applikation vereinen. Gruss, Thorsten.
-
I've no idea why this happens at your side, but it could make sense to try the download with a different webbrowser, e.g. Firefox Best Regards, Thorsten.
-
SONG MODE : repeating a pattern until told to move forward?...
TK. replied to tupinamba's topic in MIDIbox SEQ
Now available with V4.056 -> -
MIDIbox SEQ V4.056 is available with a huge list of changes (based on latest requests) - in the hope that the remaining functions are still working! ;-) MIDIboxSEQ V4.056 ~~~~~~~~~~~~~~~~~ o pattern page: the ALL button now allows to change all patterns to the same number at once (banks won't be influenced by ALL button). o the ALL function will always be turned off when changing to another page. o song page: the previously "Stop" action has been renamed to "End" - it doesn't stop the sequencer anymore, instead it only exits song mode and loops the current pattern set endless (e.g. to fade out or as bridge before you select the next song). o song page: press SELECT+GP16 to take over the current pattern set into the selected song position - this function can be used for quick song/phrase edits. o song page: in song mode it's now possible to select a phrase with GP buttons (like in Phrase mode). Difference: the song positions will be played until they are looping or "End" is reached. This allows to split a song into multiple parts which are interactively selected. o song page: Fwd/Rwd button change also the edit position in song page o if the sequencer is started in song page, the song will directly jump to the current edit position o the main page now displays the effective BPM. If in slave mode, the received BPM will be displayed. o the BPM digit display shows the received BPM in slave mode. o new layer type: program change [/code] Best Regards, Thorsten.
-
MIDIbox SEQ V4L.056 is available: MIDIboxSEQ V4L.056 ~~~~~~~~~~~~~~~~~~ o the step lengths (clock divider) can now be configured in new "Tempo" page (press Tempo button) Following step lengths are available: GP button 1..7: 64th, 32th, 16th (default), 8th, 4th, 2th, 1 GP button 9..15: 64T, 32T, 16T, 8T, 4T, 2T, 1T (triplets) The tracks will be automatically re-synchronized to the measure on divider changes. [/code] Best Regards, Thorsten.
-
MB-SEQ with Jomox XBase 09 : changing sound parameters?
TK. replied to tupinamba's topic in MIDIbox SEQ
MIDI CC Learn is an exclusive feature of MBSEQV4L, I haven't enabled it for MBSEQ V4 since I don't know where to hide the "enable" button for this function. ;-) Best Regards, Thorsten. -
Ja, Du kannst die Tastatur auch einfach ausbauen und direkt ansteuern - da sie wahrscheinlich als Matrix ausgelegt ist, bist Du mit der MIDIO128 V3, einem DINX4 und einem DOUTX4 Modul auf der sicheren Seite (es bleiben dann auch noch 24 freie Ein- und Ausgaenge fuer zusaetzliche Buttons und LEDs uebrig). Eine direkte Unterstuetzung fuer Velocity wird es auch sehr bald geben, da die Elektronik meines Korg microKontrol defekt ist, und ich sie durch eine eigene Loesung ersetzen moechte (so dass ich bspw, auch die Mini-LCDs direkt ansteuern kann - das ging mit der Original-Firmware nicht) Du muesstest Dir noch ueberlegen, ob Du lieber eine Synthesizer/Keyboard-maessige Tastatur (wie beim CEM Keyboard), oder eine Orgel/Klavier-maessige Tastatur (wie die Fatar TP9) haben moechtest. Gruss, Thorsten.
-
In diesem Fall waere das CME Keyboard wahrscheinlich besser geeignet. Fuer CV: wenn Du das MBHP_CORE_LPC17 Modul auf Lochraster baust, wuerde es zusammen mit einem MBHP_AOUT_NG Modul und den 3.5" Buchsen fuer CV/Trigger noch in das Gehaeuse passen. Den MIDI-Out des Keyboards kannst Du direkt an den MIDI In des Core Moduls anschliessen, dann brauchst Du noch eine passende Firmware - wie die MIDIbox CV V2 -> (ist noch in Entwicklung und deshalb auf meiner Webseite nicht dokumentiert) Gruss, Thorsten.
-
SONG MODE : repeating a pattern until told to move forward?...
TK. replied to tupinamba's topic in MIDIbox SEQ
Thanks for the reminder - I wanted this feature as well, therefore I will implement it tomorrow. :) yes, just enable loop mode with MENU+SCRUB This mode can be configured in the Fx->Loop page, e.g. it's possible to loop only the step view (16 steps) of the currently selected track, or all tracks. And the loop length can be configured as well. Best Regards, thorsten.