View Issue Details

IDProjectCategoryView StatusLast Update
0007829ardourbugspublic2020-04-02 18:45
Reportersaltedcoffee Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86_64OSmacOSOS Version10.15 Catalina
Product Version5.12 
Summary0007829: No input signal from audio hardware on macOS 10.15 Catalina
DescriptionSomething in the most recent release of macOS breaks Ardour's recording capabilities from audio hardware via CoreAudio. While all the required input devices and channels are still visible and useable in a session, Ardour's meters do not show any input signal at all from the selected input device. When hitting the record button, Ardour just records silence.
Steps To Reproduce1. Open Ardour.
2. Load a session or create a new one.
3. In the subsequent Audio/MIDI Setup dialog, set Audio System to CoreAudio and Input Device to any audio hardware properly connected to the machine.
4. Start the Audio System and wait for Ardour to load the session.
5. Choose or create an audio track and set the track's INPUT to receive audio from the chosen hardware device (which should be system:capture).
6. Watch Ardour not getting any signal from the audio device.
Additional InformationI tested the above steps on multiple Macs running different versions of MacOS. I did a fresh install of Ardour and used all default values from Ardour's first run wizard to make sure it's not a configuration fault or a machine-specific error.

For audio hardware, I used a microphone connected to a Focusrite Scarlett 2i2 USB and then plugged that into the Mac in each case. The Scarlett has a physical meter on its front panel so I was able to make sure I actually get a signal from the microphone. In addition, I tried recording from the Mac's built-in microphone.

To sum up the results: With identical configurations for both Ardour and the audio hardware, recording works flawlessly out of the box on every system NOT running macOS 10.15 Catalina. Also, recording in Catalina does work with other software like Quick Time Player, Audio Hijack, Garage Band and Logic Pro.
TagsOSX, record

Activities

x42

2019-10-23 15:27

administrator   ~0020790

Last edited: 2019-10-23 16:06

inspired by https://forum.audacityteam.org/viewtopic.php?f=47&t=107162

open a terminal (search for "Terminal" in spotlight or go to Applications > Utilities
run `open /Applications/Ardour5.app`

saltedcoffee

2019-10-23 18:29

reporter   ~0020791

No, this won't work with Ardour. First off, the linked forum post doesn't suggest to run the app bundle from terminal, but the binary inside the app bundle. If anything, that would be: open /Applications/Ardour5.app/Contents/MacOS/Ardour5. This however won't start Ardour, but output the following in Terminal (irrelevant lines stripped):

ARDOUR_DATA_PATH not set in environment
Cannot find ArdourMono TrueType font
Cannot load ArdourMono TrueType font.
bind txt domain [gtk2_ardour5] to /usr/local/share/ardour5/locale
Ardour5.12.0 (built using 5.12 and GCC version 4.2.1 (Apple Inc. build 5664))
ARDOUR_CONFIG_PATH not set in environment
ARDOUR_DLL_PATH not set in environment - exiting

On IRC, I got the advice to run the shell script rather than the binary. Since there is only one shell script inside Ardour's app bundle, I suspect that would be /Applications/Ardour5.app/Contents/lib/ardour-util.sh. Unfortunately, I had no luck with this either. Running the script from the terminal makes it run indefinitely without starting Ardour. I have to manually abort the script to get the prompt back. If I get this correctly, the shell script is what gets executed when starting Ardour the usual way, so I'm not sure how this would be any different from running the script manually. I didn't have time yet to examine the contents of the script to see what it actually does.

x42

2019-10-23 23:51

administrator   ~0020792

/Applications/Ardour5.app/Contents/MacOS/Ardour5 is a shell script wrapper you could launch it as follows:

 ARDOUR_BUNDLED=1 /Applications/Ardour5.app/Contents/MacOS/Ardour5

but just using `open /Applications/Ardour5` or `open /Applications/Ardour5.app` should do the trick.

In any case, chances are that this Catalina issue is fixed in tomorrow's nightly build, Ardour 6.0-pre0-2638-g7f11d13c8a (or later) should be available in 5-7 hours from now at https://nightly.ardour.org/

PS. It seems that the shell script wrapper was the cause of the issue. The shell script sets up some environment variables and then runs`Ardour.bin`. It seems that if the Application-name does not match the binary name, there won't be a dialog "Ardour6 would like to use the mic.."

saltedcoffee

2019-10-24 20:53

reporter   ~0020793

That's actually great news. Using

ARDOUR_BUNDLED=1 /Applications/Ardour5.app/Contents/MacOS/Ardour5

fixes the problem for me while the other terminal command didn't. `open /Applications/Ardour5` returns a "file does not exist" error; `open /Applications/Ardour5.app` starts Ardour but does not fix input silence, meaning it behaves just as if it had been started the usual (non-terminal) way; and using the shell script wrapper without the "ARDOUR_BUNDLED=1" argument results in the terminal output described above (without starting Ardour). Indeed this is just what happens on my main workstation; I'd have to try this on the other Catalina Macs as well to see if it's just me who can't get the more simple commands to work.

I'm happy to report that the current nightly (which is 2640-gaaae93c at the time of writing) does indeed fix the problem. Ardour properly triggers the macOS permission dialog at first run ("Ardour wants to access you microphone") and then lets me record audio just as it used to. Many thanks for the fix.

tobinquadros

2019-12-26 19:52

reporter   ~0020871

Thanks for the info!

I didn't want to run the nightly cause I'm new to Ardour so wanted to stick with stable, but I did have success with audio recording in Ardour v5.12 on MacOS Catalina. The one thing not mentioned here yet is that you may need to go to "System Preferences -> Security & Privacy -> Microphone" and allow the Terminal app to access your microphone.

This command then worked to open Ardour and enable recording audio in a session:

`ARDOUR_BUNDLED=1 /Applications/Ardour5.app/Contents/MacOS/Ardour5`

Note: I did not have success attempting to run `open /Applications/Ardour5.app` from the terminal, but YMMV.

saltedcoffee

2020-04-02 18:45

reporter   ~0021136

Since at least version 6.0-pre0-2638, Ardour properly triggers all macOS security dialogs, e.g. file access and microphone access permission requests.

Issue History

Date Modified Username Field Change
2019-10-23 09:03 saltedcoffee New Issue
2019-10-23 09:03 saltedcoffee Tag Attached: OSX
2019-10-23 09:03 saltedcoffee Tag Attached: record
2019-10-23 15:27 x42 Note Added: 0020790
2019-10-23 16:06 x42 Note Edited: 0020790
2019-10-23 18:29 saltedcoffee Note Added: 0020791
2019-10-23 23:51 x42 Note Added: 0020792
2019-10-24 20:53 saltedcoffee Note Added: 0020793
2019-12-26 19:52 tobinquadros Note Added: 0020871
2020-04-02 18:45 saltedcoffee Status new => closed
2020-04-02 18:45 saltedcoffee Resolution open => fixed
2020-04-02 18:45 saltedcoffee Note Added: 0021136