April 20th, 2009 | Categories: Music, Synth, m3, motif

mLan16e2 expansion on motif xs handles 16 channels out and 6 channels in at 44.1 khz
korg exb-fw, only does 6 out and 2 in at 48khz. Motif wins.

As a performance synth, the m3 wins. It has karma, drum pads, drum track, xy pad, chord memory.
Motif has an arp.

As a sequencer, Motif wins. Motif has pattern based sequencing as well as a linear song mode. Each pattern has 16 different sections. Recorded phrases have independent lengths, and phrases can be reused on different tracks effortlessly. The first 8 tracks, sound exactly as they sound in program mode because all the efx are retained. Easy to solo and mute tracks. Seamless switching between patterns. The killer feature is being able to drop in and out of record and change active track as your pattern loops. Recording arps to the sequencer is also much simpler than on the m3. Only cool thing m3 has over motif is the ease with which you can bounce a sequence to an audio file and save it to a USB device.

As a sampler, M3 slaughters the motif xs. You have single click access to sampling from any mode so resampling a program, combi or sequence is a easy as pi 3.14. Creating a sample based program is easy on the m3 as well. Switching zones and making edits is pretty straight forward. Sampler has a bit of a tacked on feel on the XS and the interface suggests it can be only accessed from sequencer mode but you can actually get to it from program mode. Sampler nomenclature on the XS is confusing if you have ever used another sampler. Waveform maps to instrument, keybank is a sample with zone attributes as well. The M3 screen is brighter and has better contrast so sample waveform editing is easier on the eyes.

As a synth, m3 gives you a lot more options and wins in the fantasy sound creation arena. The motif has better samples in my opinion and excels in recreating acoustic instruments and layered sounds. The m3 can create great layers in combi mode but the main handicap of that mode is that you cannot create your layers in context. You have to create individual programs and them layer them in combi mode. If the source programs change, so do the combis. A standard motif xs program has 8 elements and each of these elements can be triggered in a variety of ways: key on, key up, delayed, cycled etc. Modulation routes tend to be fixed on the motif so for example you get dedicated envelopes and LFOs for pitch, filter and amp. There are only 6 realtime control routes on the motif. The realtime controllers available for use in the routes are mod wheel, pitch wheel, breath controller, 2 assignable knobs, 2 assignable switches, ribbon, footswitch and foot control.

The m3 has an xy touch screen, value slider, ribbon, 4 axis joystick, expression pedal, 8 pads, 2 switches, multiple banks of 8 sliders.
An M3 program has access to 5 insert effects with presets, 2 master effects and a master effect. This is great in program mode but the same 5+2+1 effects have to be shared in combi and sequencer mode. Sucks big time. XS programs have 2 inserts, a chorus and a reverb. Not much compared to the m3 but in sequencer mode, the first 8 tracks retain their insert effects. Thats sweeeet!
The m3 also has the radias expansion but the motif has logic control. A lot more on that later.
Sorry i have to ran now. 2 B continued.

February 6th, 2009 | Categories: Music, Synth, motif

So I just added a Motif XS6 to the setup. I know I was supposed to be done but I couldn’t help it. Nice looking baby, great sequencer, interesting layering capabilities not so wonderful screen. I’ll tell you more about it. 

I have 32 hours of flying coming up so i guess thats a perfect opportunity to catch on my posts. Write in the air, post on the ground or the Hudson.

January 12th, 2009 | Categories: Dev, Octopussy, blofeld

So I finally started on Octopussy. I’ve always found CoreMidi and procedural APIs in general a bit puzzling so I thought I would start with the simplest of tasks to help me demystify it all. My goal was simply to send a MIDI note on message from the Mac to the blofeld.

After perusing MIDIService.h, I gathered that I had to ultimately use the MIDISend().

extern OSStatus MIDISend(
    MIDIPortRef port,
    MIDIEndpointRef dest,
    const MIDIPacketList *pktlist);

When it was time to create a MIDIEndpointRef, I was presented with numerous paths. My initial instinct was to traverse some hierachy to get to the Blofeld MIDI Out but it turns out that each MIDIEntity can be reference using a unique id. I was hoping that this info would be available in the Audio MIDI Setup utility but it turns out you can only get at it via code. So I created a foundation tool with the following code. 

#import <Foundation/Foundation.h>

