LMP Asks #4: An interview with the 'Infamous' Spencer Jackson


In our first interview of the year, LMP talks to the brains behind the Infamous Plugins suite, Spencer Jackson.

Hi Spencer. Thanks a lot for doing this interview! Where do you live, and what do you do for a living?

I live in Logan, Utah, USA. I’m an electrical engineer in the R&D department at ICON Health and Fitness. I do a lot of embedded development and focus on maintaining product quality in our Freemotion brand.

What was the drive behind making the Infamous plugins?

To make a short story long, I read a book about modular synthesizers when I was in middle school. I thought that sounded like the coolest instrument ever! STYX was my favorite group at the time and their use of synthesizers was inspiring. But when I saw the cost of these, I thought I would never own own a hardware synth (I still don’t own any). Fast forward a few years and I installed AMS but didn’t have a clue even how to get audio out. I remember sitting in my in-laws during Christmas break when I got my first sound from the AMS example instruments (I had just started figuring out JACK). It took quite a while longer before I had a clue how to use Ardour. After a short while I had tried out all the different synths in linux. I like most all of them, but very few were plugins.

I heard people talking about a lack of LV2 instruments and wanted to help. With my engineering Coursework I had enough DSP know-how but I didn't really have programming experience to make my own soft synth. I looked at a few plugins and got frustrated with it and gave up. A couple months later Robin Gareus was making the LV2 MIDI plugins which at the time only had a uniform random distribution in some of the "humanizing" plugins. I figured the task is really better served with a normal distribution so I contributed a function to do so. Robin helped me a little and just that final bit of experience gave me enough confidence to make my own plugins.

Of course, my first plugin would be a synthesizer. I had recently run into cellular automatons on youtube and had coded up a tiny utility to generate them and decided that would be a good way to make my synth unique. So I spent a couple months coding in my free time and during my lunch break and the Cellular Automaton Synth was born. I still consider it the landmark plugin of the set.  Its by far the most complex and sophisticated.

Most of the other plugins were either refinements of experiments and ideas I had (hip2b, cheap distortion) or the direct result of someone asking for something (envelope follower, power cut/up). Really though, the strongest thread between them is that they were interesting for me to make. I guess the other thing is when I want some piece of gear I can’t afford I’ll try to make my own with software (stuck).

The Infamous Plugins

The name “infamous” came around because I know I still have lots to learn (I’m an engineer, not a programmer) and I figure I’ll make some mistakes. Some of the effects aren’t exactly conventional or at least I strive to make them each unique, so they’re bound to be infamous. Known for good or ill, I hope they get noticed and used creatively.

Other projects I work on actively is the userland MIDI “driver” for rockband and guitar hero drumkits, and now the osc2midi utility I’m currently developing. I do a bit of this and that and try to contribute to the community in the ways that are most useful, but usually it comes down to working on something when I want the end result. It works best that way because I’m excited to see a quality product come out of it.

I don’t have the time or discipline to do a large project, so its mostly small plugins and utilities that have a fairly clear finish line of completion. Even with plugins, I have several that I have started, hit some obstacle, then got distracted by another project. I might come back to them. But I like the feeling when you can say “its done!” (of course there is some maintenance, still) and lots of small projects mean you get to say it more.

One of my favorite non-code projects is being host of the Open Source Musician Podcast. I love talking about linux audio and teaching people. The technical segments are my favorite parts. I don’t get episodes out nearly as often as I wish I did but I plan to continue releasing them as I can. Hopefully once I have a permanent home for my equipment I can get more episodes out. But I really hope we’ll get more user contributed content and even other hosts making some episodes.

Can you tell us about your release model and why you decided to use it?

When infamous originally launched, the “donate” page just had links to KXStudio, Ardour, AV Linux and other notable audio projects’ donate pages. I also had some lines describing the bartering system I believe in. Trade me presets for plugins. Tutorials for utilities. Bug reports for bugfixes. I really like that system, but based on several conversations I’ve seen and heard, especially revolving around Ardour financing, I realize there is a real need for exchange of money to support large projects. Youtube tutorials won’t feed the one guy with the skills and experience to pull off something that complex. And a kickstarter won’t feed him long enough.

