JACK kills built-in mic

6 replies [Last post]
BG Kid
User offline. Last seen 1 week 6 days ago. Offline
Joined: 2018-07-02
Posts:

Hi! Completely new to Ubuntu AND Ardour AND of course JACK/QjackCTL. Spent a hot minute figuring out how to configure JACK to run correctly without errors, but now that it runs, I can't for the life of me seem to figure out how to record audio into Ardour using my laptop's regular ole built-in mic.

My built-in mic works fine. I have PulseAudio Volume Control up and am watching the Internal Microphone port readout and it obviously is picking me up. But as soon as I start JACK from QjackCTL, it no longer works. (I boiled it down to this because the same thing would happen when starting JACK from Ardour.)

Now, I thought I'd be able to "choose" some built-in microphone setting from QjackCTL's Setup... Settings > Advanced > Input Device, but I've tried switching between everything there and this still happens. The only options in Input Device are:
default
hw:PCH HDA Intel PCH (hw:0)
hw:PCH,0 CX20590 Analog (hw:0,0)
And again, to clarify what I think the problem is and I think the solution is... Since my built-in mic obviously works, I feel like I should be able to set this up so that it stays working and JACK recognizes it and I'm able to see the built-in port readout for it if I check PulseAudio Volume Control with JACK open. If I can make it this far, then I'm guessing it'll work when I finally ACTUALLY open Ardour as well and record using the internal mic.

Thoughts?? Directions?? PLEASE respond I'm having such a time with this. I've searched so hard but no post seems to be addressing this simple question... I do have an PreSonus AudioBox in my room that I'm going to set up on here eventually, but before I do that, I really need to be sure I can accomplish something pretty basic on Ardour: recording. Using the built-in mic. That's right there. And 100% works for other purposes. But apparently stops working once I start JACK (/Ardour).

Thanks!

BG Kid
User offline. Last seen 1 week 6 days ago. Offline
Joined: 2018-07-02
Posts:

Here is the "Messages" readout from JACK when I open it (haven't pressed Start yet; it's not actually running):

21:37:54.201 Statistics reset.
21:37:54.206 ALSA connection change.
21:37:54.210 D-BUS: Service is available (org.jackaudio.service aka jackdbus).
Cannot connect to server socket err = No such file or directory # I feel like this is a problem.
Cannot connect to server request channel # And this.
jack server is not running or cannot be started # And this. What does this MEAN???
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
21:37:54.318 ALSA connection graph change.

And then when I press "Start", the Messages readout it this:

21:42:17.864 D-BUS: JACK server is starting...
21:42:17.946 D-BUS: JACK server was started (org.jackaudio.service aka jackdbus).
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Mon Jul 2 21:42:17 2018: Starting jack server...
Mon Jul 2 21:42:17 2018: JACK server starting in realtime mode with priority 10
Mon Jul 2 21:42:17 2018: self-connect-mode is "Don't restrict self connect requests"
Mon Jul 2 21:42:17 2018: Acquired audio card Audio0
Mon Jul 2 21:42:17 2018: creating alsa driver ... hw:PCH,0|hw:PCH,0|1024|2|44100|0|0|nomon|swmeter|-|32bit
Mon Jul 2 21:42:17 2018: configuring for 44100Hz, period = 1024 frames (23.2 ms), buffer = 2 periods
Mon Jul 2 21:42:17 2018: ALSA: final selected sample format for capture: 32bit integer little-endian
Mon Jul 2 21:42:17 2018: ALSA: use 2 periods for capture
Mon Jul 2 21:42:17 2018: ALSA: final selected sample format for playback: 32bit integer little-endian
Mon Jul 2 21:42:17 2018: ALSA: use 2 periods for playback
Mon Jul 2 21:42:17 2018: graph reorder: new port 'system:capture_1'
Mon Jul 2 21:42:17 2018: New client 'system' with PID 0
Mon Jul 2 21:42:17 2018: graph reorder: new port 'system:capture_2'
Mon Jul 2 21:42:17 2018: graph reorder: new port 'system:playback_1'
Mon Jul 2 21:42:17 2018: graph reorder: new port 'system:playback_2'
Mon Jul 2 21:42:17 2018: graph reorder: new port 'system:playback_3'
Mon Jul 2 21:42:17 2018: graph reorder: new port 'system:playback_4'
21:42:20.013 JACK connection change.
21:42:20.015 Server configuration saved to "/home/benjamin/.jackdrc".
21:42:20.016 Statistics reset.
21:42:20.023 Client activated.
21:42:20.024 Patchbay deactivated.
21:42:20.133 JACK connection graph change.
Mon Jul 2 21:42:19 2018: Saving settings to "/home/benjamin/.config/jack/conf.xml" ...
Mon Jul 2 21:42:19 2018: New client 'qjackctl' with PID 4790

