Feeds:
Posts
Comments

Posts Tagged ‘midi’

I was in my local friendly music shop asking about other things and, for one reason or another, ended up playing with the Roland BOSS SY-300 Guitar Synth pedal. The guy in the shop was enthusing about how well it tracked guitars – including slides and vibrato and my  next thought was “yeah yeah, but how well would it work on a violin?” In my experience tracking a violin pitch is very very hard. I’ve seen nothing that would do it reliably in either hardware or software, and it’s something I’ve been looking for for a long time now.

To cut a long story short .. IT WORKS! it even tracks the octave violin (which is tuned an octave below a normal violin so, on a 5 string instrument, makes it go down to the bottom C string of a cello). I stayed in the shop for a couple of hours playing with my violins on the device and was simply astonished about how well it worked. It is possible to confuse it, either with bad technique or pulling too hard on the low octave C string, but those are hardly major problems for normal use. And by bad technique I don’t mean tuning – if you play out of tune, the SY-300 will simply play the pitch you hit, I mean not placing your finger cleanly on the string which makes a dull grinding note on the violin anyway. If you slide all the way down a string – the SY-300 will follow you, if you use wide or narrow vibrato – the SY-300 will follow you. If you play loud to soft to loud in a single bow stroke – the SY-300 will follow you.

Amazing.

The guy in the shop thought it worked even better with violin that guitar because of the expressive effect of the bow on amplitude, and the ability to play long notes easily, it turns the SY-300 into a very expressive synth. It’s interesting to note that playing a synth via a violin (or guitar for that matter) doesn’t sound like playing a synth from a keyboard, it transfers the intrinsic ‘feel’ of the instrument onto the sounds made by the synthesizer – so in no way is it a replacement for a keyboard synth, it’s something totally different.

You need good synthesis knowledge to get the most out of the pedal, a lot of the factory presets are very guitar-orientated, made for a plucked instrument and often with lots of distortions added, so to get the best from a violin you need to get in there and make your own patches. As a violinist who also plays synthesizers this is easy enough for me, but people less familiar with subtractive synthesis might find it hard work to get what they want from it. This really is an expert’s device/

The architecture is slightly odd. It has 3 oscillators (with the standard virtual-analogue waveforms) each with its own filter, LFO and sequencer. Yes, the LFOs, filters and sequencers are per-oscillator! There are also 3 global LFOs (called Waves) that can be applied to the built in effects as well as the oscillator parameters. There are 4 effects slots which can be placed almost anywhere you like on one of two synth busses or the dry channel, and are of very good quality – as you would expect from a BOSS device. There is a good range of the usual effects, delays, reverbs, phasers, flangers & distortions – all with a good range of options. And also there are combined effects (delay+reverb for example) so you can make full use of those four slots. Most of the parameters of the effects can be controlled from the Wave LFOs. Although the way you configure those is rather clunky.

There are a few downsides. While it has MIDI in & out sockets (including USB) it does not send or receive MIDI notes, only control change and program change. I would also have liked more waveforms than just the standard saw,triangle, sine, square and maybe some interaction between the waveforms (eg FM). Also the software editor doesn’t work on Mac OS/X Sierra. Even the driver (which is supposed to work) crashed my system … and WHY OH WHY do MIDI devices need drivers anyway when they should just be class-compliant?! sigh.

But generally I think it’s an amazing device and if you’re a violin player who’s also into synthesis I strongly recommend you have a look at it.

I made a video about it with more information and examples

Advertisements

Read Full Post »

As I blogged earlier I’m enjoying using the Roli Seaboard with the Waldorf Blofeld hardware synth. So I thought I’d share how I create patches that make good use of the capabilities of the Roli with the Blofeld. In the video below I take a very basic sawtooth wave and turn that into an expressive (if still not especially beautiful) patch in the Blofeld. You can apply this knowledge to your own patches and make them ‘Roli Aware’ so that you can play them expressively.

The basic steps are as follows:

  • Set the oscillator bend range to 24 so that you can slide up and down the Seaboard. The Blofeld doesn’t allow you so bend more than 2 octaves so it works fine on the Seaboard 24 but might not be quite as good on the 49.
  • Add a low pass filter and set the cutoff down to 20, and allow the modwheel to modulate it. The Roli sends CC74 for the ‘slide’ dimension which is not very useful on the Blofeld so I mapped it to the modwheel (CC 1) using the Reaper CC mapper as shown below. Other DAWs might have similar capabilities. It’s quite easy to do in Max or Pure-Data too.ccmap
  • The Roli starts the slide with value 64* (the middle of the 0-127 range) when you press a keywave regardless of where you start, and modulates it down or up from there – so be aware of this when you create your patch. It needs sound good with the modwheel halfway. This is why I start the filter at 20 and not 0.
  • Set the amplitude envelope attack and release to 64.
  • Set the mod matrix to Velocity modulating AE attack at -64. This allows you to press the keywave gently to get a slow attack, and quickly to get a fast attack
  • Set the mod matrix to Release Velocity (Rel.Velo) modulating AE Release at -64. Now when you release a keywave quickly you get a quick release and slowly you get a slow release. These two options allow you to play legato and staccato with the same patch. I love this feature!
  • Set the mod matrix Pressure to modulate Volume +64 – this allows you to increase the volume just by pressing harder on the keywave.
  • Set the Amplifier volume to 0. Otherwise the Pressure modulator won’t do anything as it can’t make the volume any louder than 127.
  • Save the preset

