• Content count

  • Joined

  • Last visited

Everything posted by TK.

  1. MIDIbox KB

    This is a placeholder for the upcoming MIDIbox KB project. It's work in progress, some initial documentation can be found under It started in the one Fatar keyboard has already been successfully midified, some other (different types) will follow. :) If you've questions or suggestions for enhancements, just post them here. :) Best Regards, Thorsten.
  2. MIDIbox CV V2 Concept

    (continued from ) It's funny that you ask for this today, because currently I'm planning the "full featured" control surface of the upcoming MIDIbox CV V2 application. In distance to MBCV V1 it uses the MBSID sound engine, optimized for the needs for a CV controller. It features two LFOs, ENV, ARP... per channel! And with a much higher update rate than MBSID V2 (I think that up to 5 kHz can be achieved when all modulators are running in parallel, by disabling modulators even higher frequencies are possible) -> even FM modulation is possible by using two LFOs in "fast" mode /edit: meanwhile the feature list has been enhanced by a second multi-stage ENV2, a modulation and a trigger matrix! The sequencers (bassline/wavetable) will be integrated later, so: they will be available as well of course! Here the current list of parameters: /edit: removed, since it's obsolete! I'm still a bit uncertain how to continue this project, because I think that without a good control surface it won't be usable in practice. The SCS (Standard Control Surface) (2x20 LCD + 4 menu buttons + SHIFT button + encoder) gives access to all parameters, but the usage is too cumbersome. Therefore I thought that I should start with a "virtual control surface" by using Lemur, and once I'm happy with it, I can translate it into hardware. ;) Any additional ideas? E.g. how would your "dream interface" for this project look like? Best Regards, Thorsten.   /edit: meanwhile we've a demo video! :-)  
  3. Hi *, this thread informs you about the latest release, and it gives you the possibility to write down your feedback (bug reports, questions about existing features, suggestions for new features, etc...) The current MBSEQ V4 release can be downloaded from Please read the CHANGELOG.txt for latest changes Documentation: IntroductionHardwareFrontpanelInstallationTutorialsMenu PagesSessions16x16+X Button/LED MatrixOSC OptionV3->V4 UpgradeFirst Steps (not ready yet)Known issues and Troubeshooting tips (no known issues yet ;))  Best Regards, Thorsten.
  4. The Ctrlr based panel for MBSID V2 is up&running, and I must say that it was really a challenge! But at the end it was less effort than programming this editor as a native Juce application because Lua scripting is sufficient (and fun!) - and we will get AU and VST support for free! The panel can be downloaded from this location:   Ctrlr can be downloaded from I tested this with Ctrlr_262f2710.dmg (version from 14. April 2014) under MacOS For Windows take Ctrlr_ac6a3185.exe edit hawkeye (in 2018): here is a current link to Ctrlr_ac6a3185.exe (needed for TK.'s panel) - thanks to goyousalukis for searching!   Some snapshots: Lead Engine OSCs: Bassline Engine OSCs: Bassline Sequencer: Drum Engine instruments: Drum Sequencer: Multi Engine: Release mail (with some technical background) to the Ctrlr community: Have fun! Best Regards, Thorsten.
  5. MIDIbox SEQ V4 Release + Feedback

    A frequently requested feature, meanwhile even mentioned in one of Oozitron's tutorial videos :) Best Regards, Thorsten.
  6. MIDIbox SEQ V4 Release + Feedback

    Interesting, I wasn't aware of this! This issue is now fixed here: And I also added a reset function to this page :) Best Regards, Thorsten.
  7. MIDIbox SEQ V4 Release + Feedback

    Thanks for the information! This was caused by an unintended stack overflow It should be fixed in following version: Best Regards, Thorsten.
  8. Midibox_NG Event NoteOn lost

    Thanks for the inspiration - I will try this soon! :) Best Regards, Thorsten.
  9. MIDIbox SEQ new frontpanel idea

    I'm still unsure, if for me as a right-handed person it would be better to have the wheel section at the left side. There are situations where I want to quickly switch between selection groups (such as between track and parameter layer selection) while changing steps with the right hand. In this case, it's actually better if I could switch with the left hand. Best Regards, Thorsten.
  10. Zero Circuit

    No spam! I always enjoy your music :) Best Regards, Thorsten.
  11. MIDIbox SEQ V4 Release + Feedback

    Thanks!  Best Regards, Thorsten.
  12. You can find the API to access the LEDs directly under: Best Regards, Thorsten.
  13. Midibox_NG and kb_transpose

    Hi Christiano, very nice first posting with so many detailed information! Welcome on board! :) Actually providing a proper solution for keyboard transpose (and velocity map) changes was still on my TODO list. It's implemented now, please try this version: A configuration example (for a single keyboard) can be found under: As you can see, I preferred to use .NGR commands instead of meta events, because we want to change parameters of an event (KB:1) instead of a physical device (KB) I tested this with a Fatar keyboard (donated by FantomXR! :)) - works fine! I can even change the transpose value with the SCS encoder while playing some keys, the corresponding note-off events are matching so that we won't get hanging notes.   We've many solutions for this case 1) the most simple: I could increase the number of supported keyboards from 2 to 4, because I think that especially for organs the slightly increased latency (a couple of uS, not more!) doesn't really matter. This would mean that you could control all keyboards from a single core 2) for reacting on a single CC number multiple times, just define EVENT_* with different IDs Best Regards, Thorsten.
  14. MIDIbox SEQ V4 Release + Feedback

    The port assignment wasn't recovered correctly, should work now. Best Regards, Thorsten.
  15. MIDIbox SEQ V4 Release + Feedback

    Ok, the CC values are now configurable in the options page (item 20/26) Pitch/Program Change/Aftertouch are now sending as well, but note that these are channel events and not key specific events. Which means, that only the first drum instrument can change the values, the remaining instruments won't send such MIDI events. Best Regards, Thorsten.    
  16. MIDIbox SEQ V4 Release + Feedback

    Alright, so please try this version: This turns your MIDIbox into a MIDIbox SEQ V4+ :) For the V4+ variant CCs can be assigned to drum track layers. The CC number is statically assigned: the first assigned layer will send CC#16..C#32, the second assigned layer CC#33..C#48, etc. depending on the drum instrument. I tried this with the MIDI automation of StylusRMX, and it works there. Best Regards, Thorsten.
  17. MIDIbox SEQ V4 Release + Feedback

    @k2z3k0 and @u-link: are you already using the STM32F4 core? In this case I might be able to provide configurable drum CCs as an option for MBSEQV4+ @k2z3k0: I'm surprised that the screen isn't updated immediately in your case, I've to check this! @u-link: drum track transpose: good idea! I will check this And thanks for starting a cheat sheet! :) @slo: there is a third pointer which is the "song position", currently not displayed in the menu page, but only in the song page. I've to check & document, how this works together with synchronized mutes/unmutes. Best Regards, Thorsten.
  18. The required source code change isn't so difficult, but I can't provide this as a generic solution to everybody since it generates some overhead at my side (people ask for documentation, more comfortable configuration, special options, etc). So, for your particular case, the SEQ_MIDI_ROUTER_Receive function has to be enhanced: By something like: if( port == UART0 && midi_package.event == NoteOn && midi_package.velocity > 0 ) { int offset = 14; if( midi_package.velocity <= offset ) midi_package.velocity = offset+1; midi_package.velocity = (127*(midi_package.velocity-offset)) / (127-offset); } This would apply the linear curve to all notes received via MIDI1 (UART0) Best Regards, Thorsten.
  19. MIDIbox SEQ V4 Release + Feedback

    Happy new year! :) I just tried the random generator, (still) works fine at my side - need more input. Concerning CC layer in drums: technical problem is, that there is no place to configure the CC number: - the memory area which is usually used to configure the CC number is allocated by the Note number of the drum instrument - but even if I would introduce dedicated memory locations for the CC number, I've no idea where to place the configuration item - the EVENT page is completely allocated. :-/   The only possibility that I see is to provide pre-configured CC numbers for drums (such as CC#1 - Modulation Wheel) - but I'm sure that people will ask for more flexibility sooner and later for good reasons, so that the actual problem won't be solved. Best Regards, Thorsten.
  20. Congratulation, really good work! :) I would like to give some feedback on the MCU usage: I don't think that it's really required, the STM32F4 core has more than enough bandwidth to handle this as a "background task". According to your documentation you decided to use a separate MCU for this task due to limitations in MBNG. But this limitation only exists since I preferred less latency and universal usage (SRIO can be used for multiple purposes, not only for controlling RGB LEDs). If these design constraints wouldn't exist, we could simply control the SRIO on a similar way like you did in the MCU code.   MIOS32 provides a MIOS32_DONT_SERVICE_SRIO_SCAN switch which can be defined in mios32_config.h to disable the common SRIO scan approach. With this switch you are able to initiate the scan in your app MBNG works this way meanwhile, but a more simple example can be found in the Keyboard tutorial: The first transfer is initiated with MIOS32_Init(): // limit the number of DIN/DOUT SRs which will be scanned for faster scan rate MIOS32_SRIO_ScanNumSet(2); // speed up SPI transfer rate (was MIOS32_SPI_PRESCALER_128, initialized by MIOS32_SRIO_Init()) MIOS32_SPI_TransferModeInit(MIOS32_SRIO_SPI, MIOS32_SPI_MODE_CLK1_PHASE1, MIOS32_SPI_PRESCALER_64); // prescaler 64 results into a transfer rate of 0.64 uS per bit // when 2 SRs are transfered, we are able to scan the whole 16x8 matrix in 300 uS // standard SRIO scan has been disabled in programming_models/traditional/main.c via MIOS32_DONT_SERVICE_SRIO_SCAN in mios32_config.h // start the scan here - and retrigger it whenever it's finished APP_SRIO_ServicePrepare(); MIOS32_SRIO_ScanStart(APP_SRIO_ServiceFinish); See APP_SRIO_ServicePrepare() and APP_SRIO_ServiceFinish() how to prepare and process a scan. Since the STM32F4 is pretty fast, there is no need to use a timer in your case. Just start the next scan once the last has been finished and buttons have been checked like shown in the tutorial. This results into back-to-back scan, where the update speed is a result of the number of SRs and the SPI transfer rate - both values are set in the example above.   This way you could also store new RGB values in the DOUT registers. BAM should be possible by updating the DOUT register only each 2nd, 4th, 8th, 16th time. Pseudo code:     iteration_ctr = (iteraction_ctr + 1) % 16;     if( iteration_ctr == 0 || iteration_ctr == 2 || iteration_ctr == 4 || iteration_ctr == 8 ) {         bam_ctr = (bam_ctr + 1) % 4;         DOUT = color_value[bam_ctr];     } Best Regards, Thorsten.
  21. MIDIbox SEQ V4 Release + Feedback

    Very nice idea, and also very easy to implement :) Please try this version: Best Regards, Thorsten.
  22. MIDIbox SEQ V4 Release + Feedback

    Unfortunately no place in the step view. In v4_095_pre1 I added it to the main screen (root menu), hope that it helps Best Regards, Thorsten.
  23. MIDIbox SEQ V4 Release + Feedback

    A new minor-release is available: MIDIboxSEQ V4.094b ~~~~~~~~~~~~~~~~~~ o fixed LED handling for common frontpanels (e.g. MUTE LED stayed active regardless of selected view)   This behaviour was requested by k2z3k0:  COPY+PASTE in the PATTERN view will only copy the groups and switch to the next slots. In order to permanently store into these slots you've to push the SAVE button (if not assigned to a Fx button, enter EXIT and press the SAVE button there). Best Regards, Thorsten.
  24. Hi *, this thread informs you about the latest release, and gives you the possibility to write down your feedback (bug reports, questions about existing features, suggestions for new features, etc...) MIDIbox NG is in beta state! Not all planned features are implemented, but the existing functions should (hopefully) work stable. The latest build for MBHP_CORE_STM32 and MBHP_CORE_LPC17 can be downloaded at: -> List of planned/implemented features (press refresh button in your webbrowser to display the latest state): -> Documentation (in progress): Hardware LCD Hardware First Steps .NGC Configuration File .NGL Configuration File .NGR Configuration File Standard Control Surface The complete Documentation ;-) Best Regards, Thorsten.
  25. should work again Best Regards, Thorsten.