💾 Archived View for tilde.pink › ~racoon › music › music_prod_netbsd.gmi captured on 2024-02-05 at 10:58:47. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
I like to make dance music on NetBSD.
Here's a brief overview of some of the tools I use.
Audacity is very basic software for manipulating sound waveforms.
You quite possibly don't want to make an entire project in it, but there's
several situations where I find it very useful:
fading out or applying effects to the entire waveform, etc.)
Audacity is unfortunately quite a problematic project upstream, and as a
result is quite unstable when running on NetBSD.
I've found that setting
export GDK_SYNCHRONIZE=1
in the environment gets rid of some really annoying crashes when working
on waveforms.
LMMS is my favorite open source Digital Audio Workstation (DAW).
Its primary function is arranging tracks, stacking effects, and so on.
It kind of mimics the interface of FL Studio (a proprietary tool,
previously known as Fruity Loops), which I also like because it's very
simple and accessible. LMMS is very portable and stable, and works
really well on NetBSD.
LMMS supports running Windows VSTs (for example, for synth plugins),
apparently through WINE, but I haven't got this to work. Instead I
primarily use native plugins, especially built-in synths like
TripleOscillator, which is surprisingly powerful. ZynAddSubFx is also
very powerful, but has a somewhat less intuitive user interface.
It can also apply LADSPA plugins for effects like filtering, delay,
reverb, chorus, amplification, bit crushing, compression, etc.
LADSPA effect plugins generally have a very simple user interface
consisting of a few knobs. The native LMMS effect plugin Equalizer is a
great example of what can be accomplished beyond this.
Future releases of LMMS will have LV2 plugin support, allowing for more
advanced plugin UIs. This is really exciting. I'm interested in eventually
trying LV2 synths like amsynth.
JACK is really popular for professional audio work on Linux, but I don't
see much advantage to using it on NetBSD except for compatibility -
maybe it's useful for live musicians who want to do things like apply
effects. It can't be any lower latency than the kernel's audio mixer,
by nature.
The JACK output for Audacity provides slightly better latency, but this
is probably a programming error on my part (I wrote the NetBSD sound
output code for both).
During production work I set the NetBSD kernel mixer to run
at 44.1 KHz, the sample rate of CDs (and my projects).
It's about the limit of what the human ear can percieve, but 48 KHz is
usually the default for synchronization with video. I set it to 44.1 KHz
for accuracy, to ensure accurate reproduction by removing resampling
artifacts (the resampler in the kernel isn't the smartest thing in the
universe, although many programs will also do resampling in userspace
before output).
# audiocfg set 0 p slinear_le 16 2 44100