That’s a basic preset that will work with the Roli in single channel mode. To really get the best out of it you need to create a Multi with the same patch in slots 1-10. That way the Roli can send a note on each MIDI channel and they can act independently.

Be sure that the multi preset you use has the MIDI channels differently for each part number – this is the default so that channel 1 goes to Part 1, channel 2 to part 2 etc. You also need to set the MIDI channel (in Global options) to Omni, or the Blofeld will only listen on one MIDI channel. I forgot to mention this in the video.

And that’s it! Even with a bare sawtooth that is quite fun, but once you get your own really nice sounds you can exploit to potential of the Roli Seaboard to it’s full, expressive maximum. Of course you can, and should, experiment with the values shown here they are intended as a starting point for making your own expressively played sounds.

Here’s the video showing the whole process from start to finish, along with a completed patch:

  • If you set the Seaboard to MPE mode (using the dashboard) then the starting point for the ‘slide’ dimension will depend on where you press the keywave. I don’t think this is mentioned in the manuals, Rol support told me about it!

Read Full Post »

I was playing with the wonderful KMI QuNeo controller the other day and started experimenting with bending synth notes and/or filters using the pressure and X/Y positions on the pads – I’m a violinist, it’s what we do! This works really well for single notes but because things like bends and filter positions are a single CC sent to affect all of the notes played on a synth it’s much less useful when playing more than one note. Worse: if you move one finger then another, the CC value jumps between the two positions giving you a very glitchy sound. Some might like this effect but it’s not what I’m going for.

So, remembering that MIDI has an ‘aftertouch’ option I started looking into that. I didn’t really have a clear idea what aftertouch was, I’d played a StudioLogic Sledge2 synth in a shop and felt the extra travel on the keyboard and thought that seemed to be what I needed. However it turns out that there are TWO types of aftertouch.

‘Channel pressure (aftertouch)’ is pretty much just another modwheel-type controller – but usually controlled from the keys themselves which does make it handier than a modwheel when performing. It affects the whole synth though and therefore suffers from the same problem as a modwheel or global CC. This is the what most manufacturers seem to mean when they ‘support aftertouch’ I found out – including the Sledge. ‘Polyphonic Pressure (aftertouch)’ is the thing I wanted – and it’s much harder to find, in both synths and keyboards. The only synth I have that supports it is the Waldorf Blofeld (ah Blofeld, how do I love thee, let me count the ways). To test this I wrote a small Max patch that added Poly Pressure messages to the last note played on the keyboard, and controlled it from an on-screen slider (see video below). Using this I could bend one note in a chord while the other stayed the same. Yes!

The problem now was that the QuNeo, while being a very flexible controller, is actually very limited in what MIDI messages it will send. Basically it only sends note and CC messages – and they have to be on the same channel for each pad. Contrast this with the SoftStep2 (my first KMI purchase) that will send almost anything. Luckily I’m a programmer and have been working with my Raspberry Pi system for a while now so I wrote some code that converts the CC numbers sent by the QuNeo to PolyPressure messages.

The way this works is that all of the pads send notes when pressed and send the same CC number with pressure information, all on MIDI channel 10 (eg I press pad 4, it sends note on for MIDI note 44, and continuously sends CC 44 with the value of my finger pressure). The Raspberry Pi code then intercepts any channel 10 messages, converts any notes back to channel 1, and converts all CCs to channel 1 Poly Pressure messages. The sliders and knobs still send their existing CCs on channel 1 so that they can still do the normal global synth control things such as filter and volume changes.

I don’t know why Poly Pressure is so underutilised, I really like the results I can get with this system and really wish there were more polyphonic controls available, but I intend to make best use of the one I have, even if it’s only on one synth. It would also be nice if more synths supported it. I know some old synths from Ensoniq and Roland do but I don’t ‘do’ vintage synths – for reasons of my own.

