-
Posts
15,247 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Jo, der Rest sollte passen. PIC Brennen: kein Problem, schreibe einfach eine EMail an tk@midibox.org, um meine Adresse zu erhalten. Gruss, Thorsten.
-
Hallo Lemonhorse, das .jar File ist aus der Release verschwunden, weil es bereits in der v0.17 redundant war. Du kannst den Editor aus der Kommandozeile mit "java JSynthLib" starten. Oder einfach "run" eintippen - in run.bat steht naemlich genau diese Zeile drinnen. "run.bat" kann man auch aus dem Explorer anklicken Zu 2): ja, wuerde ich grundsaetzlich empfehlen. Ansonsten wuerde bspw. die Split Funktion bei den Slaves nicht funktionieren. Das Updaten ist sehr viel einfacher geworden. Vorrausgesetzt, jeder Slave hat bereits eine eindeutige MIOS ID (0x01, 0x02, 0x03), konfiguriert sich der Rest nun automatisch - mehr infos unter http://www.ucapps.de/midibox_sid_csB.html Gruss, Thorsten.
-
Tja, gerade deshalb ist es so schwer, ueber das Forum Debugging Hilfe zu leisten - oder wuerdest Du diesen Fehler vermuten, wenn Du das urspruengliche Posting nochmal durchliest? ;-) Sehr gut! Das kann irgendwie nicht sein. Im Ruhezustand sollten 5V anstehen, bei MIDI Daten sollte der Wert nach unten gehen (die genaue Spannung kann niemand sagen, da es sich um ein digitales Signal handelt das sehr schnell zwischen 0V und 5V wackelt) Entweder misst Du den Wert nicht gegen die Masse der Soundkarte, oder der MIDI Adapter hat eine Macke. Wo wir auch schon wieder bei meiner heissgeliebten MIDI Troubleshooting Guide waeren: http://www.ucapps.de/howto_debug_midi.html Mach' mal ab "At the PC site" weiter --- stelle mit Hilfe einer Loopback sicher, dass der MIDI Adapter funktioniert. Schliesse eine LED an, usw. Und schreibe dann bitte auf, welcher Test geklappt hat, und welcher nicht! Fuer Dich mag das vielleicht etwas Schreibarbeit sein, aber verglichen zu dem, was andere schreiben muessen, um die Informationen aus Dir herauszuquetschen, ist das gar nichts ;-) Gruss, Thorsten.
-
Hi, yes, the whole protocol is documented fine, so an emulation seems to be feasible. You could take the LC emulation as basis and modify the MIDI processor functions which decode the incoming MIDI events. The same has to be done for the output functions. Estimated effort: 3 months to learn assembler, 1 month to understand the LC application, 1 month to implement and test the changes. Best Regards, Thorsten.
-
Link to additional answer: http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=gallery;action=display;num=1079994325;start=15#15 your crosspostings are producing a lot of effort! :-( Best Regards, Thorsten.
-
Redesigned MIDIbox of the Year (3xMIDIbox LC of Axel)
TK. replied to TK.'s topic in MIDIbox of the Week
See also http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=concepts;action=display;num=1086450431 Addendum: MIDIbox LC is an exception, because the host application (Logic/Cubase/etc...) requires to connect each core to a seperate MIDI IO! Note that this limitation is only valid for the Logic Control or Mackie Control emulation --- with a common MIDIbox you can chain the modules ("MIDIbox Link") Best Regards, Thorsten. -
Each core has it's own MIDI IO port. You can connect them in a chain, or seperately to your PC. Most people prefer the chain method (-> see http://www.ucapps.de/midibox_link.html) so that only one MIDI IO is allocated for all boxes. Latency is absolutely no issue! (-> see http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=mios_toy;action=display;num=1077232194). So, you are the first who don't want to chain the modules - thats ok ;-) Best Regards, Thorsten.
-
Hallo, stimmt nicht ganz, denn die analogen eingaenge zaehlen extra, MIOS verwaltet also 128 digitale Eingaenge (ich habe das in obiger Liste verbessert) und zusaetzlich auch noch 64 analoge Eingaenge - um ganz genau zu sein ;-) Du benoetigst nur ein AINX4 Modul (jedes AINX4 bietet 32 analoge Eingaenge). nein, die benoetigst Du fuer simplen controller ohne Banking/Paging usw. nicht. Gruss, Thorsten.
-
Hallo, MIDI-Ox ist schonmal falsch konfiguriert, beachte auch diesen Kringel: Diese Option ist bei Dir wahrscheinlich aktiviert, deshalb steht der SBLive Output Port in der Port Map --- diesen Port entfernen, ansonsten hast Du eine klassische Rueckkoppel-Schleife. Ansonsten wuerde ich empfehlen, die Troubleshooting Guide Schritt fuer Schritt durchzuarbeiten. Sollte der Upload danach immer noch nicht funktionieren, koenntest Du zumindest beschreiben, welche Tests geklappt haben, und welche nicht: http://www.ucapps.de/howto_debug_midi.html Gruss, Thorsten.
-
After a HD crash my windows installation isn't running yet, so maybe somebody else could help? However, reassembling the code isn't that difficult, and you have to do this anyhow with every new release. So, it makes sense to get some practice ;-) Best Regards, Thorsten.
-
Hi, are these questions or conclusions? ;-) Of course, if you haven't programmed the bootloader into the slaves, it's time to do it now. And please don't forget to set the ID of the slaves to 1, 2 and 3! J10 has 4 connections if the ground is already connected from the power supply unit to the SID module --- compare the wiring with http://www.ucapps.de/mbhp/mbhp_4xsid_c64_psu_optimized.pdf Best Regards, Thorsten.
-
Do you have a 2x16 LCD? In this case it's required to set CS_MENU_DISPLAYED_ITEMS to 4 (-> see main.asm or the appr. setup_*.asm file you've uploaded) Thereafter follow the instructions under http://www.ucapps.de/howto_tools_mpasm.html Best Regards, Thorsten.
-
Hi Twin-X, there is a new description which describes the required steps: http://www.ucapps.de/midibox_sid_csB.html (search for "Preparation of PIC18F cores") Once this has been done, you can change the MIDIchannel of each SID (seperately of course...) in the CFG menu Best Regards, Thorsten.
-
Hallo Ferdi, am besten spielst Du mal die MIDIO128 applikation auf, die ist defaultmaessig so konfiguriert, dass jeder einzelne DIN pin eine Note triggert. Auf diese Weise kannst Du schonmal feststellen, ob die Verbindungen physikalisch vorhanden sind, und es sich nicht um ein Konfigurationsproblem in der SID Applikation handelt (bei einem 2x16 Display sollte CS_MENU_DISPLAYED_ITEMS bspw. auf den Wert 4 eingestellt werden). Falls keine Noten getriggert werden, miss die Spannung direkt an den Eingaengen - sie sollte 0V betragen wenn der Button gedrueckt ist, und 5V wenn der Button nicht gedrueckt ist. Falls das nicht der Fall ist, sind die Pull Ups wahrscheinlich nicht angeschlossen (Bruecken vergessen?) Gruss, Thorsten.
-
Hi Tim, just click on the menu button, move the rotary encoder so that the page scrolls to the SAV menu and click on the button below of this menu entry. Then you can select the target patch number - press "Do!" to save the patch Best Regards, Thorsten.
-
jep MIOS kann bis zu 128 digitale Eingaenge durchscannen. MIOS kann bis zu 64 Endlosregler verwalten MB64E kann aus historischen Gruenden (Datenformat, Kompatibilitaet, siehe oben) nur bis zu 64 Taster verwalten, aber mit ein bisschen Code waere auch noch mehr drin - die zusaetzlichen Taster liessen sich jedoch nicht mehr bequem mit dem Editor oder am Display konfigurieren an welchen Pins die Encoder, und an welchen die Taster angeschlossen sind, legt man im Setup File (setup_*.asm) fest. Wegen der Limitierung auf 128 Pins ist es bspw. nicht moeglich, gleichzeitig 64 Encoder und 64 Buttons anzuschliessen - das sollte aus obiger Liste hervorgehen. Gruss, Thorsten.
-
Hi, it doesn't really matter. Maybe it's even better to solder it between SID 2 and 3... Best Regards, Thorsten.
-
Hi Meeshka, I've no oversight about the current software projects for MIDI, so this is something which has to be driven by the community. Best Regards, Thorsten.
-
Hi Michaël, A very flexible function which allows to tranpose octaves and semitones seperately can be found in the sequencer application (seq_event.inc, SEQ_EVNT_Transpose) -- but it's very compact and maybe too complicated to understand the basics. Normaly, all what you have to do is to add the transpose value (which could also be negative) to the second byte of a Note event. And you need to write a short button handler which allows you to change this transpose value. And maybe also a routine which displays the value on screen. Best Regards, Thorsten.
-
Hi Per, the implementation of the debouncing function in the PIC16F firmware is far from perfection. It uses only one "time-out counter" which is started every time when any button has been triggered. Once the counter is running, all button inputs are not captured for the specified debouncing time. This means: this "poor" debouncing function is only useful if (keyscan) latency doesn't matter, but it's not qualified for the MIDIfication of a organ keyboard where more than one key could be activated at the same time. The debouncing function has been significantly improved in MIOS. Here every input has it's own time-out counter, means: every digital input is handled seperately. Also the performance of the MIDI merger has been improved - the MIDI stream is now buffered with 64 bytes at the input side and 48 bytes at the output side (PIC16F: 16 bytes input, 0 bytes output) --- normaly an external merger is not required. So, if you notice timing problems, I would recomment a PIC18F before building a merger I was in Stockholm last year and was very impressed about the clear sky, fresh air and hot sun! And about the fact that the sun (nearly) never goes down during midsummer :) Best Regards, Thorsten.
-
Hi, just one tip: the easiest way to send 14bit values are Pitch Bender Events. But only 16 of them are available. Second way: use NRPN events - at least 16384 are available per channel. Third way: use SysEx - an endless number of parameters is available, but the data format is very dedicated to the MIDI gear. These are the possibilities of MIDI. But are these the possibilities of the host software? Mostly not! So, I really recomment you to read the Cubase and FM7 docs - if you cannot find anything about the MIDI functions described above, you definitely won't be able to control a FM7 parameter with more than 7 bit You will make your experiences... Currently there is only one controller at the market which provides 12bit resolution, and thats Mackie Control which is stuffed with high quality Penny & Giles faders with a travel of 100mm. So far I remember one faders costs about 25 EUR. Pots normaly have a much shorter "travel". http://www.maxim-ic.com Just use a PIC18F452 with MIOS as operating system, so that you don't have to reinvent the wheel. In the MIOS download section you will find an example how to access a DAC with 12 bit resolution via SPI (aout example). Accessing an ADC is very simmilar. Another hint: for such an application the ADC limits the performance, not the microcontroller. If you are working with external multiplexers (in order to save a lot of money), you have to wait a certain time after a new input has been selected (so called "acquisition" time) for a stable signal. If you are clever, you will handle the mux switching within a timer interrupt so that the main program can do anything else in the meantime. But this won't avoid the fact that a complete conversion will take at least 100 uS --- so, you want to scan 200 inputs, this means that you have an overall latency of ca. 20 mS. This latency can be decreased by using multiple ADCs in parallel - also no problem, so long you are willing to invest so much money for something which will possibly never work due to lag of support from the Steinberg/Native Instruments site! Best Regards, Thorsten.
-
I'm not sure if you've already read the FAQ: http://www.ucapps.de/qa.html where you can also find a link to the MIDI specification. Everything else is FM7 specific. Microcontroller: Atmels are faster than PIC16F yes, but we are using PIC18F in the meantime ;-) However, if you want to program in C, I'm not the right person who could help you... A/D: you won't be able to sample a common pot with 14 bit resolution without a lot of jitter. Most people regognized jittering values already at a 10 bit resolution. For a really powerful control surface I would prefer rotary encoders anyhow, because of an "endless resolution" and the possibility to switch between patches and parameter groups without "jumping values" - see MIDIbox SID CS Best Regards, Thorsten.
-
Steckt der Chip waehrend des Messens im Sockel? (Besser erstmal ohne PIC messen) Gruss, Thorsten.
-
Steckt der Chip waehrend des Messens im Sockel? (Besser erstmal ohne PIC messen) Gruss, Thorsten.
-
Hmpf - sorry, musste in letzter Zeit zu oft die Anfrage nach einer Velocity Funktion abblocken, dass ich mir die Frage gar nicht mehr richtig durchgelesen habe. Eine neue Spalte ist nicht moeglich - das Datenformat ist eingefroren, jede Aenderung zieht eine Menge Aufwand mit sich. Und das tue ich mir nicht an. Entweder man programmiert eine zweite Tabelle, oder man codiert es hart... Fuer den Anfang koenntest Du mal folgendes ausprobieren (habe es nicht getestet!): USER_DIN_NotifyToggle movlw 0x90 ; Note On, Channel 1 IFNEQ MIOS_PARAMETER1, ACCESS, rgoto USER_DIN_NotifyToggle_End movlw 0x3c ; C-2 IFNEQ MIOS_PARAMETER2, ACCESS, rgoto USER_DIN_NotifyToggle_End movf MIOS_PARAMETER3, W ; Note Off if Velocity == zero bz USER_DIN_NotifyToggle_End ;; Note On for C-2 at Channel 1, Velocity > 0 ;; save MIOS_PARAMETER1 in TMP1 movff MIOS_PARAMETER1, TMP1 ;; set the 8 pins of SR1 depending on the 3 most significant bits of velocity value swapf MIOS_PARAMETER3, W andlw 0x07 call MIOS_HLP_GetBitORMask movwf MIOS_PARAMETER1 movlw 0x01 ; second shift register call MIOS_DOUT_SRSet ;; restore MIOS_PARAMETER1 from TMP1 movff TMP1, MIOS_PARAMETER1 USER_DIN_NotifyToggle_End ;; continue at MIDIO button handler goto MIDIO_DIN_Handler falls es funktioniert, bist Du hiermit verpflichtet, einen Schaltplan sowie eine Kurzbeschreibung ueber den Mini-DAC fuer das MIDIbox Portal zu schreiben ;-) Gruss, Thorsten.