Author Archives: xangis

DrumPads Now Open Source

Of all the audio apps I wrote for Zeta Centauri, DrumPads was by far the most popular, with more than 300,000 lifetime downloads.

It’s a pretty simple app. It’s a set of 12 virtual drum pads, each of which plays a sample when you tap or click it, or hit the corresponding keyboard key. It also had MIDI support and included a bunch of samples from freewavesamples.com. It let you use arrow icons scroll through to samples to change the kit, which could be a fairly long process. It was notable for me in that it was the first app I had ever written as a with a touch-only interface.

It started as an app for webOS tablets back in 2011. Soon after, webOS was discontinued, abandoned, and set aflame by Leo Apotheker, one of the most incompetent CEOs in modern history. I ported it to Linux and it was in the Ubuntu app store. Then I ported it to Windows and posted it online. And I almost got it ported to OSX. It built, but it never came together well enough to make it past the App Store goons. There was a pretty capable free version and a paid version. The free version was very popular, but the paid version only sold a few dozen copies.

Now that Zeta Centauri is no longer a business, there’s no reason not to release the full version for free.

The source code to DrumPads is now available on GitHub, along with a full version Windows download. Enjoy. 🙂

 

MusicSrch Reboot

Early in 2016 I bought the source code for a music search site from a fella in Slovenia and put it under the umbrella of the WbSrch search engine.

When WbSrch shut down later in 2016, it was left in limbo. It was still running through 2017, but ignored. And sometimes the service crashed and wouldn’t be started back up for a while. Like, sometimes even months.

When I started curating for RCRDList, it became something that I wanted to use again. But it was pretty broken, and I never really got around to learning Ruby. So I spent a long weekend and a few evenings rewriting it in Python and JavaScript.

It doesn’t search all of the same services that it used to, but it searches more of them now, especially more of the mainstream services. There are a few more things I’d like to add, but it already does more than the original version did. I also don’t have to worry about the service crashing because it’s a Python app, and I know how to keep those running consistently.

Try it out at:

https://musicsrch.com

 

RCRDList

My friend Zoe, founder of the RCRDList music discovery email list, is currently in grad school. She’s handed off curation of the list to me while she’s busy with classes. I’ve been finding a lot of great music you should know about, so you should sign up.

It’s here:

http://list.rcrdbox.com/

SampliTron Now Open Source

SampliTron is one of the most popular Windows apps I’ve written. Although it’s fairly simple, it’s pretty powerful. It’s a virtual sampler that lets you load a .wav file and scale it across the entire keyboard, with that keyboard playable via either the computer keyboard or an external MIDI controller.

Before today it was a commercial app with a demo version, and the full version was $15. Over its lifetime it’s been downloaded more than 40,000 times and has sold a few dozen copies.

As of now, the full version is free, on the zetacentauri website, and the source code is available under the MIT license on GitHub.

New Bloodless Mushroom Album: Cymatella

I’ve released a new album called Cymatella.

It’s a mix of nearly-industrial guitar-synth-and-drums tracks and ambient/soundtrack electronic music.

Nothing I’ve done musically has required more time and effort than this album. Technically I’ve spent more than 12 years working on it, with the first drum tracks being created in 2005. Turning those tracks into real songs started in 2015 after the release of Marasmius and most of the work for it was done in 2016 with the rest finishing in 2017.

It’s available on all the major streaming services. For more info click here.

Cover art by Suzanne Champion.

Open Source: Sigmatizm, A Virtual Additive Synthesizer

Back in 2012 I wrote the most complex audio application I had ever written. It’s called Sigmatizm, and is a standalone additive synthesizer.

Additive synthesis works by adding together sine waves of different frequencies (harmonics) to create a more complex sound.

This particular application adds up to 128 sine waves together in real-time, while transitioning from one set of harmonics to another and while modifying the sound with an attack-decay-sustain-release (ADSR) envelope.

It also has full MIDI support and can be played with a MIDI controller, or can be used to play an external MIDI synthesizer. It also supports using any sound card or MIDI device attached to the system.

It started life as a Windows app and was also ported to Linux. Originally it was a commercial app available for $9.99 on both Windows and Linux (via the Ubuntu store). It also works on OSX, but building is a bit more involved and not for the faint of heart.

For the official download page, visit Zeta Centauri.

Or, to get the source code, visit GitHub.

There’s still a lot more that I’d like to do with this application. For example:

  • It’s nice as a standalone, but would be more useful as a VST so it could be used with multitracker software and be piped to effects, like delay, reverb, etc.
  • I’d like to be able to have an infinite number of envelope stages, so things could go quiet-loud-quiet-loud, or other evolving sound scenarios.
  • I’d like to add the ability to add noise or other inharmonic sources, since the app is completely harmonic and aliasing is the only source of inharmonic sound.

