Home » Art » Let It B…SD – and how to record songs with Audacity (Open Source Free Software)

Let It B…SD – and how to record songs with Audacity (Open Source Free Software)

A few week-ends ago I had a go at recording “Let It BSD,” a pastiche of “Let It Be,” focused on the BSD operating system. It was the first time for me in years that I had had a go at recording music.

What I used to do when I was in high school was to record myself playing on a cassette tape, then play that back through my parents’ dual-tape hi-fi system whilst recording the vocal track onto the second tape. If I was happy with that I would be able to record a third time by re-recording in similar fashion over the first tape. Onerous, time-consuming (especially when I made mistakes), and with very limited mixing opportunities (read: none), it was a rather challenging (vexing) experience.

That was 2002. 14 years on, the technology available for casual hobbyist recording has come leaps and bounds; and no, I did not need any particularly powerful equipment for this at all. A modern laptop (from within the last couple of years) and a couple of small accessories are enough.

The song, the subject

play

Play Let It BSD (new tab)

  • BSD stands for “Berkley Software Distribution,” and generally refers to a variety of related operating systems based off of the original 386BSD from the 80’s, itself derived from the original portable version of UNIX.
  • Let It Be is a fairly cheesy, albeit popular, song by the Beatles, which I am not sure is appropriate to sing in all times of conflict (I was never sure of what we should “let be.”)
  • Let It BSD“‘s lyrics were written by Jacqueline Kory Westlund, as a result of having heard one too many episodes of her husband’s favorite tech security and systems podcasts, TechSnap and BSD Now.
  • JKW released her parody lyrics under a Creative Commons with Attribution license (CC/Attr), which is a license for content creators that allows everyone to share and modify material, so long as the original author/s is/are given credit in appropriate and visible form. Which is fortunate for me, because I was not able to place a comment on her blog to ask/thank her.
  • My recorded track is, as such, also released under Creative Commons/Attr 4.0 license, for anyone to do what they would like to with.

My Setup – hardware and software

On the hardware side, I used

  • a Lenovo Flex laptop and simply its built-in mic
  • a set of headphones (really good Sony ones, cost me about £40 a few months ago)
  • and a USB stick.

I used headphones (not earbuds) to get the best pitch range on playback.

I used the USB stick to record the temp files to – in Audacity preferences under the Directories section, you can specify what space to use for the temp directory. Since my laptop has a HDD and I did not want the fans or disk kicking in, a USB was a suitable workaround. It wouldn’t have been necessary if I’d had an SSD.

4GB might have been just about sufficient with no other apps present and a lightweight desktop; and as I type, I wonder, if I’d had less RAM, if using a file on the USB stick for a swap file, would have helped…

For the software, recording and “mixing” was done in Audacity, running on Ubuntu MATE (a Linux system — yes, ironic isn’t it). I had two windows with the lyrics open so that I could have everything in front of me fully annotated, so no scrolling would ever be needed. Paper would have been an acceptable substitute.

bsd_tracks

Instruments involved

  • a mandolin (two actually for different sound qualities and ease of handling)
  • a steel string acoustic guitar
  • a Spanish nylon-strung guitar
  • a tambourine
  • and a metronome (because I had not yet found out about the click track feature built-in to Audacity!)

You can tune manually, but having a guitar tuner makes it all the easier. Pity my cheap penny whistles are all out of tune.

bsd_instruments_600

Method

The most frequently used keyboard shortcuts used during recording will likely be these:

  • (R) record
  • (P) pause
  • (Space) stop/play
  • (J) jump to start of track
  • (K) jump to end of track

Starting a recording writes to a new track, always. You can use the ←→ dual arrow tool to move track pieces around, and split tracks on the cursor in the Edit menu: Labeled Audio.

  • First take: I recorded myself strumming and singing against a metronome, to lay down the reference track.
  • Second take: playing the first take back in the headphones, I did a new take solely recording the guitar being strummed.
  • Third take: this was supposed to be the vocal track, but since I had to turn off the first recording I lost the metronome ticks, so third take was …. clapping in time to the first track to create a poor man’s click track.
  • Third take (bis): I recorded a first take of the vocals. This was not so much to be a final take, but rather to serve as a guide as to where I was in the song on subsequent takes.
  • Fourth take: tambourine. It turns out playing a tambourine so that it blends in to a song decently is not quite as easy as just shaking and beating it. You want to shake it fairly deftly to avoid jangling at odd moments, which requires constant concentration…!
  • Fifth take: Spanish guitar arpeggiations, nothing too fancy. The bright timbre of the steel string folk guitar was much more preferable for strumming the background, so arpeggiation was left to the mellower nylon-strung Spanish guitar. I could have used an electric guitar to get a different timbre, but I wanted to keep it all as “acoustic” as possible.
  • Sixth take: Here’s where I cheated a little – I tuned the Spanish guitar to a drop-D, and played my bass track on it. In Audacity I then used the Change Pitch effect to drop the track by an octave, amplified it a little to bring the sound back and voilà – I have no bass guitar, but still have a bass track :-) The downside is that the low D does not translate well to digital re-tuning down by an octave, so it sounds a little funky. Not sure how to resolve this.
  • Seventh & Eighth takes: by now with my old cassette tape method I’d probably have been tearing my hair out and weeping in despair. At this point I was recording two backing vocals at the end of the track; harmonies to accompany the final slew of choruses. I actually reduced the volume on the reference vocal track to minimize distraction. Singing a harmony and keeping to it is not easy when a more familiar tune is being sung into your head. Even trickier to get two harmony voices in and keep to them. I sang in my normal voice, and in falsetto, to be sure to get different timbres.
  • Ninth track: solo time. Grabbed the ash mandolin to do this, it has a slightly higher action which suits me better for melody playing. I didn’t write anything for this, in fact I replayed the entire track from the beginning and practised scales and mini-licks until I got to the solo area, paused a bit, and improvised along through the solo area. I cut the rest from the take, it took me about 2-3 takes to get something I liked, then another one when I realized I had deleted it during an ill-advised bout of undo-redo. Bleh. No two takes were the same.
  • Tenth track: easy one – redburst mandolin with a lower action, which I just tried to strum as fast as possible. I was originally going to have it all through the choruses, but sustaining that proved too much for me, so only kept it in the final flourish.
  • Eleventh track: final vocals. I can sing in different registers. You don’t want to hear what happened when I went up an octave. For this one, rather than use my normal baritone voice, I tried to keep the timbre higher. The original take (3bis) made me sound a bit like an opera singer trying to do folk. Yeuch.
  • Final track: the Allan track. My intention was to grab clips of Allan Jude saying the names of each of the BSD flavours and substituting them accordingly, but I didn’t have the courage to actually go through a whole heap of shows to identify where he might have said each line, if at all. So we’re stuck with my cheap imitation-Canadian accent.