Harry Haaren had several successful fund raisers using his unique bounty for time release model, so I thought I would try it. I didn’t really want to create GUIs for the infamous plugins (I’m kind of a vim, command line, i3wm type geek and the DSP is the fun part) but I thought GUIs would be valued by the community and increase my usership. So I based the project on the OpenAV productions model: completing the work without sharing, then making the announcement with a target date.

I do have some variations on the model: Harry had each donor give the same amount, I felt that everyone should be able to give the amount they want, those with more can buy more time for everyone. So I prorated the days; you could donate as little as you like and every $2USD buys a day ($20 buys 10 days etc.). The other main variation is that I said you can email me and negotiate a barter exchange for some time. If someone made some tutorial video, a great song, preset bank, documentation, etc., any extra effort to help build linux audio, I would move the release closer.

Unfortunately the donate or just wait release system is no silver bullet. I had some very generous contributions right after the announcement, but haven’t received any further donations since about the first month. Perhaps more discouraging is that no one has offered any bartering deals. The mistake I made was that I overvalued the work. I have told Harry he sells himself short by releasing for so cheap, but he is wise to make each donation buy back a significant amount of time. Its a difficult problem of predicting market demand.

I’m still trying to decide what to do since I really just want people to use and enjoy my plugins, but an unscheduled release completely undermines the whole concept and I feel would be damaging to OpenAV or any other project that uses it. I like releasing the GUI-less version so people can use the plugin immediately, but perhaps that reduces demand enough to hurt the fund-raiser.

My goal was that the next batch of GUIs would use the same model but all donations would go to KXStudio or Ardour. I need a way to make it a bit more successful first. Failure in fund-raising is fine when just trying to get myself some studio monitors, but once I involve another project I am impacting their image. I’m still thinking about what the next step should be.

What is your musical background?

I’ve always loved music. It really is my passion. I grew up in a musical family, so my folks put me in piano lessons while in grade school. For how long I took lessons I should be much better, but I still love playing piano (even though I keep getting rustier).

I also started playing trombone at 12 and never stopped. I’ve never gone very long without being in some jazz or swing band. Currently thats my only fully active music project; playing with Larry Smith’s Jazz Kicks big band. Its a great opportunity to play with class players. I love jazz but it doesn’t show through my music as much as I wish it did.

Through college I played with a ska band, Viewers Like You. We were active 6+ years, till we all started graduating and getting jobs away from the valley. We got together for a show last year but its becoming less and less frequent. But I definitely have a lot of ska influence in my music.

Spencer in action with the Viewers Like You

I taught myself guitar in high school. Through my early years of college I didn’t have a piano at home so guitar is what I played all the time, so I got quite a bit better at it. Like piano, I love playing guitar, though I’m not the best.

Spencer jamming with his younger brother

I suppose I could say that about every instrument. I love learning new instruments and playing anything that makes music, but I don’t have as much time as I wish I did to become “fluent” in them. I spend most of my practice time trying to keep up my trombone, piano, and guitar chops up, in that order. Additionally I have a banjo, bass, trumpet, recorder flute and a few other things at home and want to incorporate all of them into my music.

Because I knew I was graduating and wouldn’t be able to play in the university jazz bands any more I started getting into recording. I love playing live shows but it takes a lot of time and as I’ve gotten busier, I can’t sustain playing in 4 active performing groups any longer. I wasn’t even sure if there would be any groups for me to play with once I finished school as I thought I’d be moving away for a job. So over several Christmases I’ve been collecting the necessary parts for a bare-bones recording studio. Recording is the closest thing I’ve got to being able to jam with a live band. And I’ve written lots of songs that I’d like to share with the world.

I like to listen to most kinds of music though there are several genres I simply don’t care for.  Favorites include classic rock, jazz, progressive rock, fusion, ska, deep funk. Thats kinda the short list of what I listen to though everything from Opera to Neil Diamond gets smattered in. I love to find a song that really moves me and try to make a song with the same sort of sound and feel. I can name the “influencing song” on many of my recordings. Some might say I’m just stealing others ideas, but I prefer to say I’m forking them. ;)

I'll go on all day talking about music if you let me.

Spencer prepares for a halloween show... wearing his every day attire

What is your history with Linux?

