Friday, July 11, 2008

Inside the V-Synth, Part 5

In Part 5, we'll look at the V-Synth's I/O, and a how it stores patches and files.

Audio Ins and Outs

The V-Synth has two pairs of stereo analog outs; any patch can route its output to either. The direct outs bypass the internal effects. (Do they also bypass the system EQ?) A headphone jack replicates the main outs. The master volume slider on the control panel effects all of these outputs.

The stereo external input jacks provide audio input for the V's sampling functions, and also for all patches which specify the external inputs as the oscillator source. The input level is controlled by a knob next to the master volume slider on the panel, and there are also a pair of trim controls on the back panel next to the jacks. A pair of red LEDs indicate clipping. These inputs are intended for line-level sources; the trim controls might provide enough gain to directly connect a dynamic mic (although the inputs aren't balanced).

Being that the V is a digital synth, the analog ins and outs are necessarily working through A/D and D/A converters. The manual doesn't provide any specifications for these, so naturally questions about the quality of the conversions come up. I did a casual A/B test, comparing the analog outs of the V against the D/A conversion in my MOTU 828 (fed from the V via S/PDIF). The Mk I 828 is not noted for having the world's best converters, but I think it was a little quieter than the V's analog outs. I haven't done any close listening to the analog inputs; for most of the uses to which they will be put, it isn't as critical.  

The V offers two choices of digital I/O: Coax connectors, for connecting to S/PDIF coax cable, or optical connectors for TOSLink via fiber. I have experimented with the TOSLink outputs and they work well; they connected easily to the 828, and the 828 has problem no syncing to the V's word clock at 44.1 or 48 KHz. (The V can also output at 96 KHz, but the Mk I 828 can't sync to that, so I have no means to test it.) Note that the digital outs only replicate the main analog outs; the content of the analog direct outs isn't available on the digital outputs.

MIDI I/O

The V has the usual set of MIDI in, out, and thru jacks. The MIDI Thru is a properly hardwired thru, for minimum latency (as opposed to some synths which only offer a "soft thru"). The V can transmit and receive on any channel. The usual message types and controllers that one would expect are supported. One pleasant surprise is that, although the keyboard does not generate polyphonic aftertouch, the V does respond to poly aftertouch (Key Pressure) MIDI messages. Even though not many keyboards are equipped with poly aftertouch, most sequencers and DAW software can generate the MIDI messages. So when driving the V from a sequencer, you can, for instance, apply vibrato or a filter sweep to just one note of a chord. Poly aftertouch is routed the same as normal aftertouch in the control matrix -- there isn't a separate source type for it.

The V's various controllers transmit the following CC numbers (in the factory default configuration; most of them can be changed, but I recommend that you leave them as is). Note that with the exceptions of Bank Select and RPN Number, only 7-bit controller messages are supported, because the V over-maps the CC 32-63 range (which is what would be used for the least significant byte of 14-bit controllers) for additional controller types. "D-Beam L" and "D-Beam R" stand for the left and right sensor halves of the D-beam. "TT" stands for the Time Trip pad, and "LSB" is used as an abbreviation for "least significant byte" in the CC standard controller names.

ControllerCC #MIDI Standard Name
Modulation function of pitch lever01Modulation
Assignable Knob C102Breath Controller
Expression Pedal 107Volume
Expression Pedal 211Expression
D-Beam L -- Time Trip16General Purpose Controller 1
D-Beam L -- Time17General Purpose Controller 2
D-Beam L -- Pitch18General Purpose Controller 3
D-Beam L -- Assignable19General Purpose Controller 4
Assignable Knob C234Breath Controller LSB
D-Beam R -- Time Trip48General Purpose Controller 1 LSB
D-Beam R -- Time49General Purpose Controller 2 LSB
D-Beam R -- Pitch50General Purpose Controller 3 LSB
D-Beam R -- Assignable51General Purpose Controller 4 LSB
Sustain Pedal64Hold 1
TT Pad -- Assignable X80General Purpose Controller 5
TT Pad -- Assignable Y81General Purpose Controller 6
TT Pad -- Time Trip X82General Purpose Controller 7
TT Pad -- Time Trip Y83General Purpose Controller 8

