Audio4Linux / JDSP4Linux

An audio effect processor for PipeWire and PulseAudio clients
GNU General Public License v3.0
945 stars 35 forks source link

Can you setup using command line #79

Closed 45bcdf closed 1 year ago

45bcdf commented 1 year ago

I have a linux machine that I am using to capture audio from my turntable via Audacity's "monitor audio" function and then run convolution in JDSP4Linux for room correction. It is a pretty old computer that I am trying to run this on and as a result, my current process is too much for the CPU to handle, load averages go above 100%, which results in dropouts and poor audio. If I ran this system with without a DE I would likely be able to keep everything under 100% CPU usage which would hopefully solve my current issue.

TL;DR - can I set up JDSP4Linux using the command line via SSH? Any ideas would be much appreciated. I know I could simply go out and get a better/more powerful computer but that really isn't in the cards at the moment. Cheers

timschneeb commented 1 year ago

I haven't tried it on a headless setup, but these two methods should work. This app was built with Qt, so you can use their platform plugins to change how the app is drawn to the screen. By default, it aborts when no X server, framebuffer, etc. are present.

Method 1: Disable GUI

jamesdsp -platform offscreen --watch

The --watch parameter keeps track of changes to the effect config file at ~/.config/jamesdsp/audio.conf. You can use a text editor to edit it, and when you save, the changes get automatically applied (you could also use scripts to automate this since there is no GUI).

Method 2: Use GUI remotely using a built-in VNC server

Qt provides a VNC platform plugin that works standalone (no X server or DE required).

jamesdsp -platform vnc

You can then connect from your other computer to the VNC server at port 5900 and configure JamesDSP remotely via its GUI.


Apart from that, there isn't any additional setup required in most cases. The output device should get chosen automatically; however, I'm not sure how this works when no DE is present.

You could try to specify an output device in that case manually. If necessary, create/update the config file at ~/.config/jamesdsp/application.conf with these properties:

AudioOutputDevice=alsa_output.pci-0000_00_1f.3.analog-stereo
AudioOutputUseDefault=false

Replace the value of AudioOutputDevice with the node name of your speakers. Use pw-top to get a list of devices (and connected media apps).