Subversion Repositories svn.mios

Rev

Rev 1162 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1149 tk 1
HEADER 3 MIDIbox CV V2
2
 
3
<H1>MIDIbox CV V2</H1>
4
<H3>Created 2012..14</H3>
5
 
1162 tk 6
<P CLASS=INFO>MIDIbox CV V2 is the successor of <A HREF="midibox_cv_v1.html">MIDIbox CV V1</A> with focus on digital, high-resolution modulation of CV outputs and an enhanced control surface.</P>
1149 tk 7
 
8
<P CLASS=INFO>This project is currently under development, please follow the progress <A HREF="http://midibox.org/forums/topic/16415-midibox-cv-v2-concept/" TARGET="_blank">in this forum article</A> and feel free to contribute with your ideas!</P>
9
 
10
<P CLASS=INFO>Here a video which has been created with an early prototype:<BR>
1200 tk 11
<iframe width="560" height="315" src="https://www.youtube.com/embed/utr23hp2nRM" frameborder="0" allowfullscreen></iframe>
1149 tk 12
</P>
13
 
14
<P CLASS=INFO>Below you will find some preliminary informations:</P>
15
 
16
<H2> <IMG SRC="images/bullet.gif" ALT=""> Concept</H2>
17
 
1152 tk 18
 
19
<H3 CLASS="left"> * Key features</H3>
1149 tk 20
<UL CLASS=CL>
21
  <LI>Running on a <A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A> (legacy) or <A HREF="mbhp_core_stm32f4.html">MBHP_CORE_STM32F4</A> module (recommended once PCBs are available)
22
  <LI>MIDI messages received and sent over multiple (traditional) MIDI IN/OUT ports, USB-MIDI and <A HREF="midibox_osc.html">OSC (Ethernet)</A>
23
  <LI>limited to 8 CV output channels maximum
24
  <LI>Up to 64 gate outputs, which can also be used as drum triggers (with configurable pulse width).
25
  <LI>DIN Sync interface with Start/Stop and 7 Clock Outputs (clock dividers are configurable individually)
26
  <LI>Various modulation and sequencing functions (see separate list below)
27
  <LI>Control Surface with graphical LCD support (see separate list below)
28
  <LI>Remote Control via Lemur, running under iOS
29
  <LI>Patches stored on SD Card
30
</UL>
31
 
1152 tk 32
 
33
<H3 CLASS="left"> * Available functions for each CV channel</H3>
1149 tk 34
<UL CLASS=CL>
35
  <LI>typically 12bit outputs with common MBHP based AOUT modules. Internally working with 16bit
36
  <LI>Volt/Octave (positive and negative) and Herz/Volt characteristic
37
  <LI>configurable slew rate to "smooth" the output curve (e.g. if controlled only by 7bit CCs)
38
  <LI>selectable MIDI port (USB/MIDI/OSC), can also listen to multiple ports
39
  <LI>selectable MIDI channel and keyboard range (if it listens to MIDI notes)
40
  <LI>can listen to MIDI Note, Velocity, Aftertouch, CC, NRPN (14bit), PitchBender (14bit)
41
  <LI>Portamento, Glide, Glissando
42
  <LI>Octave Transpose, Semitone Transpose, Finetune, Pitch Range for incoming PitchBender events in MIDI Note mode.
43
  <LI>Legato, SusKey (fingered portamento)
44
  <LI>Poly chain mode to combine multiple CV for controlling multiple VCOs
45
  <LI>Arpeggiator with Up/Down/Up&amp;Down, Random, etc. modes. Options: Sort, Sync, Oneshot, Constant Arp Cycle rate, Easy&amp;Expert play, Speed and Gatelength.
46
  <LI>303-like Bassline Sequencer with up to 32 steps and 8 sequences. Supports also Glide and Accent
47
  <LI>2 LFOs with Amplitude, Rate, Delay, Phase and predefined modulation targets CV output, LFO2/1 Amplitude, LFO2/1 Rate, ENV1/2 Rate.<BR>
48
      Various waveforms such as Sine, Saw, Pulse, Random, Positive Sine/Saw/Pulse, etc.
49
      Works in "slow" (0.008..44 Hz) and "fast" mode (up to 440 Hz). Supports also Key Sync, MIDI Clock Sync and Oneshot
50
  <LI>1 simple ENV with Amplitude, Delay, Attack, Decay, Sustain, Release and predefined modulation targets CV output, LFO2/1 Amplitude, LFO2/1 Rate,<BR>
51
      Supports Linear and Exponential curve.<BR>