A few things to note here. The big one is that the V receives all this same data on the same controller numbers. So, if you are recording MIDI into your sequencer, you have the D-Beam in Pitch mode, and you operate it while recording, you will have MIDI CC data recorded on controller numbers 18 and 50. When you play it back, the CC data will have the same effect on the pitch as it did when you played the D-Beam during recording. Note this is true even if the D-Beam is in a different mode (or off) at playback time! Each mode of the D-Beam uses a separate pair of CC numbers. It is quite possible to send data for multiple modes simultaneously during playback, and all of them will be effective. You could go back to the MIDI recording you just made, set up a MIDI overdub, put the D-Beam in Assignable mode, and record some more data which would be on CC numbers 19 and 51. At playback, both the pitch and the assignable parameters will be controlled, simultaneously, by their respective CC data. This is a very nice feature. The same thing applies to the Time Trip pad: Time Trip data and X-Y assignable data are on different CC numbers, and you can have both going simultaneously on playback.  Here is an example of some Time Trip pad data (captured by MIDI Monitor):



(Note that because the TT Pad and D-Beam modes are patch parameters, if you are recording and you have send sysex enabled in the V's system parameters, when you change modes, it will send a sysex. When played back, the sysex will cause the mode to change and you'll see that on the panel. However, because the controller data is specific to the mode it was recorded in and not the mode at playback time, these mode changes at playback will have no effect. You can delete these sysexes if you want.)

