Mod Archive Forums

Music Production => MilkyTracker => Tracking => MilkyTracker Support => Topic started by: supersole on January 02, 2009, 19:52:01

Title: Milkytracker on ubuntu
Post by: supersole on January 02, 2009, 19:52:01
Hi people!

I'm trying to get some sound from Milkytracker but it isn't working. I installed it using ubuntu's package manager, and the only driver that it accepts is SDL's. But although the rows in the pattern move when playing the song, there isn't any sound at all. It just looks as if the computer's mixer was muted! (and that obviously is not the case).

Just to discard possible reasons for this, I can tell I can use other programs with the SDL driver perfectly, such as Schism tracker and code that I did using SDL's audio output. I saw somewhere there was a guy suggesting people to change from libsdl-pulse flavour to alsa flavour but even if I tried it (sceptically, I must add) it didn't make any difference.

When launching the program from a console, I get no errors or useful messages, only this:

SDL: Using audio driver: pulse
SDL: Buffer size = 2048 samples (requested 2048)

I tried to increase the buffer size, and clicked the 2^n option just to see what could happen but there wasn't any difference.

I also recompiled milky once applied the patch to prevent Jack from not working, and it didn't work either. It didn't produce the error from before, but it simply produced a hung up program.

There's people using milky on ubuntu so I wonder if anyone has any advice? It will be much appreciated.

I thought of posting this on ubuntu's bug tracker for the package, but I think the maintainer of the package also hangs around this forum so maybe it will be more appropriate to post it here.

Thanks for any help!
Title: Re: Milkytracker on ubuntu
Post by: Deltafire on January 02, 2009, 20:34:28
Quoting from the readme_unix file (should be in /usr/share/doc/milkytracker/readme_unix.gz on Ubuntu):

SDL *should* detect the best available audio driver on your system, however if
this isn't the case you can set the environment variable 'SDL_AUDIODRIVER' to
configure SDL to use the driver of your choice. Some known values to try are
'alsa', 'dsp', 'arts', 'esd'.  For example:

$ SDL_AUDIO_DRIVER=alsa ./milkytracker

Did you try that?
Title: Re: Milkytracker on ubuntu
Post by: supersole on January 02, 2009, 20:43:38
Hmmm I have pulse as SDL's audio driver. It is already set in my .bashrc:

export SDL_AUDIODRIVER=pulse

My configuration works with all other SDL based software, so that's why I wonder if I need to do anything special for milky. I tinkered a bit with the various config options but didn't get anything that changed the result.

Do you use pulseaudio or alsa? I'm just trying to find where is this failing :)
Title: Re: Milkytracker on ubuntu
Post by: Deltafire on January 02, 2009, 21:07:39
I use ALSA.

Some information that may help: If the patterns start scrolling when you press play, and the scopes are showing activity, then from Milkytracker's point of view the audio output is working fine.  This means that Milkytracker is sending audio data to the SDL driver when requested, so the problem must exist somewhere between SDL and your hardware, including the various APIs and drivers in-between.

I don't really know much about Pulseaudio, but you could try shutting it down and trying Milkytracker with SDL_AUDIODRIVER=alsa to see if that works.  If it does, then you know that the problem exists either with Pulseaudio, or SDL's Pulseaudio implementation.

Have you tried different mixer rates? I think the default is 44.1khz, so you could try 48khz instead (or vice-versa).  This is set in Milkytracker's config menu.
Title: Re: Milkytracker on ubuntu
Post by: jivatma on January 03, 2009, 11:26:18
Hello supersole,

here, on Ubuntu Studio, Milkytracker works fine. You are using the "standard" Ubuntu, i guess?! Ubuntu Studio is an Ubuntu Version for creative People. If nothing did help you with your problem, you can switch to Ubuntu Studio, if you like. (Ubuntu Studio uses Alsa too)


PS: i'm using the LTS Version of Ubuntu Studio (which is Version 8.04)
Title: Re: Milkytracker on ubuntu
Post by: supersole on January 03, 2009, 13:39:50
This is very odd. I changed libsdl to use the ALSA flavour, also changed .bashrc to use ALSA. Completely restarted (just to make sure). Tried without killing pulseaudio first, and I was able to load a module and hit play, the patterns moved but still no sound. Then I killed pulseaudio and tried with milky again... and got an error, kind of expectable, since there wasn't any sound server to serve SDL.

I guess the "option" would be to completely replace pulseaudio and use ALSA but that would be going against ubuntu's direction and would make updates pretty annoying. If I have some time I might dig into milky's code and see why it is not working with the pulse+sdl tandem, but right now I'm afraid I'll have to let things as they are or risk an unusable/unstable audio system.

Thanks for your help, Deltafire and jivatma! It's much appreciated :)

By the way, jivatma, I had ubuntustudio installed before but I went back to the normal distribution, since 8.10 didn't feature a realtime kernel, and after all, it isn't much more than a different skin and a couple of metapackages which install a bunch of programs that I do not use. I am now using 8.10 and kept the packages I really wanted to have (like QJackControl).
And ubuntustudio used pulseaudio as well.
Title: Re: Milkytracker on ubuntu
Post by: supersole on January 07, 2009, 23:42:38
All right, I think I have fixed this. It's so simple I can't believe it is the solution, but I'm posting it just in case someone else has this problem. It seems that for some odd reason, milkytracker was getting a wrong audio output assigned and therefore I wasn't able to listen anything, because there weren't any speakers connected to that audio output.

Furthermore, that always happened - but only with milky!

If that happens to anybody, just open Pulse Audio Volume Control (in Applications -> Multimedia). Run milkytracker and make sure it shows up in the Playback tab. If it doesn't, milky isn't using the pulseaudio SDL driver and this shouldn't apply to you :D

Then click over the dropdown button (it's right to the shield icon/button), hover the mouse over "Move Stream...", and select a suitable output from the list that pops out. In my case it had autoselected a USB something which I don't use and that's why I couldn't hear anything, but SDL didn't give any error.

It seems this setting is stored from time to time, so you shouldn't need to repeat this step again.

Hope it's useful for anybody who encounters this issue :)
Title: Re: Milkytracker on ubuntu
Post by: raina on January 08, 2009, 01:00:08
Nice, thanks for posting the solution. :)