Not even any softsynths (that I can find, though as I’m not a fan of them I didn’t look very hard) seem to do this which is bizarre given that it’s a logical place for that sort of code to reside. The fact that Ableton seems to actively remove poly pressure messages from the MIDI stream probably isn’t helping this *sad face*.

I suspect it might be catch-22. Few synths support polypressure because hardly any keyboards do, and hardly any keyboards do because few synths do. While researching this I did find a keyboard that supports Poly Pressure (supposedly) and have ordered it off eBay – because it’s discontinued. When it arrives (and if it does what I hope) I’ll update this blog post with the results.

Maybe I should save up for a Roli Seaboard  (eek!)

Here’s a video I made showing my experiments. In the first part you can see the filter setting jumping around. In the second I made a Max patch that was a proof-of-concept – mainly to make sure that the Blofeld did what I hoped it was going to do (note there’s a bug in that patch the doesn’t take into account NOTE OFF messages). Lastly there’s the QuNeo running via my Raspberry Pi system that converts CCs to PolyPressure messages.

Read Full Post »

NOTE: This post is obsolete – Roland have released a firmware update for the JU-06 (and the other Boutique synths) that allows them to send and received MIDI CCs for their various functions, and these are also documented. See here for details.

 

I ‘accidentally’ bought one of the Roland ‘Boutique’ synths last week – the JU-06 one. It’s a nice instrument with a simple front panel and a good sound. It has a few annoying limitations, only 4 voice polyphony and the small stereo output jack but generally I rather like it.

One of the things I immediately noticed was missing, slightly unusual in a digital synth, was any obvious (or, at least, documented) way to control it remotely – either from a DAW or control surface. Moving the controls sent no MIDI CC values and no CC value I sent to the device made any difference apart from the usual documented ones of mod wheel and sustain pedal. Slightly disappointed, I left it at that for a few days.

Then, yesterday, Rob Schroeder on the Synthesizer Freaks Facebook group posted a (very) rough outline of what the SYSEX format was for the boutique range of synths and I started playing. Initially I could get nothing from that either but a bit more research revealed that the synth only sends those SYSEX messages when chained to another similar device for extra polyphony. It also only sends these messages down the 5 pin DIN MIDI socket – not the USB – but that gave me enough information to work on.

I plugged in a MIDI interface, enabled chaining and started moving sliders and pressing buttons. BINGO – numbers started appearing on the computer screen I was monitoring it from! I now had (nearly) all of the information I needed. The last bit of information to get was the checksum. This was very easy to establish as it’s a standard calculation based on the contents of the whole message (except for the header F0 and trailing F7 bytes).

So, here they are. I only have the JU-06 but I’m pretty sure that the other 2 synths in the Boutique range behave similarly and will be as easy to reverse-engineer. Although the synth only sends these sysexes over the 5 pin socket, it’s happy to receive them over the USB link, which makes it more useful.

The SYSEX message looks like this (all values are in hex)

F0
41 (Roland SYSEX number)
10 (device ID)
00 (modelID)
00
00
1D (Product code for the JU-06 )
12
03
00
address MSB
address LSB
value MSB
value LSB
checksum
F7

For sliders, the value is an 8 bit number (0-255) split into two, so the bottom 4 bits are sent in the LSB and the top 4 bits in the (bottom half of the) MSB. For switches the values are 1 or 0 as shown.

Addresses for the functions are as follows:

LFO Rate:       0600
LFO Delay Time: 0602
DCO Range:      0700 (values 0,1,2)
DCO LFO:        0702
DCO PWM:        0704
DCO LFO/Man:    0706 (values: Man:0 LFO:1)
DCO Sub:        070C
DCO noise:      070E
DCO Wave: PW:   0708   (values 0 1)
DCO Wave: Saw:  070A      “   “
HPF Freq:       0800
VCF Freq:       0802
VCF Res:        0804
VCF Env invert: 0806 (values 0 1)
VCF Env:        0808
VCF LFO:        080A
VCF KYBD:       080C
VCA Mode:       0900 (0=gate, 1=env)
VCA Level:      0902
Env A:          0A00
Env D:          0A02
Env S:          0A04
Env R:          0A06
Chorus:         1000 (off=0, A=1, B=2, both=3)
Delay level:    1002 (values 0->0xF)
Delay time:     1004   “ “     “ ”
Delay FB:       1006   “ “     “ "
Bend Range:     1108

The checksum calculation is expressed simply in C as follows

static unsigned char roland_cksum(unsigned char *data, int len)
{
        int i;
        unsigned int cksum = 0;

        for (i=0; i<len; i++) {
                cksum += data[i] & 0xFF;
        }
        cksum = (0x100 - cksum) & 0x7F;

        return cksum;
}