52
      Works in "slow" and "fast" mode. Supports also Key Sync, MIDI Clock Sync and Oneshot.
53
  <LI>1 multi-stage ENV with Amplitude, Offset, Rate, 16 steps with selectable loop and sustain step and predefined modulation targets CV output, LFO2/1 Amplitude, LFO2/1 Rate.<BR>
54
      Supports Linear and Exponential curve.<BR>
55
      Works in "slow" and "fast" mode. Supports also Key Sync, MIDI Clock Sync and Oneshot.
56
  <LI>4 Modulation Matrices with two sources (incl. constant values), two destination paths (invertable), and operations such as +, -, multiply, XOR, OR, AND, MIN, MAX, &lt;, &gt;, Equal, Sample&amp;Hold
57
</UL>
58
</P>
59
 
1152 tk 60
 
61
<H3 CLASS="left"> * Control Surface functions</H3>
1149 tk 62
<UL CLASS=CL>
63
  <LI> a "Standard Control Surface" (SCS), compatible to various other MIDIbox projects, which gives (a cumbersome) access to all parameters.
64
  <LI> the display used for the SCS can either be a 2x20 character LCD (CLCD), or a 128x64 graphical LCD. The graphical LCD will also print a scope!
65
  <LI> support for 4 OLEDs which are used as scopes! CV channels can be assigned to the scope displays individually. Selectable oversampling rate and trigger level.
66
  <LI> all parameters are also bidirectionally accessible via NRPN, this is demonstrated by a sophisticated Lemur template, running on an iPad. A PC/Mac based solution (e.g. based on Ctrlr) is feasible as well
67
  <LI> user configurable buttons (up to 32)
68
  <LI> user configurable rotary encoders (up to 16)
69
  <LI> optional LED rings for encoders
70
</UL>
71
 
1152 tk 72
 
73
<H3 CLASS="left"> * Additional features:</H3>
1149 tk 74
<UL CLASS=CL>
75
  <LI> MIDI Router with 16 nodes
76
  <LI> MIDI Monitor for all ports
77
</UL>
78
 
79
 
80
<H2> <IMG SRC="images/bullet.gif" ALT=""> Planned/Requested Features</H2>
81
 
82
<UL CLASS=CL>
1162 tk 83
  <LI> support for up to 8 fast scanned analog inputs at J5A and J5B which can be used in the modulation matrix for modulation operations (note LPC17 will only provide 6 inputs, since J5B.A6 and A7 are used for MIDI3)
1149 tk 84
  <LI> 8 sync inputs for all CV channels
85
  <LI> a clock sync input which will then be transfered into the divided (or multiplied) clock outputs
86
  <LI> force-to-scale with selectable keys (no predefined scales)
87
  <LI> patch morphing
88
</UL>
89
 
90
<H2> <IMG SRC="images/bullet.gif" ALT=""> Hardware</H2>
91
 
1152 tk 92
<H3 CLASS="left"> * Core Module</H3>
1149 tk 93
 
94
<P CLASS=DESC>The brain of MIDIbox CV V2 is one of following core modules:
95
  <UL CLASS=CL>
96
    <LI><A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A>: supported due to legacy reasons
97
    <LI><A HREF="mbhp_core_stm32f4.html">MBHP_CORE_STM32F4</A>: recommended once PCBs are available. Less expensive, and runs ca. 25% faster than LPC17
98
  </UL>
99
</P>
100
 
101
 
1152 tk 102
<H3 CLASS="left"> * SD Card</H3>
1149 tk 103
 
104
<P CLASS=DESC>MIDIbox CV V2 stores patches and configuration data on a SD Card. For MBHP_CORE_LPC17 it will be required to build an <A HREF="mbhp_sdcard.html">adapter</A>, the MBHP_CORE_STM32F4 has an on-board SD Card slot!</P>
105
</P>
106
 
107
 
1152 tk 108
<H3 CLASS="left"> * CV Outputs</H3>
1149 tk 109
 
110
<P CLASS=DESC>Following MBHP based modules are recommended:
111
  <UL CLASS=CL>
112
    <LI><A HREF="mbhp_aout.html">MBHP_AOUT</A>: was the first AOUT module, and is still popular, although the two MAX525 makes it expensive.
113
    <LI><A HREF="http://www.midibox.org/dokuwiki/aout_ng">MBHP_AOUT_NG</A>: the preferred AOUT module, which uses the TLV5630, and also provides a bipolar option for +/- 5V
114
  </UL>
115
</P>
116
 
117
 
1152 tk 118
<H3 CLASS="left"> * CV Gates</H3>
1149 tk 119
 