#import <CoreMIDI/CoreMIDI.h>

int main (int argc, const char * argv[]) {

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

	MIDIDeviceRef midiDevice;

	int numOfDevices = MIDIGetNumberOfDevices();

	int numOfBlofeldEntities;

	for(int i=0; i< numOfDevices; i++ ){

		midiDevice = MIDIGetDevice(i);

		NSDictionary *midiDeviceProperties;

		MIDIObjectGetProperties(midiDevice, (CFPropertyListRef *)&midiDeviceProperties, YES);

		NSLog(@"midiDeviceProperties:%@", midiDeviceProperties);

	}

    [pool drain];

    return 0;

}

After running the tool, I get the ff output. I need to run this on multiple Macs to verify that the uniqueID is actually the same regardless of which machine I run it on.

2009-01-11 23:24:31.273 MidiProperties[4198:10b] midiDeviceProperties-5:{

    SerialNumber = "8290071532-023547011532";

    USBLocationID = -46923776;

    USBVendorProduct = 317063187;

    "apple.midi.audiomidisetup.widget.xPosition" = 385;

    "apple.midi.audiomidisetup.widget.yPosition" = 203;

    driver = "com.apple.AppleMIDIUSBDriver";

    entities =     (

                {

            destinations =             (

                                {

                    name = "Blofeld MIDI out";

                    uniqueID = -934632258;

                }

            );

            embedded = 0;

            maxSysExSpeed = 3125;

            name = "Waldorf Blofeld";

            sources =             (

                                {

                    name = "Blofeld MIDI in";

                    uniqueID = 1439776402;

                }

            );

            uniqueID = -1524681845;

        }

    );

    image = "/Library/Audio/MIDI Devices/Access Music/Images/Virus TI Snow.tiff";

    manufacturer = "Waldorf Music GmbH";

    model = "Waldorf Blofeld";

    name = Blofeld;

    offline = 0;

    "receives MTC" = 0;

    "receives clock" = 0;

    "supports General MIDI" = 0;

    "supports MMC" = 0;

    "transmits MTC" = 0;

    "transmits clock" = 0;

    uniqueID = 1111148707;

}

Finally armed with the blofeld’s MIDI Out uniqueID, the rest was cake. Here is the code I used to send the note on message.

#import <Foundation/Foundation.h>

#import <CoreMIDI/CoreMIDI.h>

MIDIEndpointRef getEndpointWithUniqueID(MIDIUniqueID id){

	MIDIObjectRef endPoint;

	MIDIObjectType foundObj;

	MIDIObjectFindByUniqueID(id, &endPoint, &foundObj);

	return (MIDIEndpointRef) endPoint;

}

MIDIClientRef getMidiClient(){

	MIDIClientRef midiClient;

	NSString *outPortName =@"blofeldOut";

	MIDIClientCreate((CFStringRef)outPortName, NULL, NULL, &midiClient);

	return midiClient;

}

MIDIPortRef getOutPutPort(){

	MIDIPortRef outPort;

	NSString *outPortName =@"blofeldOut";

	MIDIOutputPortCreate(getMidiClient(), (CFStringRef)outPortName, &outPort);

	return outPort;

}

MIDIPacketList getMidiPacketList(){

	MIDIPacketList packetList;

	packetList.numPackets = 1;

	MIDIPacket* firstPacket = &packetList.packet[0];

	firstPacket->timeStamp = 0;	// send immediately

	firstPacket->length = 3;

	firstPacket->data[0] = 0x90;

	firstPacket->data[1] = 60;

	firstPacket->data[2] = 64;

	// TODO: add end note sequence

	return packetList;

}

 

void play_note(void) {

	NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 

	MIDIPacketList packetList=getMidiPacketList();

	MIDIUniqueID blofeldEndpointID = -934632258;

	MIDIEndpointRef blofeldEndpoint = getEndpointWithUniqueID(blofeldEndpointID);

	MIDISend(getOutPutPort(), blofeldEndpoint, &packetList);

	MIDIEndpointDispose(blofeldEndpoint);

	[pool drain];

}

int main (int argc, const char * argv[]) {

    play_note();

    return 0;

}
January 4th, 2009 | Categories: Synth, blofeld, radias

Before I get into it, let me say that I don’t think the presets are as bad as I initially thought they were. There are a few that I like now. Now back to scheduled programming.

