How to Stream in Mixxx from Your Laptop

Mixxx is a community based DJ application that runs on Windows, Mac and Linux and offers comparable capability to VDJ and Traktor while being completely aboveboard in offering a free fully functional download with no nagging, no premium. We’re in Windows 7 here, everything known to work fine in Windows 8.1.

Get it!

I happened to install the 1.12 beta as I was in a hurry to help someone in live chat. He was interested in taking his library of waltz music and streaming it DJ style online, and he’d previously installed Mixx, which showed promise, but he definitely came up with some stumbling blocks. You can install Mixxx and it works. You might hear your beautiful music right away, no matter what your sound settings default to, but before we talk about (the cart) streaming, what about (the horse) the bits you are sending to that stream?

Well we had problems with both so it was good thing I reinstalled Mixxx to show the way to fix these, as I had problems with the these things along the way too. You can’t just wave your arms and the troubles vanish: you have to act.

Now streaming involves bits. Windows sound drivers, for example, also do maybe bits, but it might also be waves. Anyway it doesn’t look like a sample that you have to send out to your listener(s) wrapped as MP3, Ogg/Vorbis or AAC out there in cyberspace, the listener of your “beautiful music” that you want to share.

When Mixxx starts up you see this — just cancel out of this for now if you have a huge library

When Mixxx starts up for the first time you see a library screen. I don’t want to commit to learning 20,000–30,000 tracks tucked away in my iTunes right away so I bypass it, hit “Cancel.”

Now my Mixxx opens and looks like this. The only difference from the very first time I’ll describe next.

A couple of blank decks appear, and Mixxx looks like the picture above. Not the fancy skin I saw on the website, but fine. First I tried dragging a couple of tracks from the Foobar2000 music player I will show you later into that library section where you see “Jack.” I am a once-upon-a-time engineer, which means I break things all the time, do them all wrong until I find out what I need to do with the various things to get it right. So I learned that in order to get those tracks into that list, I drag just one track to Deck A on the left and drag another track to Deck B. So much for my beautiful music so far. Does it play. At first it did, but it was just faulty enough I had to do something. It was skipping, hesitating, popping, not sounding right. Actually it sounded awful.

I didn’t even no where to fix this at first. Go to Options, Preferences.

So I got to preferences. We were putting the cart before the horse and trying to stream before we got this next part settled, so now let’s take them in correct order, sound settings, then live broadcasting settings, which is the scope of this article. The rest of Mixxx we can eventually figure out on our own from here.

This is another cart before the horse in disguise. That is, this is what I want to see but without ASIO on my computer, I won’t be necessarily seeing this right away. I am not going to roll back but we can explore the choices a little.
In the dropdown at ASIO, the person I was helping didn’t see “ASIO,” so I tried all those other choices. Bad choices for what we are trying to do.

ASIO was actually sort of there because I previously installed what we’ll look at next, but I chose it last(??), and at first even the ASIO choice sounded bad too. It seems when you make sound preference changes you might have to hit “Apply” (button at lower right), exit from Mixxx, and then relaunch Mixxx for the change to fully take, if not go so far as to reboot your system entirely. But let’s look at ASIO4ALL if you do not have it. You need this for streaming, or you need at least one soundcard that has a proprietary ASIO driver installed or a DJ Controller with built-in soundcard capability and proprietary ASIO driver (we won’t be going into these other cases for this pure-vanilla tutorial).

Again, get it.

I’m just going to repeat the narrative I used rather than walk you through. Install ASIO4ALL and sooner or later RTFM, which is actually quite good. It does not act like a regular application, but more like a Control Panel widget, or more precisely a virtual soundcard driver. The executable does not appear at all in your list of application programs, so in order to see any indication of it, you have to invoke a program that might use it (Mixxx is running, for this example) and then look for it. I’ll show you where.

My taskbar is at the bottom and that little arrow I am pointing to with my mouse is where it is, so go ahead and click on “Show hidden icons.”

We’re looking here for ASIO4ALL. While I’m on this, I should mention I found a really great tutorial amidst the usual forum post bellyaching or unanswered questions that is actually more concise, authoritative and helpful than this article you’re reading.

This does not look promising in and of itself, but read the entire thing. Trust me it’s helpful, and moved our live chat forward considerably, as I had no article like this one you’re now reading to work with. This was our master guide on sound settings.
So here are our hidden icons, aniti-virus, sound settings, Greenshot that I am using for the screencaps and last, but not least a green box with a white arrow, ASIO4ALL. Click on that.

ASIO4ALL comes up, and what do you see? Maybe it’s something like this next picture.

This is looking good, no red Xs, but instead a nice light blue switch and arrow. It looks happy.. I think clicking on the monkey wrench takes you back to basic mode, but RTFM and remember it better than I did. I increased the latency because my past experience with low or default latency has been poor, that is stuttering can be expected because the buffer runs out. Or something. From the manual, I decided to click on Pull Mode as it won’t hurt. I don’t think it gets used on my system though.

