Jump to content

TK.

Administrators
  • Posts

    15,254
  • Joined

Everything posted by TK.

  1. Hallo Chris, Jeder CV Kanal bietet unter anderem einen eigenen MIDI Kanal, einen Event Typ, und eine Split Zone. Du muesstest also lediglich alle CVs auf den gleichen MIDI Kanal legen, den Event Typ Velocity anwaehlen, und die Split Zones auf eine oder mehrere Noten setzen. Die Gates des entspr. CV Kanals koenntest Du somit ebenfalls verwenden. Und die restlichen Gates liefert dann die 10-Zeilen-Erweiterung ueber das/die DOUT register Gruss, Thorsten.
  2. Yes, this setup is possible Best Regards, Thorsten.
  3. No problem, just duplicate the EEPROM content in RAM, and load it into memory while the sequence is played (with each step just the new data). And load it immediately from EEPROM if a step is modified while it hasn't been preloaded yet. The same "step-by-step" method can be used for EEPROM writes. Best Regards, Thorsten.
  4. In the meantime very cheap USB MIDI interfaces are available, like this one for 20 EUR (!): http://www.thomann.de/de/swissonic_midi_usb_1x1.htm Best Regards, Thorsten.
  5. Synchronized pattern switching is implemented in the meantime :) -> see http://www.ucapps.de/midibox_seq_changelog.html Best Regards, Thorsten.
  6. Such small differences don't really matter. Ok, 28.2240 does matter (cannot be used...) But you need an integrated oscillator (4 pin devices). A crystal with 2 legs definitely won't work stand-alone, and building an own oscillator is too error prone Best Regards, Thorsten.
  7. Hi Robin, A reset message could be triggered counter driven from the Tick() task. Just declare a global variable "unsigned int delayed_reset", set it to 0xffff within Init() (this function is only called once after a core reset) Within Tick() decrement the variable until it reaches 0, then send the SysEx message: if( delayed_reset && !--delayed_reset ) { // send SysEx message } [/code] (once the variabled reached zero, it won't be decremented anymore) The delay can be adjusted by changing the default value within Init(). The delay time is not exact, but within an known range Storing patterns: just use the internal EEPROM to store/restore patterns. The EEPROM can be accessed with the MIOS_EEPROM_* functions, it provides 256 bytes You need to store the variables which hold the "stop" configuration, and once they have been restored, you need to call the functions which send the SysEx dumps depending on the stop states Best Regards, Thorsten.
  8. Hi Tom, reading 320 bytes at once will cause a delay of ca. 8-10 mS, this is not acceptable. But if you would read the data on-the-fly (with each step) the delay would be ignoreable. Small calculation example: let's say you are storing the whole MIDI event in the BankStick memory, reading three bytes takes ca. 75 uS, and sending them via MIDI takes 960 uS. Since the MIDI IO is buffered and works interrupt driven, you wouldn't notice any delay caused by the BankStick, only the delay caused by MIDI transfers (which cannot be avoided...) However, this method would mean, that data has to be stored in the BankStick immediately if realtime changes should be made possible. But even this could be implemented in a way where you don't notice delays. Here again a calculation example: let's say the pattern is played with a speed of 140 BPM. The clock process is triggered each 24 mS. Saving one byte into EEPROM takes ca. 2 mS (if I remind correctly). So, if you save an edited note after a step has been played, you won't notice a delay. A data cell can be overwritten more than 1M times, so I guess that for a DIY project this method is acceptable. Advanced solution: buffered saving (store changes in a buffer, and save them after one second if no button/encoder has been moved during this time, store it immediately if a new step is selected). Thats the way how the integrated wavetable editor of MBSID is working Best Regards, Thorsten.
  9. Hallo, der 6N139 sollte funktionieren, das haben schon mehrere Leute ausprobiert Gruss, Thorsten.
  10. Hallo Chris, mit ca. 10 zusaetzlichen Codezeilen in main.asm koennte man bis zu 128 digitale gates hinzufuegen. Doch die waeren dann nur statisch vergeben (heisst: feste Note, fester Kanal). Gruss, Thorsten.
  11. It's mostly cheaper to use a ready-built MIDI keyboard, and to add the MIDIbox stuff. Best Regards, Thorsten.
  12. no, other changes are not required. Currently I've no idea how this effect could happen, can you try out more? What does "stops working" mean - no sound anymore, or an holded note? What happens, if the slave PIC is controlled directly from the PC/keyboard via MIDI (and not from the master core via Link) Best Regards, Thorsten.
  13. yep (it's under the super poly category, which is planned since 2 years now ;-)) Best Regards, Thorsten.
  14. yes, there is an option which filters incoming SysEx strings, it has to be disabled within the filter menu Best Regards, Thorsten.
  15. Yes, this is possible without much programming effort. Basically it works like this http://www.ucapps.de/mios_c_set_dout.html or this http://www.ucapps.de/mios_c_pic_pin.html example, but it has to be programmed in assembly language due to memory limitations within the MBSID application Best Regards, Thorsten.
  16. I'm also using such a board for experiments. I bought it from Conrad ca, 15 years ago, don't know if it is still available there. Best Regards, Thorsten.
  17. The X-ray looks familar to me ;-) Seems that the guy doesn't know this site: http://sid.kubarth.com/sid_dies.html Best Regards, Thorsten.
  18. Ok - PIC18F4550... Das Einsynchronisieren wuerde nicht weniger CPU Zeit in Anspruch nehmen, als den Clock gleich selbst zu treiben. Somit laeuft es also auf eine Softwareloesung hinaus. Gruss, Thorsten.
  19. Aehm - warum kratzt Du die Leiterbahn nicht auf, und fixt die Verbindung mit einem Kabel? Gruss, Thorsten.
  20. Hi Robin, pin_value is an "unsigned int" with 10bit resolution, but for a CC an "unsigned char" with 7bit resolution must be sent. The easiest way to get the 7bit value is the use of MIOS_AIN_Pin7bitGet(pin), see also http://www.ucapps.de/mios_c_send_ain.html. It's possible to use this function within SendTremelo() as well (replace "pin" by a constant value) Best Regards, Thorsten.
  21. So, let us add some keywords to this article so that the ladies will find us easier: Le Cherche MIDI not Robby Williams Nokia display SID ringtone cookbook Best Regards, Thorsten.
  22. Hallo Tino, hm, wenn ich mir Deine obigen Postings durchlese, faellt mir auf, dass Dir evtl. eine wichtige Information fehlt: die MIDI Clock Synchronisierung muss man explizit aktivieren, und zwar fuer WT, LFO und Envelopes separat. Das geht entweder im CFG Menue, oder mit JSynthLib, oder (fuer temporaere Experimente) mit CC#125 (siehe auch http://www.ucapps.de/midibox_sid/sid_cc_implementation_chart.txt) Somit ist auch diese Frage beantwortet :) Gruss, Thorsten.
  23. WISP628 is a project of Vouter van Oijen (voti.nl), a very friendly guy. You could ask him, how to program the ID field with his programmer, it shouldn't be so difficult to add this to the software. Or maybe he knows another solution (you can refer to this posting if you want) Best Regards, Thorsten.
  24. Hi Rick, why isn't it possible with your programmer? The code just programs the ID fields from the CPU, so long the programmer doesn't overwrite the IDs again (which is very unlikely if they are all-one), then it should work Best Regards, Thorsten.
  25. Some of the old guys will remember him - Rasmus is one of the first users of MB64, and he is still not tired of building even more MIDIboxes :) A MIDIbox SEQ V2 with 4 LED rows: A MIDIbox64 based MKS80 Controller: And this sweet little box is under development - a combined MIDImon and Clockbox (with MTC option), which will allow to control an Alesis HD24 remotely.
×
×
  • Create New...