Audio on Linux
Topics: LinuxI use Windows and Linux for Audio recording/development. I have to use Linux when I want to use multiple active interfaces as Windows doesn't provide that functionality. Furthermore, I have a USB mic and instrument which means I have 2 interfaces. Windows is very good for audio these days with 1 interface. I can get really low latency.
When I started to use Linux/Ubuntu I found it tricky to get a good base sound.
This post goes into a bit of detail of how to do that. I'm using my sound card as an example. By default, this sound card was muted.
Configure Parameters
Press Control+ALT+T
to open a terminal.
Into this terminal enter alsamixer
You can see my default soundcard is from my GPU. Press F6
and select the sound source you want to change. I needed to select HDA Creative
Now this sound was muted, so I had to increase the PCM
level. It was 0 for me. I also had to mute <Enable 0>
as the sound was very tinny.
We can mute channels by pressing m
- they will show MM
when muted or 00
when unmuted.
I lost these parameters when Ubuntu was rebooted, so I needed to save the parameters and reinvoke them at start up.
Close Alsamixer and in the existing terminal enter :
alsactl --file ~/.config/asound.state store
Enter :
nano ~/config/autostart/alsarestore.desktop
Paste in the code below
[Desktop Entry]
Type=Application
Terminal=false
Name=alsarestore
Exec=alsactl --file ~/.config/asound.state restore
I use Pulse Effects to apply effects to music.
sudo apt update
sudo apt install pulseeffects
We can create and use presets with Pulse Effects. I installed presets from this GitHub repo
I had to use the manual installation from the Pulse Effect branch.
This gives me good audio to start with. You'll be able to use some of these techniques to get a good sound on Linux.
I wish Windows was able to manage multiple active interfaces (eg USB Mic+Interface). I have had mixed success with ASIO4ALL. MacOS and Linux has it.
There is a new multimedia driver under development for Linux called pipe-wire. This will make using multiple interfaces even easier. Hopefully Ubuntu will have this set up in the next version. I understand Fedora already has pipe-wire set up.