One thing that I’ve deliberately done in order to make it easier to create crazy sounds is NOT prevent aliasing, which is what happens when a sound goes past the sample rate (which in this case is 44.1KHz). When that happens, waveforms “wrap around” and start going in the other direction. I’d like to make that sort of thing optional (block or don’t block) because it’s undesirable in some situations and desirable in others.

It only has a handful of included patches, but I’d like to include more. If you download it and create some sounds, please consider contributing them back to the project.

Proxima Controller, a Virtual MIDI Controller

Back in 2008 I created an app called Proxima Controller. It’s a virtual MIDI controller that runs on Windows, OSX, and Linux.

I wanted an easy way to control external MIDI hardware (synthesizers, etc.) from my PC and there wasn’t an app that I liked available.

It started out as a Windows-only app. A few years later I ported it to Linux. And last year I ported it to OSX (but didn’t release it via the app store).

It’s been one of my more popular apps, with more than 70,000 downloads. I’m glad people have found it useful. It certainly made it easier for me to test sounds on my rackmount audio equipment without needing to shuffle full-sized MIDI keyboards around.

When I have time I’d also like to add an X-Y controller pad, something that can be used to transmit the same controller messages as the joystick on the Korg Wavestation and the Yamaha SY22/SY35/TG33.

You can get it here.

Trigram Generator for Windows and Linux

A long time ago I wrote a free Windows app called the “ZC Trigram Generator”. It was a simple app to generate plausible-sounding words based on a set of input words.

It had a steady trickle of downloads for around 8 years or so, about 1500 downloads per year.

Two years ago I open-sourced it and posted it on GitHub.

Today I updated it to be a little easier to use by adding a “load text” button to load a text file.

Trigram Generator Screenshot

It works on Linux and Windows 7 or newer (including Windows 10).

It’s available here on GitHub if you’d like to get it.

Guitar Tuner and Bass Tuner for Windows

Guitar Tuner and Bass Tuner are the first desktop Windows apps that I wrote. I don’t recall how long ago, but it was certainly more than a decade.

They’re super-simple apps that let you sound notes to tune your guitar or bass to. They only support standard tuning and use the default MIDI device for sound output, which usually means the “Windows MIDI Mapper”, a built-in sound synthesizer that’s been part of the OS for ages.

For nearly ten years I had them available for download on zecentauri.com, and they had more than 100k downloads in total. Two years ago I open-sourced them, but didn’t really mention it anywhere.

I updated them both today, adding two notes to Guitar Tuner to support 8-string guitars and making improvements to the installers.

Both the source code and the installers are available on GitHub under the MIT license.

Visit Guitar Tuner on GitHub.

Visit Bass Tuner on GitHub.

Bad Job Descriptions Waste Everyone’s Time

Most companies hiring software engineers want you to know a few specific languages and/or technologies. It makes sense. The more you know about their existing infrastructure, the faster you’ll be able to contribute effectively.

When those companies completely fail to include any of those desires in a job listing, it wastes everyone’s time. They get hundreds of extra applicants who are not even remotely qualified, and those people have their time wasted.

Below is an example of a vague post that I recently sent my resume to. They scheduled a phone interview with me. They said that main thing they are looking for is a Java expert. The phone call was over quickly (I am not currently a Java expert and it does not appear anywhere on my resume).

Java is mentioned nowhere in the description.

Please do not do that sort of thing.

The posted description:

Java: Overcoming A Technology Prejudice

For a very long time I’ve been anti-Java. It started when I was a PC technician in the late 1990’s. The Java Runtime was always a nuisance to maintain and the apps were terrible memory hogs with bad user interfaces.

My view of Java didn’t improve as I learned and worked in C++ and then later C#. Java seemed a poor, clunky way of doing things and there was no need for it, given the fitness of the C# ecosystem for many of the same “enterprisey” purposes.

When the Android operating system was released things got weird. Why were they using this slow memory-hog language for a mobile phone’s applications when the hardware has such limited memory and processor power? It made no sense.

Soon after that, Oracle bought Sun and became the owner of Java. Oracle is a terrible company that I want nothing to do with. In addition to their hyper-litigous business practices, they also deploy auto-accept crapware with their Windows runtime installer*, which is unconscionable. Needless to say, this did not improve my opinion of Java.

Years later I built a search engine. There are a lot of useful web crawling tools in the Java ecosystem that I didn’t take advantage of. The Python ecosystem has a lot of wonderful web crawling tools and libraries, but not having access to the whole set of what’s available ended up being a hindrance.