That is a long-winded caption, but there’s a lot going on in ASIO we will just have to take as a given. It’s there and when I click play, let’s listen.

At first I didn’t even know where the play button was. Oh wait, I dragged the tracks from that little playlist one into each deck.

This is quick and dirty. I loaded my tracks, played them and listened. Frankly it sounded awful, but when I synced and key-synced the B side (the too-easy way to vinyl schooled purists who know how to DJ), everything sounded fine. I did a recording so you can hear it warts and all when I get around to figuring out how to write it into a Medium article.

Now that I’m finished playing, the decks look essentially the same, little check marks in the playlist indicating I’ve played the tracks is probably the only substantial difference from the picture above, but unfortunately the tooltip above obscures the evidence.

This article is painfully long, as was the live chat, two “days.” Rome was not built in a day. We now go to the Live Broadcasting tab in Preferences, which is actually streaming, not at all what happens with an FCC-licensed (or not-so-licensed) radio station. It helps to RTFM, this time, the Mixxx manual.

You can find the manual in Help or online. The point of this picture is if you hope to stream MP3, you need to follows the instructions precisely to get the LAME DLL, put it in the Program Files where Mixxx is installed and rename it exactly as they say. But as you can see in my settings below, I don’t use it, even though I did go through the steps and tied it, aiming to a different host.
These are my basic settings known to work. I changed the host IP address to protect the innocent. Your settings will vary. (Laughs) You need stream hosting in order to do this, and I leave finding out about that and getting a (demo if you can find one) host as an exercise to the reader if it’s brand new to you.

So “Apply” whatever you put here. You can check “Enable Live Broadcasting” box upper left or not, and instead do what I show you next.

Toggle Live Broadcasting by clicking where I’ve placed my mouse arrow. Better yet, learn the keyboard shortcut!

Now that you’ve enabled, we’re looking for that warm fuzzy something indicating it’s working and you’re live.

Here’s your warm fuzzy feeling GUI, hit “OK.”
My first keyboard shortcut works great, Ctrl-L, which toggles to the disconnect you see here.

Reconnect and what should you see when you enter your host and port into a browser such as “http://my_host.net:9999/” (same approach works for both Icecast and Shoutcast, which I really don’t know the difference between any more, but suffice it to say, your host is a server and Mixxx is acting as a streaming client — maybe that’s completely accurate, maybe it isn’t)

You should see something like this in your browser indicating you’re online. Shoutcast looks a little different in the browser, but same idea.

But what about listening to this great thing you’re doing? Well for this I have to cheat a little. It so happens ASIO4ALL does not play nicely with your Audio when other programs want to use Audio, and it may preempt the precisely the resources you need to hear the client side (client in a different sense, the client that applies to the listener, one of, we hope down the line, many listeners. So what I’m going to do is go ahead and play my track and we’re going to listen on a different computer, which I happen to have right next to my laptop. The program I’m using over there is Foobar2000. Let’s look and see what we can find.

Ok, here are a couple of exercises for the reader. You need to have a player such as Foobar2000 as shown (obviously recommended because I use it), iTunes, Windows Media Player or whatever, MusicBee, you name it. Winamp might play Ogg/Vorbis, but I don’t remember. Here I previously did an Add Location to the playlist sort of shown below, and the Peak Meter shows the station is streaming away very nicely and I was hearing it fine when I took this picture.
This is Add Location. Terminolgy may vary. You enter your host URL or IP addresss and port in the form http://my_host.me:9999 into the Add Location GUI that comes up and if (and only if) the “station” is live, it will enter the line item into the playlist, where you can then hit “Play.”

OK enough is enough. We’re live, up and running and listening. And now, we also have a tutorial and all is well. There’s more. I should mention one more tool I used in the live chat help session, because there were some massive stumbling blocks along the way and how did we address those stumbling blocks as found by the person being helped in a completely different country than I am? Why TeamViewer of course. He said download TeamViewer 9, but now it’s at 10, so I downloaded 10 and he reinstalled 9 to 10 and I ran it several times on this case (run once mode, but it’s personal use here, I think we’re talking about, so you could go ahead and install it).

There was a video that I watched. Apparently this company is European, but nothing about it is inappropriate for North American users.
I tried to show the GUI situation but only got as far this one (could not screencap the next GUI). There’s my run-once mode, and you also have to hit a radio button at “How do you use TeamViewer?” Then you hit Accept-run. Now the next GUI comes up that’s pretty self-explanatory. If I want to invite the partner or team to the computer I’m on, then I pass the credentials shown (id and password) to the partner. Likewise, I connect to my partner’s desktop to see what is going on over there and what the problem may be, or whatever. My partner still drives, but you can see all the stuff that’s going on. Or vice versa, your partner can sort of log in and view my magical oh-so-expert desktop.

OK, let’s commit this article and let the fun begin. Happy Mixxxing and streaming.