120
<P CLASS=DESC>The 8 CV channels have dedicated CV outputs which can be assigned to a shift register of a <A HREF="mbhp_dout.html">MBHP_DOUT module</A>. By default, they are assigned to the first shift register in the SRIO chain, but the assignment can be changed in the DEFAULT.CV2 file which is stored on SD Card.</P>
121
 
122
<P CLASS=DESC>Note that the gates are assigned from the left to the right output pin, accordingly:
123
<UL CLASS=CL>
124
  <LI>Gate of CV1 is available at the D7 output
125
  <LI>Gate of CV2 is available at the D6 output
126
  <LI>Gate of CV3 is available at the D5 output
127
  <LI>Gate of CV4 is available at the D4 output
128
  <LI>Gate of CV5 is available at the D3 output
129
  <LI>Gate of CV6 is available at the D2 output
130
  <LI>Gate of CV7 is available at the D1 output
131
  <LI>Gate of CV8 is available at the D0 output
132
</UL>
133
 
1150 tk 134
<P CLASS=DESC><I>TODO: add interconnection diagram.</I>
135
 
1149 tk 136
<P CLASS=DESC>In addition, it will be possible to assign up to 7 additional shift registers for gate outputs which are unrelated to the CV channels. Note values, channel and port are free assignable, and it's also possible to specify a pulse lenght for the case that the outputs should be used as drum triggers.</P>
137
 
138
<P CLASS=DESC>The gates are switching between 0V and 5V level, and should be protected with a serial 220 Ohm resistor (already part of the MBHP_DOUT module)</P>
139
 
140
 
1152 tk 141
<H3 CLASS="left"> * DIN Sync outputs</H3>
1149 tk 142
 
143
<P CLASS=DESC>Another <A HREF="mbhp_dout.html">MBHP_DOUT</A> based shift register can be assigned to DIN Sync outputs:
144
<UL CLASS=CL>
145
  <LI>D7 outputs a Start/Stop signal
146
  <LI>D6..D0 output clock #1..#7 with individually configurable clock dividers
147
</UL>
148
 
149
<P CLASS=DESC>The signals are switching between 0V and 5V level, and should be protected with a serial 220 Ohm resistor (already part of the MBHP_DOUT module)</P>
150
 
1150 tk 151
<P CLASS=DESC><I>TODO: add interconnection diagram.</I>
1149 tk 152
 
1150 tk 153
 
1152 tk 154
<H3 CLASS="left"> * Sync inputs</H3>
1149 tk 155
 
156
<P CLASS=DESC>Not implemented yet... they will require a dedicated assignment of a <A HREF="mbhp_din.html">MBHP_DIN</A> based shift register.</P>
157
 
1150 tk 158
<P CLASS=DESC>The inputs have to be protected against too low/high voltage ranges with diodes against ground and 5V.
1149 tk 159
 
1150 tk 160
<P CLASS=DESC><I>TODO: add interconnection diagram.</I>
1149 tk 161
 
1150 tk 162
 
1152 tk 163
<H3 CLASS="left"> * CV inputs and potentiometers</H3>
1149 tk 164
 
165
<P CLASS=DESC>Not implemented yet... they will require a dedicated assignment of a <A HREF="mbhp_ainser8.html">MBHP_AINSER8</A> based analog input.</P>
166
 
1150 tk 167
<P CLASS=DESC>The inputs have to be protected against too low/high voltage ranges with diodes against ground and 5V.
1149 tk 168
 
1150 tk 169
<P CLASS=DESC><I>TODO: add interconnection diagram.</I>
1149 tk 170
 
1150 tk 171
 
1152 tk 172
<H3 CLASS="left"> * SCS</H3>
1149 tk 173
 
174
<P CLASS=DESC>The optional Standard Control Surface (SCS) allows to edit some (but not all) configuration values without the need of a computer.
175
<center><img src="midibox_cv/midibox_cv2_scs.jpg" width="550" height=227></IMG></center>
176
</P>
177
 
178
<P CLASS=DESC>A <B>detented</B> rotary encoder and 6 buttons are directly connected to J10 of the core module to control the menu system:<BR>
179
<a href="midibox_ng/mbng_scs.pdf">Schematic of the Standard Control Surface</A><BR>
180
In addition a 2x20 LCD or a 128x64 graphical LCD is required.</P>
181
 
182
<P CLASS=INFO>The <A HREF="midio128.html">MIDIO128</A> and <A HREF="midibox_ng.html">MIDIbox NG</A> project use the same control surface, which means that users who built a MIDIO128 or MBNG can upload the MIDIbox CV firmware and control it with their existing hardware, and vice versa!</P>
183
 