Like many I came for the free stuff and stayed for the freedom. I was studying engineering, living by the university, and my old windoze desktop just crashed. My dad brought up the recovery CD and brought up an Ubuntu live CD and helped me get it dual booting. I booted windows to use Visual Studio for my programming class that semester and then I don’t know if I ever booted it again. I’ve never owned a machine that I didn’t install linux on since that one. That was around 2008.

When my dad first suggested installing linux I thought it was all terminal and reading source code, like doing linux from scratch. Once I saw what it really was like to use daily I loved that it was different and everything was free.

Nowadays that I do development I love the openness . If something is broken I can always fix it  myself (though realistically some things would take me years, we all have to pick our battles). I can take any program I use and make it do what I need, or use pieces of it as examples for writing my own software. I recently read a saying: “if you can’t change it, you don’t own it.” I love that. I personally make an effort to use as many open source programs as possible, even if a free (gratis) tool might make the job easier. Since I’m just making music for myself I can do that. There isn’t always an option though, I realize that, and I allow everyone to use what they choose.

What is your typical workflow when making music?

It’s really still evolving. I don’t think I’ve even done 2 tracks the same way yet. I dabble with different things but typically I’m doing traditional instrument based audio recordings, so Ardour has been the best DAW for me.

I sometimes record a scratch track, then sequence drums and make a bass part, then guitar, keyboard, horns, then vocal, and finally any filler licks that it still needs. I used to do sequencing in Hydrogen, but since moving to ardour 3 I’ve really liked keeping everything inside with plugins so I just sequence in ardour. One thing I do thats a little different is that I make a separate MIDI track for the snare, kick, and cymbals and route them all to an empty MIDI track that hosts linuxsampler. That way I can just use the fader in one track to raise the velocity of all the notes to change the volume of the drum. Its not perfect but it works for me to simulate a multi-track drum. Once I start getting more particular about sculpting the kick or snare sound I’ll need another method.

The  approach I took on the last recording (1 Ton Tomato) is to actually just record several takes of each lick right in a row until I have enough to work with. Then I piece the arrangement together, this take for first verse, that one for second etc.. This seemed to take more time in the long run, but it enabled me to accomplish everything with less time actually sitting in the studio (but much more time at the laptop editing).

I’m pretty good about not starting mixing until the tracks are all there. I think it helps to have a clear cutoff between the recording and mixing stages. I haven’t focused on mixing much simply because I haven’t had monitors. Once mixing I always HPF every track and add some vocal compression, and eq, and add a reverb bus.

Any time I need to process something differently on different parts of a track I just make a separate track (i.e. “dist guitar chorus” and “dist guitar bridge”) rather than mess with automation. I’ve heard it called multing. It makes it quicker I think and more organized. Automation gets saved for fader rides or things where I want you to hear it changing (like a filter sweep).

I don’t typically do any surgical or complex mixing, but my recipe yields decent results while I am getting started. I’d love have the time to do much more of it and get better and more analytical about it.

Tell us a bit about your hardware set up

For a long time all my recording was done on my Core2 Duo Lenovo T400. Just this year I got an old desktop for $20 at work. Its a Dell compact desktop with a Core2 Duo at 3.0Ghz, which is plenty fast for a linux DAW. I have yet to complete a recording with it though, simply for want of time. My work also just upgraded my laptop to a macbook pro so I’m excited to play with it during my lunch breaks where I do a lot of my plugin testing (with guitar samples I’ve made). I won’t really produce with it though.
As my audio interface, I have a presonus Firebox that I got second hand, though I also have a cheap $8 chinese guitar link that I occasionally use with machines that don’t have firewire.  I really like the presonus. Its definitely not the limiting factor in my recording quality.

I only have 1 mic. Its an AT3500. Its been a good mic. I’m still learning how to place it (and mic technique while singing), but when I did my first trombone recording with it last winter, I loved it!

I do all my keyboard work with a Casio CDP100 digital piano which was the first thing I ever got with the intention of using with linux (I was going to use it with linux sampler, though I’ve used the internal samples the most). Its good for practicing or recording MIDI for piano parts but a little out of place when doing synthesizers (a USB MIDI keyboard is on the wish list).