paul
paul's picture
User offline. Last seen 5 hours 3 min ago. Offline
Joined: 2006-03-16
Posts:

Unless you plan to connect Ardour to other audio software, there's no reason to use JACK. Just tell Ardour to use the ALSA audio/MIDI backend, and save yourself several unnecessary complications. Then let us know if that works.

ccaudle
User offline. Last seen 11 hours 10 min ago. Offline
Joined: 2009-12-08
Posts:

I feel like I should be able to set this up so that it stays working and JACK recognizes it and I'm able to see the built-in port readout for it if I check PulseAudio Volume Control with JACK open.

You have a misunderstanding about how audio works with production software. If Ardour or jackd takes control of the audio hardware, then PulseAudio will no longer be using the audio interface, so you should expect to NOT see any indication of audio in the PA volume control. If PulseAudio can still see the audio coming from the microphone, then jackd or ardour is not controlling that hardware. There are ways to route audio back through PulseAudio using jack so that you can still for example watch YouTube videos while working with jackd connected applications, but PulseAudio would not be managing the microphone connection at that point, it would just be acting as an ALSA API sound server for applications which only support the ALSA API and not jack.

vasakq
User offline. Last seen 4 days 23 hours ago. Offline
Joined: 2013-03-30
Posts:

It should work! I have got Dell Inspiron laptop with the same chip hw:PCH HDA Intel PCH and it works just fine with Ardour (well,... as fine as an internal mic can work...).
The internal mic is not controled by Ardour or Jack. In order to set it right you neet to go to the System Settings (perhaps try to right-click on the sound applet and then select Sound Settings directly) then -> Input tab -> devices - select "Internal Microphone Built-in Audio" from the menu (probably the only item in the menu), set the volume slider somewhere in the lower half (volume meter will not work, use Ardour's meters to monitor the "gain", but the "gain" slider must be set in the "Sound Settings" dialog, not in Ardour).
Having done that, go to Ardour, create a new AUDIO track, right click on track headers, select "Inputs" and when the grid appears there should be a green dot on the crossing of "System-Capture_1" and "Audio in" (it should be connected automatically, but it doesn't hurt to double check). Now arm track for the recording and the meter in the track header should be active when you talk in the mic.

I hope this works for you.

BG Kid
User offline. Last seen 1 week 6 days ago. Offline
Joined: 2018-07-02
Posts:

solved

Thanks everyone for chipping in!!

@paul:

there's no reason to use JACK

That's contrary to what a bunch of tutorials have told me, like youtu.be/iQM12Rx0Hf0?t=21s and youtu.be/EieoYXDoEM8?t=4m15s … but apparently you're right. That's annoying.

Just tell Ardour to use the ALSA audio/MIDI backend

I take this to mean that when I open up a project, I should select Audio System: ALSA in the "Audio/MIDI Setup" pane before the project opens (as opposed to Audio System: JACK). When I try this,
-- OH BOY my laptop just freaked out and went into a feedback loop…let me restart with it muted and try this again…
Okay for anyone reading this getting freaked out, first go to Edit > Preferences > Editor > Signal Flow and check "Tape machine mode" to stop feedback issues (then mute/unmute your actual computer if necessary) --
Okay wow everything works now! Uh, problem solved i guess?? thanks! I can finally make crappy recordings via my apple earbuds on the fly.

@ccaudle:
Thanks for the tip! what I hear is that a program like PulseAudio will normally be able to check up on my audio ins and outs, but once I open up a progrom like Ardour that "takes control" of the audio system, a readout like PulseAudio will no longer work. Noted, and i won't use that as my litmus test in the future

@vasakq:

select "Internal Microphone Built-in Audio" from the menu (probably the only item in the menu), set the volume slider somewhere in the lower half (volume meter will not work, use Ardour's meters to monitor the "gain", but the "gain" slider must be set in the "Sound Settings" dialog, not in Ardour).

This actually wasn't the problem for me; i had already checked that it was working from those settings

anahata
anahata's picture
User offline. Last seen 9 hours 24 min ago. Offline
Joined: 2010-10-27
Posts:

The tutorials telling you to use JACK are not so much wrong as out of date. Earlier versions of Ardour did need JACK; with later versions you only need JACK if you need to insert processing that doesn't use the usual plugin mechanism but runs standalone.

The first of those video tutorials is dated May 2017 and the creator should have known better. The second comment points out that JACK isn't needed for Ardour 4.0 and later.