Skip to content
This repository has been archived by the owner on Oct 1, 2022. It is now read-only.
/ JDSP4Linux Public archive

Port of the opensource version of JamesDSP to Linux

License

Notifications You must be signed in to change notification settings

timschneeb/JDSP4Linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JDSP4Linux

Port of the opensource version of JamesDSP to Linux

This project has been moved to the GitHub organisation 'Audio4Linux'

This is experimental and still work in progress. Every feature from the opensource version is implemented. Feel free to join our Telegram Group (combined with Viper4Linux)

You can find the repo of my gst-wrapper for JDSP here.

And the GUI is available here

Notes

Since the gst interface of this port is very similar to viper4linux, I will temporarily use a slightly modified version of the viper script written by @noahbliss.

At the moment JDSP and Viper4Linux are not compatible. Trying to start them both will cause them to interfere with each other and result in no audio output.

For now, I will only include the basics in the readme. More details will be added later.

Technical Data

Supported sample formats:

  • 32-bit float (LE)
  • 32-bit int (LE)

Supported samplerates:

  • 44100
  • 48000

Effects

Pretty much everything from the opensource version is implemented:

  • Analog modelling (12AX7)
  • BS2B
  • ViPER DDCs
  • Limiter
  • Compression
  • Convolver
  • Reverbation (Progenitor2)
  • Bass boost
  • Stereo widener (Side/Mid)

Instead of being tied to presets; stereo widener, bs2b and the reverbation engine can be fully customized.

Setup

Arch

On Arch you can install the AUR package by yochananmarqos:

yay -S jdsp4linux-git

And the GUI for JDSP on Linux:

yay -S jdsp4linux-gui-git

Please check the workarounds section if you encounter any problems.

AUR version

Manually

Install gstreamer-1.0 and some tools to build the gstreamer plugin. (If you have already installed Viper4Linux before, you can skip this step...)

Debian

sudo apt-get install libsamplerate0 libsamplerate0-dev libsndfile1 libsndfile1-dev
sudo apt-get install build-essential autoconf libtool
sudo apt-get install gstreamer-1.0 libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev 

Arch

sudo pacman -S base-devel  
sudo pacman -S libsndfile libsamplerate
sudo pacman -S gst-plugins-good  

Clone both JDSP4Linux repos

git clone https://github.com/ThePBone/JDSP4Linux.git
git clone https://github.com/ThePBone/gst-plugin-jamesdsp.git

Build the gst plugin

cd gst-plugin-jamesdsp  
./autogen.sh  
make

and install it...

Debian

sudo cp src/.libs/libgstjdspfx.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0/  

Arch

sudo cp src/.libs/libgstjdspfx.so /usr/lib/gstreamer-1.0/  

If everything went alright gst-inspect-1.0 should display all element properties of the JDSP plugin:

gst-inspect-1.0 jdspfx

Copy the test-script (used to launch JDSP) to /usr/local/bin

sudo cp ../JDSP4Linux/jdsp /usr/local/bin

Create the config folder...

mkdir -p ~/.config/jamesdsp

and copy the default config in there.

cp ../JDSP4Linux/audio.conf ~/.config/jamesdsp/audio.conf

Now JDSP4Linux should be setup correctly. Edit the audio.conf to your liking and launch JDSP using the script (like Viper4Linux):

jdsp start

And stop it like this:

jdsp stop

Like I said, work-in-progress != stable, so use it with caution.

You can find installation instructions for the GUI here

Join our Telegram Group

Workarounds

Error: no element "device"

As described here, you can set a custom alsa path. You can also follow the instructions over there, but make sure you drop the devices.conf in ~/.config/jamesdsp.

Short summary:

Run this command:

pactl list sinks | grep "Name: " -A1

...and look for the Alsa Output Path of your headset. If we have this command output for example:

Name: alsa_output.pci-0000_00_1f.3.analog-stereo
Description: Built-in Audio Analog Stereo
Name: jdsp
Description: JDSP4Linux

Then alsa_output.pci-0000_00_1f.3.analog-stereo would be the output path.

Finally create the file ~/.config/jamesdsp/devices.conf and paste the path in there, like this:

location=...insert custom alsa path here...

...and reload JDSP:

jdsp restart

Fix crackling/choppy sound

Solution 1

Edit /etc/pulse/default.pa as root and uncomment or add the following line:

load-module module-udev-detect tsched=0

Solution 2

Set the default samplerate to 48000Hz in pulseaudio's config:

sudo nano /etc/pulse/daemon.conf

Replace this line: ; default-sample-rate = 44100 with this one: default-sample-rate = 48000

And restart pulseaudio:

pulseaudio -k
pulseaudio --start

Credits


Please open an issue or contact me on Telegram @ThePBone if you find any bugs or have questions.

About

Port of the opensource version of JamesDSP to Linux

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages