Updates and new module development
This posting gathers together a bunch of small news items: new features on the Web site, notably including homegrown videos, the current state of the business, and some ideas I'm working on for future modules.
Web site stuff
I've been making a lot of small updates to this Web site, customizing the theme and adding features that require coding. Web log entries like this one now have comment sections - something I've wanted for a while, but it proved trickier to implement than I wanted because my "e-commerce" hosting provider doesn't offer it as a feature, I refuse to use a third-party service that would create a privacy threat, the self-hosted software I attempted to use didn't work, and I ended up having to write my own. It's up and running now. I believe it works, but with a few weeks of deployment so far not one person has actually written a real comment other than my own testing, so maybe I needn't have bothered.
Web log entries now have next and previous links on them. You wouldn't think that would be a big deal, and it shouldn't have been, but it was. I actually had to create a whole new "app" to connect to the BigCommerce API and run a cron job and a whole lot of other silliness just to make those links work. One small plus of doing that is that, given I was doing it, it was easy to also automatically generate an RSS feed for this Web log. You can subscribe to updates like this one at https://files.northcoastsynthesis.com/rss/ . The audio and video servers now have their own RSS feeds, too - and links in the top navigation bar.
I added a page listing dealers who carry North Coast Synthesis products. It's hard to measure this because of course people who browse the Web site and then leave without buying don't say why they do that, but I get the idea that at least some people are interested in my modules but don't want to import an item from Canada to their local country, so it's worth letting them know that there are other options too. While writing this I noticed that the link to the dealers page in the top header was broken, so I've fixed that, too.
This was announced at the time in an entry of its own, but there's now a reverse calculator for finding series and parallel combinations of standard components to make a given value. I have some other ideas on similar interactive features to add. One that might be a lot of fun would be a system suggestor: you choose your priorities (what kind of music you want to make, etc.) and it proposes a modular system especially for you; kind of an automated answer to the perennial newbie question of "which modules should I buy?" I actually wrote a proof-of-concept for that almost a year ago, but then I shelved it to work on other things. The design rules from then were never fully debugged (it was at one point cheerfully suggesting row upon row of duplicated ADSR modules), and anyway some of the modules on the to-recommend list have subsequently been discontinued. So it'd have to be largely re-done.
I've set up a North Coast video server with some videos I recorded myself. This has been quite an adventure. As with the Web log comment system, I didn't want to use a third-party service (YouTube in particular is a nightmare and getting worse), and I couldn't find a ready-made locally hostable software package for doing this, so I ended up writing code of my own for it. Then I've also had to learn more than I really wanted to know about video encoding, recording, and so on. The videos posted at present are all edited using GNU Make (!) because I couldn't find a GUI video editor I liked and could run on my configuration.
I'm still working on the possibility of "embedding" self-hosted videos on the main storefront Web site. The code provided by my hosting provider only works with YouTube. You can see some YouTube videos posted on individual product pages already. If I want to post my own videos there in the same way, you guessed it, it's going to mean writing my own code again. Posting self-hosted videos embedded inside Web log entries should be easier. I'll try doing embedding one here and we can see if it works:
Looks like maybe it did!
State of the store
The second fiscal year for North Coast Synthesis Ltd. ended September 30 with a loss of about $4700. That's not good. It's considerably better than the previous year when I was just starting up, but it remains that I have yet to make a profit even in a single quarter. Since I am doing this full-time, I'm not only losing money on the business but also having to pay all my living expenses out of savings too; and at the current burn rate I can basically afford one more year like this before I have to just pack up, shut down, and go do something else with my life. That budget also doesn't allow for developing very many more new modules, because the plan was always for previous modules to fund the development of the new ones and in fact I've been lucky if a module sells enough to fund its own development, after the fact. Bear in mind that although I'm setting "make a profit at all" as the target right now, that's only the first step; in order for this to work I have to also make enough profit that I can also pay myself, and I have to be doing that reliably before my savings run out.
The good news is that sales were up a lot in October, and I'm on track to make the first quarterly profit ever in the current quarter.
The next new module in the pipeline is the Coiler VCF, and I've made a few videos about it already. I'm pretty well committed to building this one now. It is an 8HP multi-mode two-pole state variable filter that uses inductors as the main energy-storing components in its integrator circuits, where capacitors would be more conventional. The Coiler also uses capacitors, too; which component plays a bigger role depends on frequency. It has low-pass, band-pass, and high-pass outputs, and a full-wave rectifier input as well as the conventional audio input. Watch the videos to find out why. I still don't have a good handle on just what it sounds like - I have to play with the prototype a lot more - but in terms of design priorities, this one is meant to be a fair bit less precise than the Leapfrog and to sound more like a traditional synth filter despite having some peculiarities of its own.
Here's a photo of the current prototype, cardboard panel and all:
It seems to work well. I have some proper aluminum panels, and production-sample components, on order now, and I'm writing the manual. I expect to get another prototype built this month and if there are no major issues with it, I may have the module available for sale before my vacation in December. If so, quantities will initially be very limited - really an extension of the prototype run rather than full production.
I'd really like to have my product line be wide enough that someone could build a complete synthesizer voice with just North Coast modules. That was part of the thinking behind the the Transistor ADSR, because ADSR envelopes are pretty much a necessity for a complete synth voice as far as I'm concerned. With that, what will soon be two filters, and a VCA built into the Leapfrog (though a standalone VCA module would also be nice...), the biggest missing piece for anyone building a synth around North Coast modules has to be the VCO. So, I've been sketching out a VCO design as a possible next step after doing the Coiler.
What I have in mind would be a triangle-core VCO with through-zero FM, a heated transistor array exponential converter intended to give excellent stability, and a sine shaper based on the Barrie Gilbert trig circuit. Clever use of the sine shaper would allow for some interesting phase-modulation effects, and I have some ideas about a new soft-sync circuit, too. Of course, this outline comes mostly from thinking of the kind of oscillator I'd like to have for myself. Real through-zero FM ought to be sine modulating sine; and that idea tends to get lost when people try to do through-zero in analog, with results that are not exactly bad, but also not exactly what I imagine when I think of how I want my own modular to sound. I think I could build an oscillator that would come closer to what I want than most of the existing ones.
But it's a scary project to undertake because it would be a big module. I don't think I could do it in less than 20HP of panel space, just to fit in all the knobs and jacks necessary for the feature set I'd want to include. And there are some expensive components involved, too; I was thinking of using at least one AD633 analog multiplier, probably two, and those don't come cheap. MSRP for the assembled module would probably come in above Ca$600, and I can't really afford to develop a module in that price range, build a stock of them, send out free samples for promotion, and so on if I don't know a significant number of people will really buy them.
My impression in the last half-year or so was that the market wanted smaller, lower-priced modules, and that was part of the reason I launched the "Transistor" modules. I'd been hoping to do a whole series of those. But they have not sold well at all - significantly worse than my larger, more expensive, op-amp based modules - possibly because everyone wants them to be even smaller and even cheaper, with expectations of physical size and price range that just are not realistic, at least not realistic for handmade analog through-hole. Even if I were willing to compromise on quality, there's just no way I can compete on price with the large made-in-China surface-mount operations.
Maybe going in the other direction, to larger, more expensive modules that emphasize the quality I can provide and others can't, really is the right way to go after all - and that would argue in favour of pressing ahead on the VCO design. It's true that the Leapfrog VCF, currently my largest and most expensive module, is also my best seller. Some of you might be surprised to hear that the Fixed Sine Bank ranks second. Notwithstanding the vitriol of some commentators against an LFO where you can't change the frequency, the fact is, it's useful.
UPDATE: as of July 2020, the module that developed from this idea is now available.
The very first module I ever built - the MSK 001 - consists of a single-board Linux computer mounted behind an aluminum panel along with a USB hub, the guts of two Mutable Instruments CVpal kits, and a combined LCD and keypad module of the kind overclockers mount in PC drive bays to control their case fans. The idea was that I could plug in a USB MIDI controller and have it produce CV for controlling my modular; and also have some programmability, to run some of my automated-composition stuff inside the rack.
I still have that module, and it's really useful. These days I frequently use it for calibrating Leapfrogs, using special software that runs on the single-board computer, listens to the VCF oscillation frequency while sending it different control voltages, and calculates the current V/octave response so I know which way to turn the adjustment screw. However, this module is not something I can really share or sell; lots of stuff in the design was customized to the specific components I was using (like the cheap USB hub I "modded" to have its connectors point in a different physical direction), some of those components are no longer in production, the panel was terribly expensive, it requires about 2500mA of +5V power (supplied by a separate wall-wart of its own), and so on.
What a lot of people want to do is take a USB-MIDI controller, like this Akai MPK Mini, and plug it into a modular synthesizer and play the synth with the controller.
But you can't really do that! Or at least, it's more difficult and expensive than you may think. The problem is that the keyboard and the synthesizer are likely to both be "devices."
The world of USB is divided into hosts and devices. A host is basically a computer. A device is something that plugs into a host, like a USB keyboard (whether typing or musical), a mouse, a flash-memory key, or whatever. Devices always need to plug into hosts. There are hubs, which can take it both ways - the hub has a device port, which plugs into a host, and then it provides multiple host-like ports to connect other devices. But even with a hub, you need a real host at the root of the tree for your devices to work. A hub cannot, for instance, make two USB-MIDI devices talk to each other without the hub being plugged into a computer.
The USB-MIDI interfaces most commonly available for use in modular synthesizers - like the CVpal, or the Doepfer A-190-3 - are devices, not hosts, and cannot be directly connected to each other. There are very few Eurorack modules into which you really can directly plug a USB-MIDI keyboard or similar controller, without involving a PC-type computer to act as host. My MSK 001 is one that can do it (because it actually is a PC; but it's not commercially available), and the Expert Sleepers FH-2 (priced at Ca$390) is another.
I've previously thought that the requirements for a USB host put it out of the range of what could be done in a small, inexpensive module. There's a reason that the CVpal is a device and not a host - it's basically a microcontroller with just enough computing power to do the bare minimum of the device side of the USB dance, and that's why I needed to add basically an entire PC just to get my keyboard to talk to it. But I've been doing some reading on the subject recently, and I'm starting to think that with the right microcontroller, I could actually do a very basic USB-MIDI-to-CV module in 4HP with a low price tag and have it be a host, not a device. And that's something I'd really like to have, and I think others would too.
So that's another idea for the next module after the Coiler. Big plusses to this idea include that it's cheap, and that there's some scope for other creative things it could do. For instance, given that it's already a USB host anyway, maybe it could have a feature where you plug in a typing (not musical) USB keyboard and then you can play it with an isomorphic layout - that's something I've wanted for a while, and I'd previously thought it would only be practical with a PS/2 interface. Or maybe you could plug in a USB mouse and get theramin-like gestural control. These features would all be defined in software anyway, so by loading other software, it could do other things, within the constraints of the microcontroller's computing power. And loading new software would be easy, by just plugging in a USB key with the appropriate files.
Disadvantages are the significant amount of work involved in writing all that software; and the special hardware needed to do microcontroller development at all. This would be North Coast's first digital module, and I don't know how my customers feel about that; there's an epidemic of irrational digitalitis going around. And even though I'd expect it to be the lowest-priced module I've ever offered, there's still the concern that people wouldn't buy it and I'd have to take another loss I can't afford. Although the modules themselves would be cheaper than analog because a lot of the work is done on the microcontroller, I'd have to build custom tooling (a couple of other one-off microcontroller-based devices) for testing, programming, and calibrating the modules. There are sometimes unexpected gotchas related to digital technology: for instance, one microcontroller model I was looking at turned out to contain a "crypto engine" sufficiently advanced that it can't legally be exported from North America without a special license, which even if I could get the license the paperwork involved would make the whole project unappealing. Technical considerations related to power supply noise, board layout, and so on become more significant when there are high-frequency digital signals in a module. Even if could keep the module design all through-hole (which I think is possible, but only just), DIYers who hadn't invested several multiples of the price of the module itself in custom tooling, would be facing a fairly lengthy manual calibration process, and I don't know if they'd be willing to go through that.
So, I don't know. Right now as I write this, I'm more excited about the USB host module than the VCO, and in fact I've already bought some development tools to experiment with, but I'm not sure which of the two ideas I'll pursue first, or even whether either of them will ever really turn into products. Maybe you can tell me in the comments whether you'd buy either of them.