(I'm a noob) no sound/playback - linux

Sorry in advanced for how vague this is going to sound.

I just installed ardour 5.12.0 on ubuntu 18.04.1 and can’t seem to get any sound out of ardour at all. I made one project where I recorded midi from my keyboard and one where I imported a wav file.

Both projects have levels coming out of master but no sound out of the machine (I have other applications playing music, not sure if that interferes with the software though).

There doesn’t seem to be anything to connect master out to…

I’m new to linux so has anyone had a similar issue setting up ardour? Should I try getting JACK working instead of ALSA? Is there any sort of driver set-up required before I can hear playback?

Thanks in advanced.

Sooner or later you’ll probably need JACK, so why not start messing with it right now.
https://libremusicproduction.com/articles/demystifying-jack-–-beginners-guide-getting-started-jack

1 Like

@roithamer Yeah after reading through some forums I think that might be a good idea, cheers.

Also an update for anyone interested, here is the killer error message:

ALSA: Cannot open device ‘hw:PCH,0’: Device or resource busy

Also if you are new to linux audio stuff, it is really good idea to start with some dedicated distro (kx studio, ubuntu studio, avl linux etc). Everything is setup and you can just learn basic things without tons of frustration.

1 Like

That means another application has the device open. Ardour requires exclusive access to the device.
First, make sure you are opening the device you want to use. The “PCH” device refers to the term Intel uses for the motherboard chipset controller, i.e. built-in sound. Is that what you want to use? If you have a USB interface or some other audio interface pull down the selection at input device and output device and select which device you want to use.

Second, you have to figure out which software is using your interface. Probably PulseAudio, which is the sound server typically used on most linux distributions. I am not sure what method would be the best to stop PulseAudio on ubuntu, perhaps someone else can comment on that specifically or maybe it will give a starting point for search.
This has some pointers, one of the methods described may work for you:

Third, you probably won’t need jack these days. Most of the additional software you will use with Ardour will be available as a plugin, and you only need jack for routing between separate applications. By all means feel free to investigate using jack, it definitely is useful, but at this point it is probably unnecessary effort, just use the built in ALSA drivers in Ardour. Internally Ardour has something very much like jackd for routing to handle the audio routing to plugins, between tracks and busses, etc., the only thing you lose is the ability to route audio between another application and Ardour.

1 Like

Actually probably not pulseaudio for years now. Ardour asks for the device and pulse gives it up even if it is being used. It is actually more likely to be an instance of jack started by mistake. This is easy to check in a terminal type killall -9 jackd jackdbus. While it is true you don’t need jack these days… there are a number of reasons jack may be of interest:

  • you have a USB mic and wish to listen on internal audio outputs
  • you need to be able to hear desktop audio without shutting Ardour down
  • You need audio i/o that is pulse specific (podcast with interview via skype)
  • you use some external application along with Ardour (Hydrogen used to be common)

OK, we should probably determine that for sure. Fortunately this use to come up a lot and so Paul(?) made a convenient script for checking. I have used one of Paul’s old posts almost verbatim a few times now:
run this command in a terminal window: cd /tmp && wget http://jackaudio.org/downloads/adevices.sh 3 && bash ./adevices.sh

Then paste the output. The command will not modify your system, but will show us all your audio interface hardware and what software is using which interfaces.

Make sure to run that script when you are actually having problems getting ardour to start, it will show what is using the audio interface at that moment.

@ccaudle suspending pulseaudio does the trick, but I can’t heard sound from other applications until it is resumed.

$ pasuspender ardour5

I’m gonna try routing jack into pulseaudio and ardour into jack https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_PulseOnJack

Also I ran your command but I think there was an invalid argument…

Cheers for all the help guys! I’m kinda on track now :smiley:

Unfortunately, ccaudle managed to insert an extra “3” as an additional argument to wget. That should not be there.

I try not to be overly negative about whatever system setup people choose to use, but it seems to me that Ubuntu breaks audio production more often than other distributions. There are ways to build PulseAudio so it gracefully gives up control when Ardour or jackd requests access to the device. I have never looked into the details of that because on the distribution I use (Fedora) it always just works, I never have to worry about it.
I looked through the configuration files on my machine but did not see anything obviously related to that behavior, so unfortunately I can’t really help figure out if there is a way to make your system behave in the same way.

That sounds backwards, but if you follow the link you referenced you will get it setup correctly. You want to start jackd first, so that jackd controls the ALSA hardware driver, then load the jack-sink and jack-source modules into pulseaudio, which will cause an additional pair of ports to show up in jack that you can route like any other application. Let jackd control the ALSA, then route PulseAudio into jack. I would describe that as routing PulseAudio into jack, since jackd is in control of the hardware settings and final audio routing, and you can start and stop pulse without changing any of your routing settings for audio production.

My apologies, just a slip of the finger I did not notice at the time. Seems like the original poster did confirm that Pulse was not relinguishing control, anyone else know a way to make it play nicely on Ubuntu 18 like it does on other distributions?

ALL FIXED NOW

I had installed Ardour using the Ubuntu software platform, so I uninstalled that and reinstalled using apt-get ardour5 and now it works perfectly with pulse audio and alsa!

Thank you so much for your help everyone I learned a lot throughout my research.

Hi,

same [or similar] problem here (no sound/playback).

The ressource http://jackaudio.org/downloads/adevices.sh does not exist anymore.

Has it been moved or renamed?

Thanks!

http://community.ardour.org/files/adevices.sh

@Paul: Thanks, this link works, but the script does not:

$ sh adevices.sh

Part I: ALSA
Advanced Linux Sound Architecture Driver Version k5.3.0-46-generic.

adevices.sh: 11: Syntax error: Bad for loop variable

(Error occurs as well on current Ubuntu as Linux Mint)

Anyway, is there something like a checklist to work through if Ardour does not output sound on Linux?

Configuration changes before Ardour stopped outputting sound were:

  • Removed a graphics card because Ardour’s UI responded with annoying lags and delays;
  • switched to on-board graphics (Intel), Ardour’s UI responds now smoothly;
  • sound output from mainbaord is now routed through the HDMI cable and played back on the monitors built-in speakers;
  • reconfigured audio settings for OS; other audio stuff like Audacity or VLC works fine.

Solved one problem, got a new one as bonus.

Not using Jack for Ardour, just ALSA. So I assume Ardour does not use the same audio stack as other applications and that Ardour does not understand that the audio signal comes through an HDMI cable.

Weird side notice: If I connect a 3.5" headphone directly to the mainboards signal output, Ardour outputs audio on the headphones. Just not on the speakers.

I don’t see a problem in Ardour’s mixer, and in Ardour’s Global Settings I can not find something related to sound output. Where do I go from here?

You are probably running it with sh instead of bash …