Is it me, or is sound really great on FreeBSD?

I'd probably turn it off if I saw EQ on :p But that looks like an interesting option.

My laptop speakers sound ok every OS without EQ, but Waves MaxxAudio on Windows kind-of cleans it up (more treble/less bass; messes with niche stuff a little so I disable it entirely)
The default is not bad...but you can downgrade bass from the default 0.5 to 0.4 for the in-built speakers. I mean I really can't really hear the bass in them all that much anyway, but I do hear distortions sometimes.
 
Also, Gemini says: "In the FreeBSD OSS framework, keeping pcm at maximum often amplifies the signal beyond 0 dB into digital clipping territory."

Is that so?

Setting mixer pcm=0.9 seems better on my laptop speakers.
 
A few messages back I had posted several sound demos of how OpenBSD sounds.
But you should know that this was using a budget motherboard that uses the most basic realtek audio codec and no particularly good audio capacitors and rather cheap insulation.

Currently I use a more high end gaming motherboard that uses one of the best realtek audio codecs and also with a large number of Japanese audio caps and very good shielding.
I notice that the sound is now significantly better in OpenBSD than what you can hear in the posted sound demos.
This probably applies to FreeBSD as well, as the (analog) sound is partly determined by the motherboard and the realtek codec you use.
 
My god, this is the most hidden setting in the history of mankind and universe. The default sound is amazing for the headphones but not for my laptop speakers. Laptop speakers get major distortion at higher volume. I think the equalizer is what should help. I can't believe no one has really discussed this specific pcm EQ option here on the forum for years. This should be central the recent FreeBSD desktop drive.

Also, why is it disabled by default and not set at lower bass value for pcm.0 (most laptop speakers) for safety of speakers?
I committed patches to make these more visible:
 
Also, Gemini says: "In the FreeBSD OSS framework, keeping pcm at maximum often amplifies the signal beyond 0 dB into digital clipping territory."

Is that so?

Setting mixer pcm=0.9 seems better on my laptop speakers.
It's easy fixable through virtual_oss. Here is my example for stereo headphones 48 kHz, 16 bits. Many games require /dev/dsp (OSS default) to be 5.1, stereo device should stay stereo for proper downmix. Also -a flag is not very intuitive, but through experiments I adjusted volumes for both playback and streaming/recording through OBS (you pick vdsp.rec in OBS, OSS input).
You need to adjust -b to your bits and -r to your framerate, also -s to increase if audio clicks. Also /dev/dsp7 is mine device. In your laptop it's probably /dev/dsp0. I also set vdsp71 for mpv and vlc, so they can play any type of most common audio formats. Some loudness adjustments still required here:

Code:
red@main:~ → cat /etc/rc.local | grep -A17 -e "^ pkill"
pkill virtual_oss 2>/dev/null
sleep 0.5
virtual_oss \
-B -S \
-C 16 -c 2 -r 48000 -b 16 -s 4ms -f /dev/dsp7 \
-a -1 -b 16 -c 6 -d dsp \
-a -1 -b 16 -c 2 -d vdsp20 \
-a -2 -b 16 -c 8 -d vdsp71 \
-a 3 -b 16 -c 2 -m 0,0,1,1 -w vdsp.jack.wav -d vdsp.jack \
-a 1 -b 16 -c 8 -w vdsp.rec.wav -l vdsp.rec \
-M o,2,0,0,0,0 \
-M o,3,1,0,0,0 \
-M o,4,0,0,0,0 -M o,4,1,0,0,0 \
-M o,6,0,0,0,0 \
-M o,7,1,0,0,0 \
-t vdsp.ctl

red@main:~ → cat ~/.asoundrc                
pcm.!default {
    type plug
    slave.pcm "oss_backend"
    hint {
        show on
        description "Default Open Sound System via Virtual_OSS"
    }
}

pcm.oss_backend {
    type oss
    device /dev/vdsp20
}

ctl.!default {
    type oss
    device /dev/vdsp.ctl
}

~/.asoundrc should be also configured under your steam user
 
I've been doing some testing with various dacs and headphone amps over the last few months, I've posted some details here https://forums.freebsd.org/threads/freebsd-screen-shots.8877/post-764393
and in this thread starting here https://forums.freebsd.org/threads/is-there-any-dac-compatible-with-freebsd.74463/post-760444 . I've been getting nice audio quailty with the setup shown below, for quite a low cost overall. The SMSL PO100 reclocker in particular made a noticable difference, it's jitter correction circuit improved focus and resolution. It's much better than motherboard audio, of course. The only downside is the size of the equipment, it's probably not very convenient for listening at work, for example. In addition to what you can see in the photo, I have added a passive attenuator between the dac and the headphone amp, so I can vary the signal level going into the amp, the dac has quite a high output line level, adding the attenuator allows me to get more usable range on the headphone amp's volume control.

As well as headphones, I've tested out various amps and speakers using the X220 and the Wolfson dac as a source, I have a Quad 77 and some Tannoys, and an AI 300 valve amp with some Snell Type K's. They all sound very nice with the PO100+Wolfson dac, driven by freebsd. I would say this is getting close to the kind of sound quality I get from a decent analog source, like my Nak LX-3 casette deck (of course, noise is lower on the digital system, I'm talking about musicality). It sounds almost as good as listening to analog, rather than listening to a digital facsimile of the music, which so many digital systems seem to suffer from. I'm not using bitperfect (although purely for sound quality reasons, I probably should), but I have set the feeder_rate_quality to 4. I don't use any EQ. I use musicpd as the main music player software. Overall, I'm pretty pleased with how it sounds, for a budget system. I'm still looking for a decent modern Burr-Brown dac (hopefully TI hasn't ruined the current versions of the chips, like they seem to have done to some of their op-amps), I may investigate one of the iFi models some time, they seem to be the main people selling BB-based dacs today, at reasonable cost. Of course I could get a Naim, or similar, but I don't have thousands to spend on this hobby, I'm principally interested in how good results I can get, on a modest budget. :-)

lofi1.jpeg
 
Can't edit this post but something I've figured through experiments and got better config:
virtual_oss \
-B -S \
-C 16 -c 2 -r 48000 -b 16 -s 4ms -f /dev/dsp7 \
-a -1 -b 16 -c 6 -d dsp \
-a -2 -b 16 -c 6 -d vdsp_alsa \
-a -2 -b 16 -c 8 -d vdsp71 \
-a 3 -b 16 -c 2 -m 0,0,1,1 -w vdsp.jack.wav -d vdsp.jack \
-a 0 -b 16 -c 8 -w vdsp.rec.wav -l vdsp.rec \
-M o,2,0,0,0,0 \
-M o,3,1,0,0,0 \
-M o,4,0,0,0,0 -M o,4,1,0,0,0 \
-M o,6,0,0,0,0 \
-M o,7,1,0,0,0 \
-t vdsp.ctl

Code:
red@main:~ → cat ~/.asoundrc     
pcm.!default {
    type plug
    slave.pcm "oss_backend"
    hint {
        show on
        description "Default Open Sound System via Virtual_OSS"
    }
}

pcm.oss_backend {
    type oss
    device /dev/vdsp_alsa
}

ctl.!default {
    type oss
    device /dev/vdsp.ctl
}
Problems were:
1. ALSA should be 5.1 as a consumer default in order to make wine game work that requires 5.1 often. Not 7.1 (Alsa will fail to output).
2. If alsa is the same loudness as default OSS device it overloads sometimes - that's why I've created separate 6 channel device /dev/vdsp_alsa and configured ~/.asoundrc to output it slightly more quite than OSS /dev/dsp.
 
Back
Top