User Tools

Site Tools


msq-cc-bcr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
msq-cc-bcr [2017/02/03 18:15]
phatline
msq-cc-bcr [2018/02/17 02:52] (current)
phatline
Line 3: Line 3:
 Synth-Patch-Editor & Motion-Sequencer 4 ControlChange (= CC-Automation)\\ Synth-Patch-Editor & Motion-Sequencer 4 ControlChange (= CC-Automation)\\
  
-**WARNING** currently under heavy DEVELOPING ... i set the basics for the future of the device...(Feature Set)\\ 
 {{:​phatline:​MSQ-CC-BCR-Testequipment-1.JPG?​600|}}\\ {{:​phatline:​MSQ-CC-BCR-Testequipment-1.JPG?​600|}}\\
-{{youtube>​fupNqx-8hKw}}+{{youtube>​fupNqx-8hKw}}\\ 
 ===== Introduction ===== ===== Introduction =====
-i have the need to control ​and automate my Nord Drum2 [[http://​www.nordkeyboards.com/​products/​nord-drum-2|NORD DRUM 2]]\\ +Controls ​and automate my Nord Drum2 [[http://​www.nordkeyboards.com/​products/​nord-drum-2|NORD DRUM 2]]\\ 
-So i connect a BlackBox between Sequencer & Synthesizers...\\+Realized by connect a BlackBox between Sequencer & Synthesizer\\
 This Box is called MSQ_CC_BCR: **M**otion **S**equencer for Midi**C**ontrol**C**hange controlled via a **BCR**2000 Midicontroller\\ This Box is called MSQ_CC_BCR: **M**otion **S**equencer for Midi**C**ontrol**C**hange controlled via a **BCR**2000 Midicontroller\\
  
 **__It acts as:__**\\ **__It acts as:__**\\
-- **Midi Merger** NTE,CLK,PC merge with CC... & CCinput is a thing between MSQ_CC_BCR and BCR only since we have intelligent UI with Pages..\\ +- **Midi Merger** NTE,CLK,PC merge with CC... & CCinput is a thing between MSQ_CC_BCR and BCR only since we have intelligent UI with Pages\\ 
-- **Patch Manager** it replaces the Synths internal Patch Storage, ​to even get more, because, ​each PC event from your Sequencer is multiplied ​by 4... in each Program you have 4 Variants, and you can morph between them, to get smooth transition between them\\ +- **Patch Manager** it replaces the Synths internal Patch Storage, ​ each PC Number ​from your Sequencer is added by the BANK CC (CC 32), where each Nr is ADD 128 PC Numbers more...\\ 
-- **Motion Sequencer** Record your Controller Movements in a Sequence in 32th Resultion @ maximal ​128 Steps length\\ ​64th is possible, just a Factor in the code, but it will also reduce the max.Step length to 64 steps, also the midi traffic will go HI! imagine you automate 8*32=256CCs,​ and dump that @64th into your synth, over midi... ;)... but in cases like: drumcomputers,​ where a view things must be static to provide the percussive punching sound - there are normally not that much automations... so maybe for a drummachine 64th is a good yoice... how ever i get lost in detail...+- **Motion Sequencer** Record your Controller Movements in a Sequence in 32th Resultion @ maximal ​256 Steps length\\ ​
  
 ==== Features ==== ==== Features ====
 - **Remote your Synths** by: 8x Midichannels with up to 32x Control Change (CC)\\ - **Remote your Synths** by: 8x Midichannels with up to 32x Control Change (CC)\\
-For the BCR i only can provide 8x29, because i need some controlls to control the MB Program itself...  ​ +For the BCR i only can provide 8x29, because i need some controlls to control the MB Program itself\\  
-- **Save the Patches** ​and dump it the Synth\\ +- **Save the Patches** and dump it to Synth\\ 
-- **Save 4xSnapshots per PROGRAM (=Song) ​ && ​ Morph between them** (exclusive MotionSequence!)\\ +- **Load hundrets of Patches** via received Program Change + the Bank-CC (CC32)\\ 
-Morph between Snapshots: when Morph is activated, you are somewhere in between 2 Patches... so you have to save the patch to one of the other (2others, when morph between 2 = 4) in order to store the current "cool state" ​  >>>​ whole thing has to implemented... searching for a faster code\\ +- **Save Patches** ​vie CC24 + CC value 0-127... when sending before a BankCC32 you can expand that to 128x128 patches\\
-FIXME want help for a FAST Code: Morph between ACTUAL & NEXT PATCH (via Morph Rotary)\\ +
-- **Load Patches ​via received Program Change**\\+
 - **Record CC-Motion-Sequences** use a footpedal connected to FSW1 on the backside of the BCR, to ARM/Disarm it... so you can tweedle 2 ore more CC @ once... but you dont have to, BCR-onboard is also a Button for it\\ - **Record CC-Motion-Sequences** use a footpedal connected to FSW1 on the backside of the BCR, to ARM/Disarm it... so you can tweedle 2 ore more CC @ once... but you dont have to, BCR-onboard is also a Button for it\\
-- **PLAY Motions-Sequences,** up to 256 steps @ 32th rate, which is 128Steps @ normal 16th, this rate can changed in code only, and 256 is maximum... 512 make a RAM-Issue (8x32x512 + the rest of all variables...)!...\\so if you want 64th CC-Smoothness your Motionsequencer has only 64steps length then, this steps of course are only right when you have choosen 4/4 in your Patch... elswhere of course will differ a bit...but 256 is max.\\ +- **PLAY Motions-Sequences** up to 256 steps @ 32th rate 
-- **VELOCITY MORPH** Add Velocity-Ammount to CCs \\ +- **VELOCITY MORPH** Add Velocity-Ammount to CCs\\ 
-- **MERGE incoming Midi-Notes/​Clock/​Pitchbend with Automated CCs**.\\ +- **MERGE** incoming Midi-Notes/​Clock/​Pitchbend with Automated CCs\\ 
-- **Set Sequencer Beatstructure** ​>> ​how to interprete Clock-ticks (4/4, 5/4, 6/4, 7/4...)\\ +- **Set Sequencer Beatstructure** ​how to interprete Clock-ticks (4/4, 5/4, 6/4, 7/4...) - CC23\\ 
-FIXME Need help for a FAST Code: **scale min max values for CCs** (synths have CCs which value are between 0-3 instead of 0-127)\\ +- **Global Page**: for example you use 8 simular Drum-Voices,​ with the Global you have 8 channel strips with dedicated Controlls, for example:\\ 
-**Global Page**: for example you use 8 simular Drum-Voices,​ with the Global you have 8 channel strips with dedicated Controlls, for example: 8xVolume, 8xTone/​Noise-Mix,​ 8xDistortion,​ 8xClick\\  +8xVolume, 8xTone/​Noise-Mix,​ 8xDistortion,​ 8xClick\\  
-if you have one Synth over 2 MSQ_CC_BCR ​Tracks(booth set to MidiChannel 0, to get 64CCs instead of 32), then the Global Page: have the abillity to show/edit a parameter from Track1Voice on Track1Global,​ and from Track2Voice on Track2Global... it depends how you set the Midichannel in the Systemsettings (which are currently in the CODE itself (recompile\\ +if you have one Synth over 2xMSQ_CC_BCR ​Tracks(booth set to MidiChannel 0, to get 64CCs instead of 32), then the Global Page: have the abillity to show/edit a parameter from Track1Voice on Track1Global,​ and from Track2Voice on Track2Global... it depends how you set the Midichannel in the Systemsettings (which are hardcodet)\\ 
-- Many of this features, especially the **System Settings would need a UI**, but that would it make bigger, more expensiv, and maybe more complex to use... ​in **this case is UI-less** - it is set once, for one multipart-synth+bcr2000,​ MSQ_CC_BCR do all the Preset Store, and Automations,​ so it is one Unit > to use the Unit in a other way would make all the Patches (1000Patches+3000 Variants) useless, so once done, it is a black box loadet via Programchange! ... it is not that i cant program a good UI ;-)+- Many of this features, especially the **System Settings** would need a UI, but that would it make bigger, more expensiv, and maybe more complex to use... it is set once, for one multipart-synth+bcr2000,​ MSQ_CC_BCR do all the Preset Store, and Automations,​ so it is one Unit > to use the Unit in a other way would make all the Patches (128x128 patches) useless, so once done, it is a black box loadet via Programchange! ...  ​minimal ​is better here, there will be other **MSQs** outthere, be prebered for the MSQ_CC_2xLRE & MSQ_CC_ELO\\ 
 ====== Hardware Requirements ====== ====== Hardware Requirements ======
 **External Requirement:​**(for example) **External Requirement:​**(for example)
   * Melody/​Clock Source with ProgramChange-Output:​ [[mididocs:​midibox_seq_v4l]] oops that dont do PC...\\   * Melody/​Clock Source with ProgramChange-Output:​ [[mididocs:​midibox_seq_v4l]] oops that dont do PC...\\
-  * Melody/​Clock Destination: ​Waldorf Pulse, ​NordDrum 2, anything which can handle CC\\ +  * Melody/​Clock Destination:​ NordDrum 2\\ 
-  * Midicontroller:​ 1x BCR2000, or any other with LEDRing & Encoder.+  * Midicontroller:​ 1x BCR2000\\
  
 **Midibox:​**\\ ​ **Midibox:​**\\ ​
Line 50: Line 49:
 The LEDs show via Gestic (Patterns) if something is wrong, done, busy, & show the Rythm structure: The LEDs show via Gestic (Patterns) if something is wrong, done, busy, & show the Rythm structure:
 The Switch switches as Radio-Button thru the Rythm Structures (4/4, 5/4...), the LED-Indicating this. The Switch switches as Radio-Button thru the Rythm Structures (4/4, 5/4...), the LED-Indicating this.
-By Holding the Switch and Powering the Core, it will Dump Out a Sysex Template to your BCR.+By Holding the Switch and Powering the Core, it will Dump Out a Sysex Template to your BCR.\\
  
-Be Careful dont short the Input Pins!\\ 
 {{:​phatline:​j5_radio_btn.jpg?​200|}}{{:​phatline:​msq_cc_j5a-j5b-as-radio-button-with-leds.png?​400 |}}{{:​phatline:​j5_radio_btn_plugged.jpg?​200|}} {{:​phatline:​j5_radio_btn.jpg?​200|}}{{:​phatline:​msq_cc_j5a-j5b-as-radio-button-with-leds.png?​400 |}}{{:​phatline:​j5_radio_btn_plugged.jpg?​200|}}
  
Line 59: Line 57:
  
 ==== Setting up a BCR2000 ==== ==== Setting up a BCR2000 ====
 +
 == Cabeling == == Cabeling ==
 MidiIO PortA Out >>>​ BCR Midi IN\\ MidiIO PortA Out >>>​ BCR Midi IN\\
 AFTER Uploading the Sysex, and restarting the BCR connect:\\ AFTER Uploading the Sysex, and restarting the BCR connect:\\
 MidiIO PortA In  >>>​ BCR Midi OUT A\\ MidiIO PortA In  >>>​ BCR Midi OUT A\\
-\\+
 == Upload the Sysex-Template == == Upload the Sysex-Template ==
-1. unpack {{:​phatline:​bcr1.syx.zip|}} and put "​bcr1.syx"​ on a SD-Card (root level)\\+1. unpack {{:​phatline:​phatline:​MSQ_CC_BCR_V1.NordDrum2.zip|}} and put "​bcr1.syx"​ on a SD-Card (root level)\\
 2. Put SD-Card into CORE32\\ 2. Put SD-Card into CORE32\\
 3. bridge J5A Pin0 to ground, or connect a switch to it, that you will need if you want to sequence other song structures then 4/4 (which is default)!\\ 3. bridge J5A Pin0 to ground, or connect a switch to it, that you will need if you want to sequence other song structures then 4/4 (which is default)!\\
Line 71: Line 70:
 ...if the filestructure (patches) are already existent...then it takes less then half a minute to dump the BCR-2000 Layout Data...\\ ...if the filestructure (patches) are already existent...then it takes less then half a minute to dump the BCR-2000 Layout Data...\\
 You dont have to save the preset, it will make it automatic\\ You dont have to save the preset, it will make it automatic\\
-...when no filestructure... then it will take about 16minutes... the core has to make 4000Patches*32KB=139MB!!!!... so better:\\ +...when no filestructure... then it will take a minute or so... the core has to make 256 Patches, since i dont need more ( i can only access on my 16x16BLM 16x16 Patches ​256...)\\... but better:\\ 
-* Faking a filestructure:​ make a empty folder "mq" and put it on SD-Card, make the syx.dump, make your first simple standart patch, the sound you will start with...to the next 1000 Patches ;) so choose carefully, young jedi... then remove the Card, earse the "mq" folder on the card, and put it into the core again, ​it now will copy your "​standart patch" to 4000 others\\+* Faking a filestructure:​ make a empty folder "sq" and put it on SD-Card, make the syx.dump, make your first simple standart patch, ​the sound you will start with...to the next 256 Patches ;) so choose carefully, young jedi... then remove the Card, earse the "s" folder on the card, and put it into the core again, now it will copy your "​standart patch" to 256 others\\ 
 ==== Frontpanels ==== ==== Frontpanels ====
 === BCR2000 Stickers === === BCR2000 Stickers ===
 The Blue Elements are the MBHP Remotes... the Rest is for the Synth\\ The Blue Elements are the MBHP Remotes... the Rest is for the Synth\\