The same goes for data science. I know the Python data analysis tools, but there are a lot of things in Java that I haven’t really had access to (particularly the Hadoop ecosystem), so I’ve missed out on some possibilities.

I get that it’s no longer true that Java is clunky and incapable, but it’s hard to let go of a long-held belief. But it’s not a useful belief, so it’s time to let it go the same way I let go of my prejudice against Apple’s OSX a few years ago (although I do sometimes still refer to it as “broken Linux”).

Now that I’ve been focusing more on DevOps, it has become more important to be able to support a wide variety of programs. Writing software is one thing – you can usually focus on only the language(s) used by your project and not suffer for it. When you’re deploying applications from dozens of teams, you need to be able to support (and troubleshoot) anything and everything.

Everything I’ve heard leads me to believe it will be fairly easy to become competent in Java given my experience in C# and C++. I have a copy of Teach Yourself Java in 24 Hours and some spare time, so I’ll find out soon.

* I hope that one day that the FTC will ban installer bundling. That certainly won’t happen with the current shitministration.

FreeWaveSamples: DMCA Response Period Expired, Samples Restored

This is an update to a previous post about a DMCA request frivolously filed by Roland Corporation against freewavesamples.com.

I sent a DMCA counter-notice to my ISP, Linode, and they forwarded it to Roland.

14 days (10 business days passed) and Roland did not respond.

Yesterday Linode contacted me to let me know I was free to put the content back up, so I today I did.

For reference, these are the URLs where samples have been restored:

http://freewavesamples.com/roland-d-20-kick
http://freewavesamples.com/roland-jd-990-pizzicato-strings-c4
http://freewavesamples.com/roland-d-20-snare
http://freewavesamples.com/roland-gr1-orchestra-hit-c5
http://freewavesamples.com/roland-gr1-trumpet-c5

It’s no surprise that there was no response from Roland regarding my counter-notice. I’m sure the badly-written IP enforcement bot they’re using isn’t advanced enough to handle that sort of thing.

I will not consider the manner closed until I hear from a real Human at Roland. They could continue to harass me, and that is why I haven’t removed the “Free Wave Samples Is In Danger” banner text from the website.

Karaoke and Cold Lazarus by Dennis Potter

I recently watched a pair of British Sci-Fi dramas by Dennis Potter filmed in 1996. Over the years I’ve seen references to Cold Lazarus here and there (including as the title of a Stargate episode) and decided to check it out. It’s the second part of a pair, the first being Karaoke. Apparently they’re available on YouTube in a huge playlist of Dennis Potter’s works (items 42-49).

The first story in the pair is a 4-part mini series drama about an author who discovers that he has pancreatic cancer. He’s also been going through some strange deja vu that I won’t go into because it would be a spoiler. I wasn’t sure what it had to do with science fiction until I saw the second story.

Cold Lazarus is a 4-part mini series and takes place hundreds of years in the future in a dystopian hyper-corporate oligarchy. It features a science lab doing experiments with a frozen head and some drama about what is to be done with the head that I also won’t go into because spoilers. The head used to belong to the author in Karaoke and the memories extracted include some scenes from that series.

Overall, they’re pretty typical for low-budget 1990’s British television dramas. There are some really interesting props and scenery in Cold Lazarus, especially the motorized chairs that look like giant man-eating plant pods. Wikipedia says that many of the props were purchased by a film company that later used them for a movie called The Vampires of Bloody Island, which I have not seen.

It turns out that the first story is very autobiographical. Dennis Potter had cancer and these were his final stories, not filmed until after his death from pancreatic cancer. Dennis hated Rupert Murdoch and had spoken out against him publicly. He went as far as giving his cancer a name. That name was Rupert.

I agree. Rupert Murdoch is a cancer and has made the world a worse place.

In any case, these two stories, while not multibillion-dollar blockbusters, are still interesting. Since you can watch them for free on YouTube, you might as well do it when your Netflix queue runs out.

SpaceTheremin, a Virtual Theremin

Back in 2007 I wrote an application called SpaceTheremin. It is a simple app that lets you use your mouse to control a virtual theremin by moving it over a beautiful public domain image from the Hubble Telescope to control pitch and volume.

Over the years I also released versions for Linux, webOS, and OSX (via the Apple Store). It’s been downloaded tens of thousands of times and is a fun noise toy.

It’s available on the Zeta Centauri website if you’d like to check it out.

Open Sourced: RoboBlather, a Text to Speech Application for Windows

