In some of the news I’ve missed in the last couple of days are some unusual announcements. Urs Heckmann can be fairly considered one of the great soft synth designers, with accomplishments like Zebra. His latest, Bazille, like many recent soft synths, is a hybrid: FM synthesis plus phase distortion plus the obligatory subtractive synthesis. In an early teaser video (he apologizes for audio quality), he shows off its modular design. Now, modular routing is something we’ve seen in some form in other recent synths, from Maschine to Future Audio’s Circle. But for Bazille, the layout of the whole synth is clearly set up with rack-style modular routing and free-form patching in mind. There’s definitely some promise here. Oliver Chesler of the utterly brilliant wire to the ear found this first and has some other good thoughts.


The surprise news, though, is that Fairlight may be re-releasing the Fairlight CMI, their original digital sampler. The Fairlight Instruments site teases a “CMI Series 30A (Thirtieth Anniversary) Limited Edition.” Peter Vogel’s CMI, ubiquitous sound of the 80s, established many things we take for granted in computer music. Heck, it even had a light pen. So, too, will the 30A re-release. They’ll make 100 of them, you’ll get WAV import and improved sound quality, and… no, you won’t be able to afford it, though Vogel says it’ll be cheaper than the original. (In other words, it’ll be cheaper to get a new Fairlight than a new Buchla.)

Sonic State scoops the details from the man himself:
More Anniversary Fairlight Details: A little more information from Mr Vogel

Of course, I dream of a successor to the Fairlight CVI, their ground-breaking video instrument.