-{{:​phatline:​msq-cc-bcr2000-frontplate.png?​800|}} ​+{{:​phatline:​msq-cc-bcr2000-frontplate.png?​800|}}\\
 UNTESTET, NOT SCALED!!!!\\ UNTESTET, NOT SCALED!!!!\\
  
 In Order to better understand the Routing of the Internal CCs to externals:​\\ In Order to better understand the Routing of the Internal CCs to externals:​\\
-{{ :​phatline:​msq-cc-bcr_layout-nord-drum2.png |}}+{{ :​phatline:​msq-cc-bcr_layout-nord-drum2.png |}} \\ 
 ==== MBHP ==== ==== MBHP ====
  
 ====== Software ====== ====== Software ======
  
-===== Firmware ==== +===== Firmware ​===== 
-V1.2016{{:​phatline:​msq-cc-bcr.zip|}} +V1. from 17.02.2018{{:​phatline:​MSQ_CC_BCR_V1.NordDrum2.zip|}} ​\\ 
-hardcodet for a NordDrum2 (also newest sysex for the  BCR includet)+hardcodet for a NordDrum2 (also newest sysex for the  BCR includet) ​\\
  
 ===== CC Routing to Synths ===== ===== CC Routing to Synths =====
-MSQ_CC_BCR internal i have 8x32 CCs, they are always identical. +MSQ_CC_BCR internal i have 8x32 CCs, they are always identical. ​\\ 
-but with a simple input output matrix i can decide which CC it gets in real world. +but with a simple input output matrix i can decide which CC it gets in real world.\\ 
-each of the 8 Part can have midichannle 0-15... +each of the 8 Part can have midichannle 0-15...\\ 
-So we talking about Mapping... in the moment it is made in the source code with a simple array. +So we talking about Mapping... in the moment it is made in the source code with a simple array.\\ 
-this array could be saved and loadet from SD-Card aka "SYS settings",​ and this array could be editet by a simple editor... FIXME i dont have a glue about this... ​but the format of this setting is very simple, the file starts with (converted from hex) mq04 and then the Routing array starts [32][127] for those how know  how to program a simple interface for it? +this array could be saved and loadet from SD-Card aka "SYS settings",​ and this array could be editet by a simple editor... FIXME i dont have a glue about this, nor time no interest in doing this...\\ the format of this setting is simple, the file starts with (converted from hex) mq04 and then the Routing array starts [32][127] for those how know  how to program a simple interface for it? \\
  
  
 ===== To Do ===== ===== To Do =====