Back in 2008 I released the first version of a simple text-to-speech program for Windows called RoboBlather. Over the years it has enjoyed some popularity among a small niche of users due primarily to its uncomplicated interface.

Today I finished open-sourcing it under the MIT license. If you’re interested, it’s available here on GitHub.

You don’t have to be a programmer to enjoy it — there’s an installer that lets you use it right away without needing to worry about the programmer-y aspects.

Thanks Again, Capitalism

Two days ago I started a new job doing DevOps at a large public company. I was really excited about it because they were doing interesting things combining technology I know well – Python, Django, C#, PostgreSQL, and C in a Linux environment on AWS managed using Salt Stack. They were also using some interesting tools that I’d have a chance to learn – TeamCity, Gerrit, and Ansible.

I told my friends that I was looking forward to spending a while at a company that didn’t have all of the chaos and instability of a startup. A company that would still exist from one day to the next. There’s a thing on my bucket list that I’ve almost but not quite reached – working at the same company for 5 years (I got to 4 years and 9 months back in 2003). I thought there might be a chance with this one.

Yesterday, on my second day, they decided to disband the department I work for.

Why?

They had a bad quarterly earnings report and had to do something to “maximize shareholder value”. This normally means slashing your R & D budget to the bone and crippling your ability to generate new streams of income. So they slashed it, canceled the product we were working on, and dropped a surprise bombshell to everyone at once. A bad time was had by all.

Short-term thinking at its finest.

In any case, I don’t regret a minute of the experience. I met some really great people who made me feel welcome. I wish them all the best.

For further reading:

Why Companies Need to Think Long Term

Short-Term Thinking is Dangerous to Innovation

Can America’s Companies Survive America’s Most Aggressive Investors

How to Stop Short Term Thinking at America’s Companies

My History As A Musician

Like many Americans, I was exposed to the recorder in grade school. I didn’t much care for it, and the terrible traditional public domain songs we played like Hot Cross Buns made me not really care for music.

Later, in middle school, there was a choir class. At least one mandatory semester. Didn’t like that either. The Old Grey Goose Is Dead didn’t excite me, nor did any of the other old-timey hillbilly music that was public domain.

I didn’t really care for music until around 1991. Most of what I’d heard until then was terrible 1980’s pop or classic “phase 1” butt rock as this Overthinking It post describes it. None of that spoke to me.

It wasn’t until the grunge and alternative movement hit in 1991 that I heard music that I actually liked. Nirvana, Pearl Jam, Stone Temple Pilots, Red Hot Chili Peppers, Alice in Chains, Rage Against the Machine, and Ministry were in heavy play rotation on my cassette walkman. Some of them broke from overuse and had to be re-bought. I am a product my era.

Since I suddenly liked music, I decided to score a cheap pawnshop guitar (around my birthday in 1992). And, being an introvert living in pre-internet middle of nowhere with nothing much to do, I practiced A LOT. I didn’t really get good, but I sure got good at sucking loudly. And I could suck loudly FAST.

So, here’s my music creation history:

1993-1996 Demo tapes as various versions of “Fred” (Guitar, Bass)

This started out with recording onto a cassette deck as “Fred” and evolved into recording to a cheap 4-track cassette deck. I bought a cheap short-scale bass and a basic drum machine in 1994 and added those to the repertoire too. The name got longer with each recording. The progression went Fred -> Blue Fred -> Navy Blue Fred -> The Navy Blue MultiFred Sweater -> The Sub-Neo Navy Blue MultiFred Sweater. None of these recordings saw the light of day. That’s a good thing.

I stopped recording around 1997, though I still noodled around on the bass guitar quite a bit.

However, I have gone back to some of the style I had then. Something may see the light of day under the “Navy Blue Fred” moniker at some point in the future.

2000-2003, 2005-2006 Member of Dr. Kilpatient, Toledo, OH (Guitar, Bass, Synthesizer, Hand Drums, Studio Work)

I contributed to something like 11 or more albums. So many that I lose count. This also includes the New World Orderlies, which released 5 or more albums. A bunch of improvised live music and a bunch of composed, recorded songs made it onto recordings, some of which were unedited live shows, and some of which we spent many months recording and editing. Tomasz Kordowski was the lead genius of this band, and it was the most fun I’ve had making music. I alternated between calling the music “electronic jazz” and “funky industrial techno polka circus rock”. The lineup changed many times over the years, and my main instrument varied from bass to guitar synthesizer, to keyboards (briefly).