How affordable does this make hobbyist music recording?

(The rig I did all this with is a little more powerful than regular laptops; I have a small Gigabyte Brix with 4GB RAM and a HDD, 2 processors. I will need to use an external webcam as it has no built-in mic, but could still make sure to keep it near the unit to simulate an internal mic. I’ll do some tests there too to find out whether recording with that setup would be viable.)

System

If you do not have access to high-end PCs or modern laptops with top-specs, you’re probably finding yourself limited in choice. Getting a second-hand laptop from the last 3 years would probably work fine for the task, preferably with at least 4GB RAM

Your base minimum would probably be dual-core at 1.4GHz, 2-4GB RAM, and 2-4 USB ports. Any PC/laptop produced within the last 4 years should be able to manage that.

The laptop I used has 8GB RAM which probably helps in keeping recording + playback in memory responsive, reducing recourse to the fans I expect.

If you do not have this amount of RAM, and can’t get/afford any modules to expand, there still might be a way – create a swap file on a second USB stick, which would burn through the stick faster (and you probably would only ever want to use it as swap thereafter), but would prevent the HDD from kicking in when memory needs to be offloaded to disk. I’ve heard that the stick burns out faster used in this way, but no idea what timeframes – hours, days, weeks or months of usage.

I don’t think you can explicitly and dynamically configure swap location in Windows or OS X (even though the latter is lightly related to BSD), but in strict BSD and Linux it’s a doozy – as root just do the following

swapoff # turn off normal swap, wherever it is  
SWAPFILE=/path/to/swap/file/swapfile
dd if=/dev/zero of="$SWAPFILE" bs=1024 count=$(( 4 * 1024 * 1024 )) # 4GB swap file
mkswap "$SWAPFILE"
swapon "$SWAPFILE" # since we turned off all other swap, we only swap on this file

And then remove it from swap and turn on the normal swap

swapoff
mount -a # assuming swap is normally set up in fstab

Recording Software

You would be hard pressed to get such a complete solution for basic audio recording and mixing as Audacity for free. Apple’s Garage Band costs to acquire now if you don’t have it preinstalled (I don’t, I had to reinstall my Mac some time in the past) or want the latest version, and requires off the bat that you buy a Mac. Microsoft does not make or bundle any similar-grade software out of the box, and Adobe’s solution is aimed at professionals, with a price tag to match.

Audacity works on BSD, Linux, Windows and Mac OS X and whilst not as feature-complete and pretty as its commercial counterparts is still very flexible and powerful. Also it doesn’t chew memory just to launch – it’s a lean mean recording machine.

It is Open Source Free Software, and supports recording to OGG (for lossy compressed files) and FLAC (non-lossy compressed files), both open standards that any software can read (if it wants to). There’s no patent tax on the software makers to pass down to their users.

If you want to record video at the same time as the audio, you can try Open Broadcaster Software which is released for Linux, Mac, and Windows which can record desktop, multiple webcams, and audio as required; also open source free.

To mix the video portions you could check out Blender which is also multi-platform, including BSD, open source free as well.

If you are into electronic music and trackers, there’s LMMS, which I have not tried but may eventually come to explore if I get back into recording with trackers more frequently.

Conclusion

I don’t think I could have done this easily on commodity hardware without Linux and Open Source Free Software in general. To do even simple home recording, I expect without FOSS, I would have had to shell out for a proper system – or stuck to tapes and hi-fis.

And Allan’s wish for this to be sung at a BSD con may yet come true; what I hope to have done is laid down a reference version to build upon. It would be fun to see an instrumental team get together to record a version, or do a live take at a meetup, with Allan doing his part too…

Or at least a Jupiter Broadcasting version, recorded on Noah and Chris’s pro-grade equipment – if they can put aside their other allegiance for the sake of a song 😉

Posted in Art, Free and Open Source, Linux

Leave a Reply

Your email address will not be published. Required fields are marked *