-getting Access to the 7segment Display on the BCR2000\\ +Nothing it is done!\\
-needet for to see the actual Preset (0-999), the Machine ​is built to PC via Midi, but what when you want to copy a whole patchto a other\\+
  
-scale min max values for CCs (for example different synths have only 0-3value instead of 0-127, by different functions like WAVEFORM...) - should also a part of the editor\\+maybe scale min max values for CC: for example different synths have only 0-3value instead of 0-127, by different functions like WAVEFORM...) - this will be interesting when using other synths then nord drum...\\
  
  
Line 108: Line 108:
 [[http://​www.sequencer.de/​synth/​index.php/​B-Control-Konfiguration|BCR-SYSEX-GUIDE]]\\ [[http://​www.sequencer.de/​synth/​index.php/​B-Control-Konfiguration|BCR-SYSEX-GUIDE]]\\
 [[http://​www.sequencer.de/​synth/​index.php/​B-Control-Tokenreferenz|TOKEN-Reference]]\\ [[http://​www.sequencer.de/​synth/​index.php/​B-Control-Tokenreferenz|TOKEN-Reference]]\\
-[[http://​www.sequencer.de/​synth/​index.php/​BC-Convert|BC-Convert]] Convert SYX into Textfile to Edit and reverse... better then every BCR Editor! But Windows only... i run a oracle virtualbox with a VM-W7 under Linux, with a shared folder +[[http://​www.sequencer.de/​synth/​index.php/​BC-Convert|BC-Convert]] Convert SYX into Textfile to Edit and reverse... better then every BCR Editor! But Windows only... i run a oracle virtualbox with a VM-W7 under Linux, with a shared folder\\
- +
  
  
Line 116: Line 114:
   * **[[Phatline]]** =  Programming,​ Documentation...\\   * **[[Phatline]]** =  Programming,​ Documentation...\\
  
-Just let a Private message on the forum to user already involved+Just let a Private message on the forum to user already involved, the sourcecode is includet in the firmware .zip!!!
msq-cc-bcr.1486145759.txt.gz · Last modified: 2017/02/03 18:15 by phatline