Some more notes on the MIDI behavior of the Time Trip pad:
  1. Although the pad operates in R-theta coordinate space when in Time Trip mode, it sends the MIDI data in this mode as X-Y coordinates. This is rather unfortunate because editing the data in a sequencer, and getting the behavior you want, is a non-trivial task. If anybody is really really interested, I'll sit down and work out the trig formulas for it.
  2. A value of 0 in one of the TT Pad CC messages means that the pad is not being touched. When the pad is touched, both CC messages (for whichever mode is active) transmit with non-zero values.
  3. The TT Pad Hold button does not send any MIDI itself. It causes the last touched position on the pad to be held, as if you still had your finger on the pad at that point, and this is reflected in the MIDI data. (If send sysex is enabled in the system parameters, it will send a sysex when Pad Hold is turned on and off. This will not effect playback, but it could leave Pad Hold on when you don't want it to. It might be a good idea to delete these sysexes.)
In addition to the controller types listed above, the V also receives and processes data for the following controller numbers:

MIDI Standard Name CC #
05 Portamento Time
06/38 Data Entry
07 Volume
65 Portamento
66 Sostenuto
91 Effect Level 1 (controls Reverb level)
93 Effect Level 3 (controls Chorus level)
100/101 RPN Number

Clock Source

The clock source used by the arpeggiator, and by LFOs that have been synced to tempo, can be internal or external. When external clock is selected, the V expects to receive MIDI Clock (not MIDI Time Code) from a sequencer or other external source. Regardless of whether the source is internal or external, the V can also be set to output MIDI Clock. These settings are in the system parameters.

Patch Selection and Program Change Messages

Since the V has 512 patch memory slots, it obviously requires using Bank Switch messages in order to be able to select any patch via MIDI. Patch memory is divided into four banks, with patches 0-127 in bank 0, patches 128-255 in bank 1, and so on. For some odd reason, bank changes require sending a Bank Select MSB message (CC #0) with a value of 87, followed by a Bank Select LSB message (CC #32) with a value in the range 0-3 to select the desired bank. The V will transmit Bank Select and/or Program Change messages whenever a patch is selected, if such is enabled in the system settings; Bank Select and Program Change can be enabled and disabled individually. Note that when the bank and patch buttons on the panel are used to select a patch, the transmitted MIDI messages will reflect the number of the assigned patch, not the bank/patch number of the button pressed.

Parts and Multitimbrality

The V is sort-of multitimbral and allows for up to 16 parts. Every part can be assigned to a different channel, or parts can be doubled up on a channel. Unneeded parts can be disabled. We say the V is sort-of multimbral because the effects settings for all parts are determined by the patch that is loaded in part 1. Additionally, the panel can only display and edit the patch parameters for part 1. (Unlike, say, the JD-800 which has buttons to select which part is in control of the panel... I wonder why this wasn't implemented on the V.) Part setup is in the system parameters.  Below is an image of the part setup screen.  In this setup, I have parts 1-6 set up to operate on MIDI channels 11-16 respectively, and the rest of the parts are disabled.  




USB

The V's USB connection can be configured to operate in one of two modes at any given time: MIDI mode or storage mode. In MIDI mode, the V can transmit and receive MIDI messages via the USB.  This mode is pretty straightforward.  On the Mac, the V appears as a MIDI device named "Roland V-Synth" which shows up in Audio MIDI Setup and sequencer applications.  The only parameter available is a switch marked "USB MIDI THRU" that shows up on the V's USB configuration screen (you press the "USB SETUP" button under the "MIDI USB" tab on the system screen).  The diagrams in the manual are pretty confusing, but I think the way it works is this: When this switch is off, the USB and the MIDI jacks act in parallel; the V can be controlled by either.  When the switch is on, the MIDI jacks on the V can be used as an interface to another MIDI device.  Everything that comes in over the USB will be repeated out the MIDI Out jack, and the V will merge data from the MIDI In jack into the MIDI stream sent out over the USB.  In theory, you could use this to connect another synth to your system, but I suspect that the timing would not be great.  However, it could be handy for a MIDI-controlled effect or something else for which timing is not critical.  Note that I'm getting all of this from the manual; I have not actually tried the USB Thru mode.  

Storage mode provides direct access to the V's file system storage. In this mode, the V mounts as an external disk on the computer that it is connected to. I've tested it with both a PC running Windows Vista, and a Mac running OSX 10.4, and it works well on both. To access storage mode, first the computer must be on and the USB cable connected. Go to the mode menu and select USB mode. The next screen will allow you to choose whether the V's internal memory or the plugged-in PC card is to appear as a mounted drive at the computer. Once the selection is made, the V will attempt to connect; if it works, the drive icon will appear at your computer. The V must remain at this screen as long as the drive is mounted at the computer; you can't do anything else with the synth while storage mode is active. The manual cautions that you must not let the computer sleep or hibernate while storage mode is active. From the computer, you can copy files in either direction. This lets you make copies of the synth's files for backup or swapping out; load patches into the synth; and load sample files for importing as PCM waveforms. The manual says not to delete or rename the V's files from the computer -- use the disk mode's tools function on the V to do that.  Below is an example of the V's internal flash memory, mounted as a drive on a Mac running OSX 10.4.11:



You have to install a driver from Roland before you can use either USB mode.  Drivers for both Windows and MacOS are available. If you got the original CD with your V, they are on there, but it would be a good idea to check with the Roland Web site for updated versions. I tried the Mac driver and it works; there's nothing fancy, but it works. The driver's release notes do say that the driver cannot recover from a sleep, so when the V is connected, the Mac's system settings must be set up to prevent the computer from sleeping. If you are only using storage mode, this normally won't be a problem since you will generally only be using the USB connection for a few minutes at a time (since you can't play the synth while the USB is active in storage mode). I have not tried the Windows driver.

To set up the USB connection in storage, you connect the cable, go to the mode screen, choose USB, and then (if you have a PC Card in the rear panel slot) choose whether you want the computer to access the V's internal flash memory, or the PC card. After a few seconds, the chosen storage appears as a new drive on your computer; its name will be "V-SYNTH" if you are mounting internal memory, or the name that the card was formatted with ("PC CARD" by default) if you are mounting the card. To terminate the connection, or change to the other storage, use the computer's method for ejecting the drive. Once the drive is ejected, you can press the EXIT button on the V to leave USB mode, or choose one of the two storage spaces to mount again. Sometimes, to re-mount, you have to disconnect and reconnect the USB cable, and sometimes you don't. I haven't figured out what causes that. Currently I have my V connected to a short USB cable which then plugs into a USB extender, and I disconnect and reconnect when needed at the extender.

The V stores all of the patches and PCM waveforms in a file structure called a "project folder". The top-level project folder contains several system files, and two sub-folders. One of the sub-folders contains all of the encoded PCM waveforms. The other contains patches, one per patch file, in one of two formsts: either a WAV file, or a proprietary format with a file name ending with a ".w00" extension. (I think only the factory-supplied ones use the ".w00" format; from what I've seen, all user-created ones remain as WAV files.) Note that one of the system files contains all of the system mode settings, which means that when you load a new project, your system settings may change.

The V has internal flash memory storage for a single project, with some amount of space for wave files; as I figure it there's storage for about 125 seconds' worth of stereo waves at the 44.1 KHz rate. There is actually 16 MB of internal flash, but the system only allows one project folder to be stored there at a time, and it must be named "Internal.prj". (I've tried copying in project folders with other names into the internal memory via USB; it lets you do the copy if there's enough space remaining, but the disk tools project load screen won't let you load it. The manual does say that this is the way it works, but there is no reason why that is obvious to me.) However, there is also a PC Card (PCMCIA) slot on the back where you can insert a memory card. The memory cards can hold multiple projects, and the folders can be named anything that ends with the ".prj" extension. Both the internal flash and the memory cards can also store WAV files that aren't in a project, for importing. You can replace a project, in either internal memory or on the card, by copying over it with another project folder of the same name via the USB connection. I think you can also swap around individual patch files, although I have not yet experimented extensively in this area. The name of each patch file begins with a three-digit number that determines what its slot number will be when the project loads; the rest of the file name is the visible patch name. I believe you can copy in patch files into the patch folder inside the project folder to add patches to a project. However, to rename or delete individual patches, you have to do that from the V's disk tools; according to the manual, you can't do that directly from the computer.

The project files provide, among other things, a way to organize patches and waves by song, by session, or any other way you want to do it This means that, for example, you don't have to have every single wave file in your possession in the V all the time; you can organize projects so that only the waves you need for a given set of patches are present in a given project folder. Only one project at a time can be loaded. When you power up the V, it loads "internal.prj" from internal flash, and that's what you see when the screen first comes up. You can go to the disk tools to load a different project, or to re-load the current project. You're probably wondering how patch edits get saved, what with all these project files running around. The answer is that, when you load a project, the V remembers what project is loaded. When you save a patch, it re-writes the patch file inside that project, in addition to holding the edits in a working area where the current project is held. The same goes for editing waves. However, you can also save the entire project from the disk tools screen. This saves every file in the project. This is in fact what you must do when you edit the patch pallettes; unlike patches and waves, they don't save back to the project automatically. Note that if you make "back-door" changes to the currently loaded project, using the USB connection or by swapping out the PC Card, these won't appear in working memory until you manually re-load the project from the disk tools screen.

Importing samples can easily be done in USB storage mode. Samples to be imported must be in WAV format, which nearly every piece of DAW software and OS can now produce (yes, you can export WAV files on a Mac too, with Quicktime). Once you have the V-Synth mounted, copy the WAV files you want to import into the top level of the project folder (not into one of the subsidary folders). Once you've done this, eject the V-Synth disk icon. You can then go to the V-Synth's screen, exit USB mode, go into sample mode, and select "Import". You will see a list of files from the top level of the project folder, from which you can select one of the WAV files you copied in for editing and encoding. Once you have encloded the sample, you can delete the WAV file. Exit sample mode, go to disk mode, and into the disk tools function. Select the Delete mode, and then choose and confirm each file to be deleted. Be careful not to delete any of the system files -- if you do, you may have to perform a factory reset.

I'll leave you with this image of the USB storage mode screen:



Next time, we'll take a look under the panel and see what the V's guts actually consist of.  I'm not sure when I will get that installment done -- it may be a while.  Look soon for pics of my new rec-room studio, which is the reason it took me so long to get this installment done.