I have 1 electric guitar: a Korean HSS strat knockoff that I got for $35 out of the classifieds. I have an acoustic I play a lot but don’t record with because I don’t have a good sounding room. The bridge pickup of my electric gives me a tolerably acoustic like sound in a mix. For bass last Christmas I scored a $50 Charvel bass guitar.  I have a gold tone banjo that I have yet to use in a recording, but I play it for the kids a bit. And I’ve got a borrowed classical guitar.

Spencer’s “axe” collection

I used my FCB1010 MIDI controller for a little while with my band, and am starting to use it again for guitar work with a wah, and just jamming. Also being used as a MIDI controller is a second hand rock band drum kit from my brother that I let the kids use to play along with me. I haven’t sequenced with it because the rock band 1 kits don’t have velocity and I’m such a rotten drummer its faster to sequence. I’m practicing a little though.

Notably, just this Christmas, I finally got some Blue Sky EXO2 monitors that I got lucky and found on ebay for nearly half the retail price. I read Mike Senior’s Mixing Secrets for the Small Studio a few years ago and totally bought into the sealed speaker idea. Blue Sky is one of the few companies that are making them. I’m super excited to try them out. Until now I’ve used my CAD 210 or the AKG M80MKII headphones for my sole monitoring source.

One incarnation of the Spencer’s studio in his college apartment

We’re also re-finishing our basement, and one of the rooms will hopefully be a studio. In another year or two I hope the studio will finally stop moving (its been moved to 5 times since I started collecting the equipment in our 1 bedroom apartment) and get a well treated room and really focus on making good recordings.

I’m keeping the whole studio quite minimal for budget reasons. I record everything direct and do as much as possible in the box. Not that I wouldn’t love a full tube stack in my studio, but I’d never get to play it as studio time is scarce and always after the kids are in bed. I still mic vocals and horns of course. Who knows what the future will bring?

Why do you feel FLOSS is important, and what for you is the most important aspect of Linux audio?

I love that FLOSS levels the playing field. When we go to the forums, even though we bring different skills to the table, there is never a discussion along the lines of, “why did they decide to do THAT with the software I depend on? Please go back!” You can fork, or find an alternative.  If you want something fixed you have much more leverage to get it fixed, you can contribute something. Its no longer just a creator-consumer relationship. Its a community where anyone can be anything.

Going back to the saying: “if you can’t change it, you don’t own it.” I love that I own everything I use in my studio. And I often do look at source code for my own education and to make projects that (hopefully) benefit the community. So to me openness matters and that’s what sets Linux Audio apart.

What do you feel is currently lacking in Linux audio?

In general I have what I NEED. There are many things though that would be nice to have. I’d really like the Hydrogen editor to be ported to LV2. That would make loop based music and drum sequencing in Ardour a bit easier for those who don’t like Ardour’s MIDI editing paradigm. For me I think it would make it quicker to make more “lifelike” drum sequences.

Really, I’d love to see more presets as well. Not so much in things like EQ where presets don’t usually apply from one context to another, but reverbs and effects are things that could really benefit from a good collection of presets to show off their capabilities. When you are auditioning plugins and deciding which to use, you don’t want to have to turn any knobs, just select a few presets and decide if it fits.

Outside of your own plugins, what is your favourite FLOSS plugin?

Thats a tough question. Almost like asking a carpenter what his favorite hand-tool is. I need all of them sooner or later! Probably a toss up between FIL and Invada HPF. Simply because I never export anything without a few instances of these workhorses. Not fancy, but they are effective. SC4 is right there too.

What changes, if any, would you like to see within the Linux Audio community?

Well, I do wish everyone could get along. We all have different personalities and unfortunately some folks’ tend to grate on others. I wish all our forums were free of flame-fests and petty things, but they aren’t. I realize this isn’t really something anyone can change, but everyone can decide to try to give people the benefit of the doubt, be a little more patient, and just play nice.

What advise would you give to a new Linux Audio user?

Stick with it. Decide if you are willing to make some small sacrifices (using workarounds as necessary, selective hardware support, etc) to be independent of any specific manufacturer or corporation. If you are you’ll be very happy with Linux Audio. Reach out for help if you get stuck or confused. If you demand a perfectly smooth experience, that’s fine, try linux and if you find the challenges insurmountable, then its ok to go face the challenges of other operating systems.