One cool thing I discovered as I was preparing for this post was that, the knobs always send a MIDI cc based on the context you use them in. As straight forward as this may be, a few synths I have had do not exhibit this behavior. This is pretty cool because you can record the entire journey it took you to arrive at particular sound. At this point I’ve noticed that even though everything gets recorded, the blofeld doesn’t necessarily respond to every control that I play back from Logic. Osc shape choice, osc octave setting and osc filter balance get updated but changes made to filter type do not.

I like the sound of the saw wave. Compared to the saw on my radias card, the blofeld is ever so slightly darker and has a slower attack as well. The difference in attack is barely discernible when compared to an initialized radias saw, however, push the punch level parameter on the radias to 127 and the difference is quite significant. I’m partial to softer sounds anyway so this isn’t a problem for me.

The Oscillator Octave parameter takes values ranging from 128 feet - 1/2 feet and even at 128 feet, you can still tune the pitch lower by another octave using the semitone parameter. Tuning by octaves isn’t as wonderful as the continuous tuning on the Virus but its fun nonetheless.

Unison allows the stacking of up to 6 voices per note and when the voices are detuned, the blofeld sounds a bit “Princey” or “Oberheimy” which I rather like. As I mentioned in a previous post, I likes me some glide. The blo doesn’t disappoint here with fingered and non fingered versions of portamento and glissando. In the fingered variations, you need to trigger the second note during the release phase of the first note in order to hear the gliss. There is no mention of this in the manual but that is how it sounds to me. You should note that the glide rate parameter is inversely proportional to the time it takes to glide between the notes. It isn’t a misnomer but it is still confusing anyway. I just wish all the synth manufactures would take a quick look at the Alesis micron get us out of 8-bit hell. If I ever see 0-127 again…. The micron uses real meaningful units for its parameters. You set attack & release times in milliseconds/seconds, filter frequency, resonance and lfo speed in Hertz etc.

Next up is FM. You can set the FM source to any of the oscillators, LFOs, envelopes and noise. Only benefit really is that you save your modulations slots. I’ve never been a big fun of FM but I must admit that setting the source to noise and the amount to about 20 adds a nice touch of “dirt” to the saw. Self modulation sounds a bit nasty and isn’t my cup of tea but for the industrial types out there, FM and filter distortion may just make you jizz in your pants. BTW I found a bug. Changing the filter’s drive curve doesn’t always work as it should. You get to see the new setting on the screen but the sound is never updated. This happens usually when you change the setting quickly.

I’ll be back with more soon so stay tuned.

January 3rd, 2009 | Categories: blofeld

Audition button.
Software Editor/Librarian.
MIDI Thru.
Audio Inputs to process external signals.

December 24th, 2008 | Categories: Music

Here is something I posted earlier on gearslutz.

Gear Slutz 808s post

I love most of 808s.
Kanye may not have a great vocal technique or the best lyrics but then music has never been about just that. It’s a classic case of the sum being way bigger than the parts. (mediocre arrangement + ok lyrics) * X factor = great music sometimes. I’d go as far as saying any random throwaway R & B act that has been on the radio in last decade can out sing John, Paul, George and Ringo yet the Beatles will outlast them all. 

Despite his very obvious handicaps, Kanye manages to connect on an emotional level. I reckon what grabs people is the seeming “honesty” in his music. If you are judging him from the perspective of a musician/lyricist, you’d probably be utterly disappointed but he sure sounds amazing to an accountant or a dentist.
Contrary to what a lot of people are saying on here, it is obvious that the guy is aware of his shortcomings as a singer. He has acknowledged so verbally in interviews and even said he kept his lyrics simple because he didn’t think he could manage to sing any complex melodies. 

I may be stretching this a bit but i see parallels between Kanye & Obama. Must be something in the Chicago water. Both guys want to do it NOW!!!. Why should Kanye wait till he has the vocal prowess of a Marvin Gaye and why should Barack wait till he has 20 years in the senate? This is what they have to offer now and they have the audacity to go for it. I think it may irk a few musicians who have been waiting to be virtuosos before they are confident enough to release any of their material to see an artist like Kanye who is confident enough to grow in the public eye with warts, auto-tune, heartbreak and all.
It’s a lot like Chris Rock’s bit about Janet Jackson, Jermaine Dupree & $4 Bentleys.

