Skip to content

Commit 46e6c10

Browse files
authored
Create README.md
1 parent f871342 commit 46e6c10

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

README.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# JDSP4Linux
2+
Port of the opensource version of JamesDSP to Linux
3+
4+
This is experimental and obviously work in progress.
5+
Currently everything (analog modelling, bass boost, bs2b, VDC/DDCs, limiter, compression, reverbation and the stereo widener), except the convolver is implemented, and the plugin might produce crackling output if the samplerate is set incorrectly.
6+
7+
You can find the repo of my gst-wrapper for JDSP [here](https://github.com/ThePBone/gst-plugin-jamesdsp).
8+
9+
## Notes
10+
Since the gst interface of this port is very similar to viper4linux, I will temporarily use a slightly modified version of the [viper script](https://github.com/noahbliss/Viper4Linux/blob/master/viper) written by [@noahbliss](https://github.com/noahbliss).
11+
12+
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.
13+
14+
For now, I will only include the basics in the readme. More details will be added later.
15+
16+
## Setup
17+
18+
Install gstreamer-1.0 and some tools to build the gstreamer plugin. (If you have already installed Viper4Linux before, you can skip this step...)
19+
20+
#### Debian
21+
```bash
22+
sudo apt-get install build-essential autoconf libtool
23+
sudo apt-get install gstreamer-1.0 libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
24+
```
25+
#### Arch
26+
```bash
27+
sudo pacman -S base-devel
28+
sudo pacman -S gst-plugins-good
29+
```
30+
Clone both JDSP4Linux repos
31+
```bash
32+
git clone https://github.com/ThePBone/JDSP4Linux.git
33+
git clone https://github.com/ThePBone/gst-plugin-jamesdsp.git
34+
```
35+
Build the gst plugin
36+
```bash
37+
cd gst-plugin-jamesdsp
38+
./autogen.sh
39+
make
40+
```
41+
and install it...
42+
#### Debian
43+
```bash
44+
sudo cp src/.libs/libgstjdspfx.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0/
45+
```
46+
#### Arch
47+
```bash
48+
sudo cp libgstviperfx.so /usr/lib/gstreamer-1.0/
49+
```
50+
If everything went alright gst-inspect-1.0 should display all element properties of the JDSP plugin:
51+
```bash
52+
gst-inspect-1.0 jdspfx
53+
```
54+
Copy the test-script (used to launch JDSP) to /usr/local/bin
55+
```bash
56+
sudo cp ../JDSP4Linux/jdsp_test /usr/local/bin
57+
```
58+
Create the config folder...
59+
```bash
60+
mkdir -p ~/.config/jamesdsp
61+
```
62+
and copy the default config in there.
63+
```bash
64+
cp ../JDSP4Linux/audio.conf ~/.config/jamesdsp/audio.conf
65+
```
66+
Now JDSP4Linux should be setup correctly.
67+
Edit the audio.conf to your liking and launch JDSP using the script (like Viper4Linux):
68+
```bash
69+
jdsp_test start
70+
```
71+
And stop it like this:
72+
```bash
73+
jdsp_test stop
74+
```
75+
Like I said, work-in-progress != stable, so use it with caution.
76+
77+
By the way, if you try to use a corrupted VDC file your ears will be effectively destructed by blasting white noise at them, so don't do that :)
78+
79+
Maybe I should implement some kind of validation ._.
80+
## Workarounds
81+
### Fix crackling/choppy sound
82+
_Set the default samplerate to 48000Hz in pulseaudio's config:_
83+
84+
`sudo nano /etc/pulse/daemon.conf`
85+
86+
Replace this line:
87+
`; default-sample-rate = 44100`
88+
with this one:
89+
`default-sample-rate = 48000`
90+
91+
And restart pulseaudio:
92+
```bash
93+
pulseaudio -k
94+
pulseaudio --start
95+
```
96+
### Error: no element "device"
97+
As described [here](https://github.com/noahbliss/Viper4Linux#configuration), you can set a custom alsa path.
98+
For now, you can follow the instructions over there, but make sure you drop the devices.conf in `~/.config/jamesdsp`.
99+
100+
______________
101+
Please open an issue or contact me on Telegram @ThePBone if you find any bugs or have questions.

0 commit comments

Comments
 (0)