Other than a few badly-recorded VHS-quality clips of live shows and a few songs on my Bloodless Mushroom website, not many recordings survive online as far as I know. Certainly nothing on iTunes, Amazon, or Spotify. For the NWO stuff, getting permission from all the musicians involved to formally publish to paying channels would probably be tough since there were 8-20 people who contributed to each album.

1999-2012 Bloodless Mushroom Solo Project (Studio Work, Multi-Instrumental, Bass, Guitar, Synthesizer)

Bloodless Mushroom started as tracker music posted to MP3.com back when it was an indie music portal. Over the years it has waxed and waned as an experimentation platform for synthesizersand fractally-generated music fused with guitars, bass, and tracker-sequenced drums. I refer to it variously as “experimental electronic”, “ambient”, “classical” and “industrial”. It could probably just be called “soundtrack”.

The synthesizer use started with a Yamaha DJX home keyboard and then added a Yamaha TX81Z and Ensoniq ESQ-1, both of which were used throughout the project.

I worked on this in every spare moment I had from 2000-2002. Then I mostly shelved it until 2008 when I wrote some more music and released another album. It was still mostly shelved, with a remix album in 2012. I really don’t consider this “active” in 2004, 2006, 2007, and 2009-2014 other than the few days I worked on it in 2012. I was busy living during most of those years (college, cross-country moves, career change, etc) and didn’t have much time for music.

The five surviving albums from this era are available on all the various streaming and buying platforms — Spotify, Amazon, iTunes, CDBaby, etc. There’s some really interesting stuff in there. And some less interesting stuff.

2006 The White Russians, Columbus, OH (Bass)

This was something I did with a coworker at the time, Luke Kucalaba, and his cousin. We practiced a bunch and had some songs that sounded good (nearly enough for a live show), but I didn’t stick with it because it was classic rock covers, which I don’t really care for. If it’s not all original music, I get bored quickly. Great guys, though. I hope they’re still making music.

2008 The Untermensch Denial, Columbus, OH (Bass)

This one was a bit of a train wreck. It was an industrial band. The drummer was phenomenal. He combined an electronic and acoustic drum kit to great effect. The lead singer was really good. The guitarist was really good. It was really well-written, punchy original music. It could have gone somewhere.

We got our act together well enough to play one gig (on really poor booking terms) which nobody attended. Everything fell apart after that — the whole band was disheartened and life happened to everyone. The drummer moved to Florida. The singer discovered weed. Guitarist had medical issues (recurring problems from a motorcycle accident). I think I was the oldest and most boring person in the band (I had a real job and a house), so I was too uncool to hang out with. It all just kinda fizzled out.

2013-2014 The Freedom Drones, Portland, OR (Bass)

I was kind of the interloper in this project. I moved to Portland, where Tomasz from Dr. Kilpatient fame above lived. He already had something going with Mike Karras, another phenomenal performance artist. It was called “Too Big To Fail”, but another band had the name earlier and they had to change it. It changed to The Freedom Drones.

Practices were always a fun hassle of an ordeal. I was the only one without kids, but I lived as far away as you could live and be in the same metro area (25-mile commute to practice sessions, and since I was mostly working in startups at the time, I was usually tired of life on the weekends). Mike had a newborn, a demanding day job, and a successful improv comedy career, so it was hard for him to make time.

I performed once with them at an open mic night. They performed a couple times without me. Maybe this will be a thing again at some point, but it’s hard to get everyone together in the same room. There’s some brilliant songwriting that deserves to be heard, though. None of the brilliance is my fault.

2015-2017 Bloodless Mushroom, Beaverton, OR (Synthesizer, Guitar, Bass, and Production)

I got back into creating music as Bloodless Mushroom in a big way in 2015. Some of what was on the Marasmius album released that year started as unfinished tracks recorded in 2005. And some no-longer-unfinished tracks from 2005 will be on the upcoming Cymatella album. I also released Lichen (weird fractalesque chill-MIDI tunes) in 2016, Moss in 2017 (fractal classical), and Oreades in 2017 (ambient electronic).

I’ve been working on Cymatella since fall 2015, starting from some ideas that didn’t fit onto Marasmius. It’ll take as long as it takes.

There’s more that needs to be done. Moss and Oreades both have follow-up albums in the same style partially written. They’re tentatively titled “Gymnopus” and “Nothopanus”, respectively. I also want to use the names “Toadstools” and “Calyptella” for something, but I don’t know what yet.

The Future

In addition to the potential creations from Navy Blue Fred and Bloodless Mushroom mentioned above, there’s also a terrible death-punk metal project I’d like to release some music as. I do not know what the future holds, but I don’t doubt it’ll be weird.

I know I’ll never have a professional music career, but I do enjoy creating original music. Even better if it can be performed live.