I guess he also has a valid point with his art argument if you juxtapose his work to that of say Pablo Picasso. My point being that my 4 year old daughter can give Pablo a run for his money if you hand her some brushes and paint.

December 23rd, 2008 | Categories: Music, Synth, radias

This has bugged me since the big bang. I’ve just come up with a method that seems to work really well for me. 

This solution will only work for keyboard players. The basis for my method is the assumption that all the notes in the key that the song is in, will sound fine when played alongside the piece.

All I do is transpose my keyboard a semitone at a time and then run my finger across the white keys on the keyboard. If the gliss sounds good, then chances are that you are in the right key if it doesn’t sit very well then transpose and gliss again. Once I find a transpose setting that works, I can then determine whether the piece is major/minor based on its mood or just by noodling on the major/minor scales to see which fits better.

If you have an EXB radias expansion or any synth with a mod sequencer, then there is an even easier approach. What you can do is create a radias patch and then create a mod sequence that steps thru the 8 notes of a scale. In my case, I really only care about major and minor scales. Instead of transposing and glissing, you just need to hold done a single key to loop through the notes of a scale rooted in the held key.

It is amazing what you discover once you play along to a song and you are aware which key you are playing in. So much gets demystified because it becomes so much clearer what progression is being used. What you once thought were ingenious melodies get unravelled as mere scalar runs etc.

I think this will perhaps make up for my lack of ear training and will also get me more milage out of the practice I’ve done in C maj/A minor.

November 22nd, 2008 | Categories: Synth, blofeld, radias, virus

Up until a couple of years ago, I had an ever so slight disdain for people that programmed their own patches. It smacked of arrogance to me. What? these amazing presets aren’t good enough for you? Whatever! I bet your music sucks anyway.

It turns out these arrogant monkeys have been right all along. Consider the scenario I’m about to layout and judge which is the more pragmatic approach.

You need a sound that goes wheeeeeewiooooweooowhipweooo in your arrangement. You have a pulse and a $100,000 credit line, your god given right as a living American. So naturally, your studio is fully decked out with a workstation or 2, a vintage analog, a couple of VAs and a gang of soft synths. 

As a preset user, the first problem you encounter is the overwhelming choice of 10,000+ patches at your disposal. Oops thats just the electric pianos. But you can filter by category you say and you are indeed correct but how does one categorize whe*****? It isn’t a bloody piano is it?

Second problem: Lets say your chosen synth happens to have a category full of wheey presets. When you start auditioning them, what invariably happens is that you stumble across some wheeyish presets that sound wonderful so you spend eons just noodling on the keyboard. There is nothing wrong with noodling, but it does distract you from your original task. Oh and you are not guaranteed to find anything remotely close to whe***** in the end. 

Being a programmer helps focus you on the task at hand. You get an approximation of whe***** and then move on to other parts of the arrangement. You can then come back to refine it to perfection. By programming more, you gain a more intimate knowledge of your gear and when you do decide to browse for presets on occasion, you’ll know which synth is most likely to have a preset close to what you are looking for. You’ll know to focus on the virus/blofeld for a wavetable sweep or focus on the radias for step modulated sound. It is pretty clear that wheeeeeewiooooweooowhipweooo has five distinct stages, so you’d increase your chances by looking on the blofeld because the envelopes on there have an ADSDSR mode in addition to the more common 4 stage ADSR. The anal would point out that we would also need formant/vowel filters like on e-mus or kontakt. To them I say go out and get a pumpkin spice latte you anorak!

Looking back, I now realize that I didn’t have to buy all those synths. Once you start programming, you no longer have to use presets as the main buying criterion. You begin to buy fewer synths on the basis of their architecture and usability, keep them longer and as an added bonus, have enough cash left to support your drug habit. This is a good thing unless you own eBay stock.

November 21st, 2008 | Categories: Synth, blofeld, virus

This is my second dance with the blofeld. The first time I bought it, I only kept it for a couple of weeks. I returned it not because I didn’t like it, but I felt I deserved a bit more bells and whistles for $800. Having the waldorf juxtaposed with N.I Komplete + Kore 2 intensified this nagging feeling that I had payed a tad much for a dinosaur. It had to go.