Alternatively… Synclavier: The Next Generation, anyone?

  • One of the most interesting things about the Fairlight, as well as the Synclavier, was its method of resampling. It didn't actually have one. Rather, what it did was each voice card's output D/A had its own clock, the frequency of which could be changed on the fly to affect the speed of the playback of the sample associated with that voice. This is largely what led to the huge quality gain over the smaller samplers like the Emulator and Mirage, which had fixed clocks and thus used real-time resampling algorithms that did the job but really didn't sound the best.

    Of course, today's hardware and algorithms are more than capable of very high-quality resampling in real-time, so most would argue that this is now a non-issue. They're probably right. However, I would argue that if you really wanted to build a top-notch hardware sampler using today's technology and knowing what we know now, the Fairlight's approach of variable clocking is probably still the way to go.

    It makes me wonder how far I could get with an Arduino…

  • Joe

    Touch on the CVI

  • I have an alpha of bazille running here and it is a very fun and rewarding synth to play with. It's design leads to very unique results. You are encouraged to make routings you really shouldn't 😉

    It's very cpu intensive though.

  • gwenhwyfaer

    It makes me wonder how far I could get with an Arduino…

    One voice per programmable high-resolution timer on the chip, I'd hazard a guess…

  • Heh. 🙂 My "how far could I get with an Arduino" line is said as a bit of a piss-take, actually. I think designing a modern-day hardware sampler with variable clocking would take a lot more work than a few chips and a bit of embedded C code. In short, I think it would be possible, but would entail a lot of work.

    The approach I would likely take is to design the hardware as a "black box" which is then controlled by a regular computer, perhaps over USB. So, the clocks, voice memory, and D/A go in the box, and your computer does everything else. I don't know if the Arduino can be controlled on-the-fly over USB from a computer.

  • gwenhwyfaer

    Thing is, these paleosamplers are basically analogue designs; a VCO (or a DCO) is connected to a counter, which cycles through a voice memory and a DAC, rather than to waveshaping circuitry; the result goes through a VCF and a VCA. As such, they're as amenable to emulation techniques as other analogue designs are these days – digital may not quite hit 100%, but it can get close enough for jazz. If a USE Audio Plugiator, say, can reproduce 8 voices of one of the best Minimoog clones on the market, there's every reason to expect it could also precisely duplicate a CMI series II or a Kurzweil 250. The guts aren't all that different, after all, and they're all very well understood.

    The question, I guess, is whether it'd be cheaper to do that, or to stick eight dsPIC33s (one of the ones with a built-in audio DAC) in a box, and have each of them reproduce a single voice. There's a precedent for that – the Alesis Micron does its DSP that way, and it's one of the cheapest VAs on the market – so it wouldn't necessarily be impractical; and dsPICs are certainly hobbyist-friendly (the '64GP802 has 16KB RAM and a variable-rate 16-bit stereo DAC, and can be had in 28-pin DIPs at $4.56/100) and have more than enough power for jobs like this.

  • This one looks good, at $6.46 for small quantities:

    128kB of flash would be enough for storing a sample, though I guess you need to fit the code into that, too. Indeed, the original Fairlight had dedicated sample memory per voice. The great innovation of the Emu Emulator was that they had figured out how to have a common sample memory pool for all voices.

    What I don't know about these dsPICs is if the DAC can be clocked at any rate we want? If we're just resampling the sample data before the output, then there's really no point in the build.

    I do have to admit, I've been thinking purely digitally. Your explanation of the analog approach to a sample-based oscillator is quite interesting. I'll have to research that one more. It's really going to come down to finding a DAC chip that behaves the way we need it to.

  • Reading over the datasheet for that particular dsPIC, it looks like its DAC is set up to be very flexible (not just for audio use) with sample rates into the MHz. That is, if I'm understanding this datasheet. I might be way off somewhere in my mental calculations. It looks like it can access external memory through an 8-bit parallel port that appears to have a 16-bit operation mode.

  • gwenhwyfaer

    Hmm. The impression I got from the dsPIC33 family reference was that the DAC could be driven at more or less any rate up to 100kHz, but the DAC clock needed to be 256 times the sample rate (it's a sigma-delta design). So a lot will depend on how fine the frequency control is in the clocks' MHz range, and I suspect it just isn't going to be fine enough to be useful for tuning. Which probably nobbles it, unfortunately; there's no point in using that particular chip unless the stereo DAC is useful.

    Indeed, I suspect that changing the clock speed is going to be the sticking point for any attempt to reproduce paleosamplers with MCUs. I guess a 16-bit timer with a 40MHz clock input will probably do well enough, though, at least for 2-3 octaves of transposition, and a dsPIC33 (or a PIC24) has 5 of those. So in theory, a dsPIC with a naive DAC and 5 channels of sample/hold could produce 5 sampled voices at once, although colliding interrupts would lead to some jitter. It'd probably have enough CPU oomph left over to take care of control, communication and an external memory bus, too…

  • gwenhwyfaer

    Incidentally, anyone else know of an MCU with 8 or more 16-bit timers and a single-digit interrupt response…?

  • Ah, so I DID read the datasheet right the first time. Thanks for the clarification. Still, 100khz is nothing to sneeze at, if the master clock can be controlled with enough granularity. As you say, though, that might be a trick.

    Thanks for pointing out these dsPIC chips, though! You say the Micron uses eight of them for its engine? That's actually as interesting as a sampler.

  • What about heterodyning? (I think I'm using that term right – my ham radio days are too long ago.) One fixed clock above the max rate * 256 (2.56Mhz according to the datasheet), and one variable clock well below. Take the difference of them as your clock for the DAC. That might do the trick.

  • gwenhwyfaer

    Actually the Micron uses 8 Wavefront AL3101s for its engine (well, 9 – one per voice and one for the effects – plus an AL3201 for reverb and delay), controlled by a Coldfire; but the interesting part of that, to me, is the "DSP = monosynth" bit.

  • gwenhwyfaer

    For heterodyning, it looks like you'd have to generate (or at least manipulate, if you can route internal clocks to pins) the clocks off-chip, before feeding them back in; there's no provision for it inside the dsPIC33. There might also be restrictions on the speed of an external DAC clock.

  • gwenhwyfaer

    (However, at this point I'm way outside my competence. I just about know which soldering iron end to hold…)

  • Oh wow! Those AL3101 chips look fab! Too bad they don't offer a DIP version. They cost about the same as the dsPIC, too, though they don't have a built-in DAC.

    Here's a page for some open source dev software for the AL3101:

    The dsPIC would definitely be easier to use, I think, being available as a DIP, and having everything needed built-in. It's 16-bit instead of 24-bit, but you can't have everything, I guess.

  • Believe me, I left the limit of my competence a long time ago. How can we learn, though, if we don't push ourselves?

    Leaving behind the idea of a paleosampler (I like that term) for the moment, the idea of an 8-voice polysynth using the dsPIC33 is intriguing. We'd need something to handle overall control and voice allocation, and then some mixing circuitry on the output. Since it's in the analog domain at that point, that won't be hard. As for effects, probably best to leave those out for now, as it would require a conversion back to digital with this architecture.


    Proof it can be done, anyway. In the comments, he gives some more details as to how he coded it up.

    One other thought I had is to use the dsPICs as oscillators only, which would leave capacity to do a number of oscillators per voice, FM, and maybe even some wavetable look-up stuff. Take the outputs from each DAC and send through an analog filter and VCA. Kind-of a DIY Poly-Evolver, I guess. The central computer would also have to be good at generating control voltages and envelopes.

  • I love the busted C4 key on the lower keyboard..unless I'm mistaken and it's a "feature."



  • Eric

    I worked at NED (Synclavier) for several years – developing the original version of EditView and the "S" (sequencing) page. It was definitely the most fun I ever had writing and testing code.

    The Synclavier system still has some support and Cameron Jones, who was a founder, continues to develop for it. Check out