Category: DS106radio

  • I’ve been broadcasting on DS106radio for a few months now with my good friend Lauren Heywood. We grace the airways on Fridays with a regular slot, but I thought it was about time I tried a setup of my own for the odd impromptu radio session.

    Shout out to Tim C for his DS106 streaming tutorial, which inspired my take on a streaming setup. Originally, I was tinkering with a whole host of hardware bits and bobs that I have for music production, but I ended up with a much simpler setup that uses an iPhone, MacBook, and USB microphone. The rest is software magic. I’m sure there are ways to do the same kind of setup on Windows if that’s your bag, but for this tutorial you’re going to need a Mac.

    Ok, let’s get started with the list of tools. I use the following gear:

    • Software: Mixxx, Soundflower, Discord, Your music app of choice
    • Hardware: USB Condensor Mic, MacBook Pro, iPhone, Headphones

    The main bulk of the setup uses Mixxx; a free and open source DJ app that handles mixing, broadcasting, and recording duties for the radio session. I use Soundflower (also free) to pipe music and vocals from Mixxx into Discord so I can include guest speakers through voice chat. I then pipe the audio from Discord back into Mixxx in order to capture the conversation. Mixxx’s master output is then streamed to the web using the built-in broadcast feature, whilst recording a hard copy to my Mac.

    First things first, get your software installed

    Install the latest version of Mixxx for your Mac. If you’re running Big Sur you’ll need to use their beta software, but I would recommend this anyway as it has a much better user interface.

    Install the most up-to-date Soundflower version available. Soundflower is a little Mac OS utility that enables you to pipe audio around the various apps on your mac through custom audio channels. You can download Soundflower here.

    Install Discord and join the amazing DS106radio server (generously set up by Lauren Heywood). You don’t have to use Discord, any other voice chat app will work, but we recommend it for its super smooth voice and text channel features. We’ve set it up like a virtual radio station, with different ‘lobbies’ and ‘studios’, allowing listeners to message along with a show, and drop in and out of the voice channels. It also allows us to have private text chats for the hosts for sharing links, communicating off air, and stuff like that. I’ll write a blog post about the DS106 Discord server in more detail, unless Lauren is planning to, in which case I’ll paste a link here once it’s up.

    Enable your iPhone or iPad as an input source

    I use Spotify for my audio, which means I need a way to input this into Mixxx. To to this I connect my iPhone to my Mac via a lightning cable and enable the iPhone as an input source using the Mac’s built-in Audio MIDI setup utility. This gives me a direct audio feed from my iPhone, meaning I can broadcast any audio source I want from my phone. I prefer this setup for queuing up music as it gives me a dedicated device to manage the music, rather than juggling Twitter, Mixx, and Spotify all on the desktop. I dunno why, I just like the physicality of it. This will work for iPads too, as they’re basically the same device, just in different sizes.

    Connecting Discord using Soundflower

    So, what is Soundflower exactly? Think of it a bit like a telephone switchboard that routes audio between various apps that can’t otherwise talk to each other. This will allow you to have guests on your show via voice chat apps. In order to include audio from apps like Skype, Discord, Whereby, etc, you need to be able to pipe the audio from Mixxx into your chat app of choice and then back into Mixx again, in order to be broadcast. For my setup, Soundflower is all you’ll need, and it’s free! If you want to get more complex for whatever reason, then you can use paid apps like Audio Hijack and Loopback. These are the successors to Soundflower, but the OG is all I need for my setup.

    Once installed, Soundflower creates two channels on your Mac for routing sound through the OS. There’s a 2 channel option and a 64 channel option. I use both of these to pipe sound in and out of Discord. In Mixxx I set the booth output to ‘Soundflower (2ch)’, this will feed the vocals and music to Discord. This allows me to send audio into Discord so that guests can hear my voice and any other audio that’s playing through Mixxx. To do this I simply set Discord’s audio input to ‘Soundflower (2ch)’.

    Next, I set Discord’s audio output to ‘Soundflower (64ch)’ in order to send the guest vocals out of Discord and into Mixxx. In the Mixxx app, I set the Microphone 2 input channel to ‘Soundflower (64ch)’, this completes the loop.

    Setting up your music and vocals in Mixxx

    Mixxx handles all the broadcasting, recording, and mixing for the radio show. In order to capture my voice, I use my Audio Technica AT2020 USB microphone. Once the mic is plugged in and ready to go, I open Mixxx’s audio preferences, go to the input tab, and set the ‘Microphone 1’ input to my AT-2020 from the dropdown list. I then set the ‘Microphone 2’ input to Soundflower (64ch), this feeds the Discord conversation into Mixxx. (If you’re not including guest speakers through Discord or another app then there’s no need to do this). Finally, under in the same menu, I set the ‘Auxiliary 1’ input to my iPhone. job done, now on to mixing.

    Mixing the sound sources

    The next sections are going to reference the numbers in the screenshot below.

    Once all the different sound sources are running in Mixxx, you’ll see them in the main user interface; mics on the left, music on the right (items 1, 2, and 3 in blue). In order for me to hear the music feed, my voice level, and the Discord audio feed, I select toggle the headphone icons to grey for each input. This allows me to monitor the audio in my headphones. I adjust the gain levels in order to get a happy balance of each source. I do this by ear, whilst making sure the master output (4) isn’t clipping (hitting the loudness threshold at which point the audio distorts).

    Once you have a nice loud and clean signal you’re good to go. You can choose to monitor you own audio or not, it’s personal preference. This may depend on the latency of your audio, which will differ depending on the speed of your computer. Under the sound hardware settings menu, I crank up the audio buffer to 2.9 milliseconds to limit any audio latency if and when I need to monitor my own vocals.

    Bonus Feature: There is also an option to add sample into a sound board that runs above the inputs. In the example below I’ve added in a sample (5) that I can play on demand. This could be a bumper, sound effect, whatever you want really.

    Alright, we’re all set. Lovely jubbly!

    Configuring the Broadcast settings

    To get the show on the radio requires just a few entries into Mixxx’s live broadcasting preferences.

    • Type: IceCast 2
    • Host: ds106rad.io
    • Mount: Live
    • Port: 8010
    • Login: Source
    • Password: *********
      (Get in touch with the DS106 crew on Twitter via #DS106radio)

    This is the core stuff you need for broadcasting, but you can add more detail, such as Stream Name, Website, Description, etc. I recommend you do this so that your show has a name that’s displayed to DS106radio listeners. I’d also recommend setting automatic reconnect with 2 or more retries, in case you lose your broadcast connection.

    Recording a copy of your show

    Mixxx has a recording feature built in which allows you to output an audio recording of your show to your Mac. Simply head over to the recording preferences and select the location you wish to store the recording, and what quality you wish to save at. I recommend 320Kbit MP3 for good quality at a small file size. Also, split the recordings at the maximum file size of 4GB to keep you recordings as a single file, unless you have some marathon sessions. 😅

    Go Live!

    Ok, so that’s about it folks. Once all your ducks are in a row, check to make sure nobody is broadcasting to DS106rad.io. If the coast is clear, click ‘REC’ (7) and it will light up turn red and begin recording your session. Next, then click ‘On Air’ (6) and it will light up green and begin broadcasting.

    Once you’ve finished your show, wait a few seconds after your last song or final words so the stream doesn’t cut off before the end, then click to go ‘Off Air’ (6). Now you can click ‘REC’ again (7) to stop the recording. Thanks for the pro tip on the cut-off Lauren. 🤙

    And that’s it! I think I’ve covered all the important bits, but if you try it out and I’ve missed anything useful, let me know in the comments below and I’ll add it to the tutorial. Happy broadcasting!

    Here’s a goofy little clip from my first test of the setup with Lauren Heywood, live from Jim Groom’s basement. Caution: strong language at the end. 😂


  • I’ve had a blast these last few months as Lauren Heywood and myself have taken to the DS106radio airwaves to do our own little radio show. What started out as a bit of a test to see if we could pull it off has quickly become a regular DS106 slot, every Friday from 4-6pm GMT. The perfect time to usher in the weekend here in Britain.

    We play a bunch of songs, sometimes with a theme and sometimes just whatever pops into our heads, and then proceed to chat about anything and everything. Somehow it seems to be working out, which is awesome.

    Originally we had talked about doing some kind of podcast, but after an initial attempt, it seemed as though doing it live on air would be a more natural and organic form of conversation that prevents us from overthinking the process too much. It forces you to just go with the flow in a way that’s quite hard to achieve in a pre-planned podcast setting. The live stream is unforgiving, but at the same time it’s incredibly freeing, as you simply don’t have the time to overthink things. This is something I think we both appreciate as we’re quite the sticklers for detail and trying to perfect things. The time it’s taking me to write this post is a case in point!

    As stressful as some people might find hosting a live radio show to be, I find it quite relaxing. I think that’s partially thanks to Lauren, who has kindly taken on the role of streaming the show from her end. Something I’m incredibly grateful for, as I usually find myself behind the curtain, turning the wheels and toggling the switches. To be able to take part in something and not be responsible for making it all work seamlessly is a welcome change, and one I greatly appreciate.

    Lauren’s also been recording a bunch of our past episodes and diligently blogging them, complete with the track lists and any notable tweets and links from each episode. Again, I couldn’t be more grateful.

    On top of that, we’ve been testing out a new community setup using Discord, which we now use to host our show through voice channels and live chatrooms. It’s working great so far and really adds an extra level of interaction for us as we can respond to messages instantly and the chat keeps us from flailing about with nothing to say 😂. Hopefully the Discord setup can be useful for other DS106 folks if they’re interested in using it in the future. I know Jim has been dabbling with it since for the awesome OERxDomains 2021 conference, so that’s cool to see. We’ll keep refining it as we go, whatever happens, but if you want to join the Discord server then ping one of us on Twitter and we’ll happily add you to the mayhem chat.

    The DS106radio community has been awesome too. I’ve made some new friends along the way and had countless laughs in the twitter feed. They’re such a great bunch of people and it’s been a shelter in the storm during these past few months of winter lockdown due to the global pandemic. With little ability to meet and interact with people physically, being able to tune in – or broadcast – to the DS106 community has helped make lockdown feel that little bit less isolating and monotonous, so thanks guys! 🙂

    And a big thanks to Jim Groom especially, your kind words, infectious enthusiasm, and encouragement mean a lot. 👊 Big love.

    So here’s to many more Fridays, and possibly some other shows in the future. If you listen, don’t forget to tweet us at #DS106radio 4life.