for Max users, here’s an sxformat string you can use. It takes 4 inputs (sorry for the line break):

sxformat 240 65 16 0 0 0 29 18 3 0 / is $i1 / is $i2 / is $i3 
         / is $i4 / is checksum(1,13,2) & 127 / 247

So now I can control the synth from my Quneo controller along with other synths or even from the large MIDI keyboard using some custom software I’ve written for my host Raspberry Pi system. One of the especially nice things about this is being easily able to change the delay times – which is quite fiddly on the synth itself 🙂

 

Read Full Post »

After playing with Arduino microcontrollers I suppose it was inevitable that I turned to it’s larger brother the Raspberry Pi. The Raspberry Pi is more of a conventional computer but in a small form factor – in a box about the same size as the Arduino in fact.

This project was initiated by a thought I had when doing the large synth gig in Catford last month. In that gig I was using the laptop to drive one soft-synth, but without that it was really just there being a mixer – audio and MIDI – so I wondered if it was possible to do without the laptop at all. I have a hardware mixer so that can mix the audio output of the synths, but my large keyboard only has a USB socket for its MIDI output and power, and not a 5 pin DIN socket. So I thought of using a small computer to all the MIDI routing – automatically.

This turned out to be relatively easy for me, as an experienced C programmer. I got a Raspberry Pi starter kit, investigated the Linux ALSA (sound and MIDI) library calls and quite quickly wrote a small program that would route keyboard presses from a USB/MIDI keyboard to an attached synth. I also added a feature to send messages on MIDI channel 16 to a ‘Bass Synth’ (the Little Phatty or Minitaur) and also to forward any MIDI sync messages to all of the synths attached on the USB so that when Stuart has his Beatstep running in full Tangerine Dream mode all of the synths can run together.

Another feature is for it to behave as a TouchOSC->MIDI Bridge so that I can use the tablet to control the Blofeld as I did in this post. Some more work is need here to set the Raspberry Pi to run on a wireless network without a router as would be the case in a gig situation but that is in hand. I also intend to add a simple arpeggiator to the bass synth driver code.

So now I have a box smaller than many effects pedals that can do most of the work of a laptop at a synth gig. I plan to road-test this at a CSMA gig in Leeds in August.

Read Full Post »

2014-03-03 21.30.52

It’s been a hard decision, but we are retiring the Moog Little Phatty synthesizer from Helicopter Quartet. There are a number of good reasons for this, primary among them is that I am not a synth player. In some ways a monophonic synth seemed a good fit for me as I’m very much a ‘hunt and peck’ keyboardist anyway, but really that just further limits what it’s good for in this band. It’s a good, no it’s a great synth, but even people who can play them on stage take more than just the one. As Stuart Russell says, there’s a limit to the sounds one instrument can make, especially when I’m trying to play violin at the same time. Taking more synths just isn’t a sensible option either, we already have far too much equipment!

I hardly ever used the keyboard on the Moog, I mostly played it using foot pedals so I could concentrate on the violin – an instrument I at least have some moderate competence in; the keyboard was used only on two songs. So often it ended up being mainly stage eye-candy or a bow stand. Even when I did play it using the foot pedals it’s not featuring largely in the material we currently have – at the last gig I lugged it all the way up several flights of stairs and only played two notes on it!

So what we had was a heavy instrument, with limited use.

To the horror of the analogue purists, it will be replaced by a laptop. In a way this will be no less ‘analogue’ than before as, at the start, the laptop will be playing sampled Moog sounds for the old material – and as the real Moog was always played through a digital looper it wasn’t a clean analogue path even as far as the PA system. But once we have the laptop available to us it opens up a whole world of new sounds we can use and effects that are available. Not to mention being able to get the MIDI pedals to play more than single notes in one octave … chords even!

What we will certainly not be doing is using the laptop for programmed whole tracks. We went through this with Catscans and I wasn’t really happy with it – mainly the lack of flexibility but also the fixed timings it imposed on us. Our laptop (actually it’s the same physical laptop!) will be there to provide triggered samples and effects only, initiated from the MIDI foot pedals, and possibly a Launchpad, when we need them. The playing will remain free and collaborative which is how we work best.

When we originally started the band I wanted a synth/laptop player as part of the line-up but never found anyone suitable, so I ended up playing the synth myself and not really doing a very good job at it. Most of the synth lines we have are drones that add bass to compensate for the lack of other bass instruments in the band. Although Mike does play bass guitar sometimes, he can’t do that and play normal guitar at the same time and we try to make the recordings a good version of what we play live. We are *not* a multi-tracked studio band.

So the album after the next one (which is already all written and mostly recorded) will probably sound very different to previous ones, though still very focussed on violin and guitar. It’s a new era!

Read Full Post »