After a couple of weeks and a few soft synth crashes, my kore honeymoon comes to a screeching halt. So of I go looking on eBay and what do I find? A minty fresh reboxed blofeld for $575. nb: mail in $50 rebate forms.

First Impressions.

The blofeld has a certain austere elegance about it. It has 8 endless rotary knobs, 5 buttons, a very legible silk screened facia and a generous 6 line display. It is great to get visual feedback when you modify envelope or filter parameters. The rear sports a power input, stereo outs, headphone jack and a USB port. That is it. The unit ships with a power supply, a quick start manual and a coaster with the customary pdf manual and system backups. My second unit also had the Waldorf Edition LE bundle; a rather pleasant surprise if you ask me. Missing though, is a software editor. I’ve been informed by a Waldorfian that they have one planned for early next year. I’m also working OCTOPUSSY, my own OSX based editor. I don’t think it will be a wasted effort considering it presents an opportunity for me to sharpen my OSX development chops.

Presets

The blo comes with 8 banks of 128 presets. Not too shabby by any standard. You navigate the presets just by turning the knob to the immediate left of the screen. The left knob under the screen is for switching banks and the second is used to filter the presets by category. I’m yet to find out if the list of categories is editable.

My first run through all the presets left me rather disappointed. I enjoyed a few solo leads but overall, the sounds were reminiscent of a mediocre general MIDI rompler from a bygone era albeit with a glossy sheen. I owned a blue MicroQ eons ago and I recall a decent set of presets well you know what they say about expectations.

I get the sense that the sound designers were rushed because imho, a lot of the presets don’t take advantage of what the synth engine has to offer. It could also be that the part of my brain that determines how good a preset is, has been infected by the access Virus presets and has sustained irreversible damage.

I’ll tell you one good thing about bad presets, I didn’t hesitate when it came to saving my own patches. I felt free to experiment and overwrite all that crap. The blofeld is a wonderful synth indeed if you do not judge it by its presets.

Programming

This thing is a breeze to program. It feels like stepping into a soft pair of slightly worn Clarks. The matrix style interface is so effective and stays out of ones way. I find it much quicker to navigate the blofeld with 8 knobs than the Virus Polar with 32 knobs. My only gripe with the encoders is that they lag a bit. So what do you get to twiddle with these glorious knobs?

Oscillators

You get 3 oscillators, a noise generator with variable color and a ring mod. All 3 oscillators offer the standard regimen of saw, pulse, triangle and sine. The first 2 also add a staggering 68 wavetables with 64 waves per table. That is a lot of sonic variation and that is what makes the blofeld a Waldorf. The specs state that you get the Alt1 & Alt2 tables from the Waldorf Q and all the tables from the Microwave Series. I haven’t had any experience with those synths but I’m still planning to compare them based on their specs in a later post.

These tables aren’t like the DWGS tables you would find on a Korg synth like the ms2000, microKorg or Radias. Sweeping DWGS tables sound like changing radio stations to me but the waldorf tables tend to have crossfaded waves so sweeping them with a modulator like an envelope or an lfo can yield some really cool sounding transitions. The tables range from electric piano waves to formant vocal sweeps. Imagine what lies in between. 

All 3 oscillators can be frequency modulated by each other, LFOS, envelopes and noise. Oscillator 2 can also be synchronized to the third oscillator.

One cool feature that I like about the oscillators is that you can set independent pitch bend range and direction for each one. Sounds cool to bend one oscillator up an fifth and another down a third at the same time. In addition to standard portamento and fingered portamento modes, the common glide setting for all oscillators also has glissando modes. Glissando is a huge deal for me and I’m surprised no one seems to talk about it. My micron had it but both the m3+radias and the Virus are missing this feature. I’m yet to figure out how to approximate glissando on the Virus. It is somewhat doable on the m3 by overlaying the pitch bend with a stepping modifier. 

Next post, I’ll go into how the oscillators sound and maybe even post some sounds. I’ll also cover the filters and the modulators. The blofeld is one cunning kitty and packs a lot behind that unassuming facade.

To be continued…

November 21st, 2008 | Categories: Hip-Hop

I’m really feeling this album. Choice cuts are 9 mm, Lions in the forest. I haven’t heard an album like this in a while. Enough guitars and atmospherics to give it that gothic feel. I also like lighter drums. Hard hitting drums have been kinda played out for a while. Its a shame this isn’t on iTunes.

TOP