184
 
1152 tk 185
<H3 CLASS="left"> * Scope displays</H3>
1149 tk 186
 
187
<P CLASS=DESC>Up to 4 SSD1306 based "scope displays" can be connected to display CV output waveforms with a selectable oversampling rate and trigger level:<BR>
188
<center><img src="midibox_cv/midibox_cv2_scopes.jpg" width="550" height=289></IMG></center>
189
</P>
190
 
191
<P CLASS=DESC>Interconnection diagrams:
192
<UL CLASS=INFO>
1162 tk 193
  <LI><B>MBHP_CORE_LPC17:</B> <A HREF="mbhp/mbhp_lcd_ssd1306_alt_port__lpc17.pdf">mbhp_lcd_ssd1306_alt_port__lpc17.pdf</A> (connections to J5A and J28)
194
  <LI><B>MBHP_CORE_STM32F4:</B> <A HREF="mbhp/mbhp_lcd_ssd1306_alt_port__stm32f4.pdf">mbhp_lcd_ssd1306_alt_port__stm32f4.pdf</A> (connections to J10B)
1149 tk 195
</UL>
196
</P>
197
 
198
<P CLASS=DESC><B>Note:</B> certain PCB breakout boards for this OLED have a different pinning, please check the datasheet! <I>TODO: document at least one alternative connection diagram for different pinning!</I>
199
 
1152 tk 200
<H3 CLASS="left"> * Dedicated Buttons</H3>
1149 tk 201
 
202
<P CLASS=DESC>Up to 32 free assignable button functions are available. The buttons have to be connected to a <A HREF="mbhp_din.html">MBHP_DIN</A> module, and can be assigned to functions in the DEFAULT.CV2 file.
203
<center><img src="midibox_cv/midibox_cv2_userbuttons.jpg" width="550" height=410></IMG></center>
204
</P>
205
 
206
 
1152 tk 207
<H3 CLASS="left"> * Rotary Encoders and LED Rings</H3>
1149 tk 208
 
1200 tk 209
<P CLASS=DESC>Up to 32 free assignable rotary encoder functions with support for LED rings are available. The encoders have to be connected to a <A HREF="mbhp_din.html">MBHP_DIN</A> module, the LED rings to four shift registers of a <A HREF="mbhp_dout.html">MBHP_DOUT</A> module.
1149 tk 210
<center><img src="midibox_cv/midibox_cv2_lre8x2.jpg" width="550" height=137></IMG></center>
1200 tk 211
<P CLASS=DESC>A complete frontpanel PCB with encoders, LED rings, DIN and DOUT shift registers has been created by Fairlightiii and is documented at <A HREF="http://www.midibox.org/dokuwiki/doku.php?id=mb-lre8x2cs_pcb" TARGET="_blank">this page</A>. Up to two LRE8x2 are supported by the firmware.
1149 tk 212
</P>
213
 
214
 
1152 tk 215
<H3 CLASS="left"> * iPad + Lemur</H3>
1150 tk 216
 
1162 tk 217
<P CLASS=DESC>The Lemur based control surface gives you full remote access to MIDIbox CV V2! I used it during the development phase, and maintain it frequently (to test new features), therefore it's the reference for full parameter access. If you don't own an iPad yet, you could buy it second-hand via <A HREF="http://www.ebay.de" TARGET="_blank">Ebay</A>; even an iPad of the first generation (search for iPad1) will work with a sufficient performance!</P>
1150 tk 218
 
219
<P CLASS=DESC>Lemur is available at <A HREF="https://itunes.apple.com/us/app/lemur/id481290621?mt=8" TARGET="_blank">iTunes</A> for ca. 25 EUR, and it's definitely worth the money. Especially due to the scripting capabilities I was able to create sophisticated control panels which communicate via NRPN parameters (= 14bit value range) bidirectionally! Means: the parameters used by MIDIbox CV V2 are in sync with the panels!</P>
220
</P>
221
<center><img src="midibox_cv/v2_mockup/mbcv_mockup1_3.png" width="550"></IMG></center>
222
 
223
<P CLASS=DESC>The .jzml file for Lemur is part of the installation package, and can be found in the lemur/ directory.</P>
224
 
1152 tk 225
<H3 CLASS="left"> * Frontpanel PCBs</H3>
1149 tk 226
 
227
<P CLASS=INFO>Currently under discussion, see the <A HREF="http://midibox.org/forums/topic/16415-midibox-cv-v2-concept/" TARGET="_blank">forum thread</A> for further details.</P>
228
 
229
 
230
FOOTER