# What should I buy to add audio record/playback to my computer?



## robroy (Oct 27, 2017)

FreeBSD Friends,

Like many of you, I'm both a FreeBSD user and a hobby musician.

I'm running 11.1-RELEASE-p1 on my desktop, which lacks audio hardware.  It's a Supermicro A1SRM-2758F, which I know is an oddball desktop, but it works surprisingly well (with an Nvidia board in its open-ended x8 slot).

My microphone's a Shure SM58, and my mixer/pre-amp is a Behringer UB802.

In the past, I've plugged the Behringer's output in to the cheap built-in audio hardware of various computers, with OK results.

I'd like to invest in audio hardware for my desktop that's a match to the grade of these other components, more or less.  I'm not a talented musician, but I'd like to avoid limiting the recording quality with whatever I buy (edit:  CD quality digital audio's good enough; I don't aim to exceed that, though I'm not opposed to it if it's a "may as well" situation).

I have one open PCI-e 2.0 x4 slot, and some USB 2.0 ports.

I've gleaned the idea from other threads that USB DAC devices generally work, yet I see some listed for $20, and others for $300--and I don't know the difference, nor do I know whether FreeBSD will work well enough with them, to make the cash worth it (for a $300-grade one).

What should I buy, to add quality record (and playback) capabilities to my computer?

Continued FreeBSD glory to you all!


----------



## robroy (Oct 27, 2017)

In case it matters, I'd like to record using the audacity-2.1.3_2 package.  Thank you!


----------



## rigoletto@ (Oct 27, 2017)

Hi.

If you want to do recordings using an external interface you do need a ADC (Analog-to-Digital Converter) and not a DAC (Digital-to-Analog Converter) - same applies to internal cards but usually different terms are used, in practice.

Some of the best interfaces for that purpose are RME and Lynx (I personally find Lynx the best sounding one), both expensive. Antelope interfaces are also top notch, but also expensive.

Many RME cards do have good FreeBSD support, Lynx usually not. However, if you find a used Lynx L22, that is supported (at least) using OSS from ports, but you would need to look if the driver still needs a paid license - you would need to contact OpenSound.

In regards to external devices, they usually use a USB 2.0 Audio specification (most of the professional ones still use Firewire, and I think they not work without drivers), what FreeBSD do support. In this case there is no need for a driver, it would just work as an internal card - but be aware some have "doggy" code in it and does not work well or at all - Lynx Hilo was just working on Apple and not in Linux (I do not know if it was working on FreeBSD, and if it was already fixed). You basically would need to look for interfaces which does not need drivers for Linux and/or Apple.

About price, the more expensive are supposed to support more features (higher bitrates etc.) and sound better. In practice it may not be true. So, it is a very complicated subject, included what is better sounding and not. 

And there still have others tweaks to archive low latency, and you may also want to take a look in audio/jack.

Cheers!


----------



## robroy (Oct 27, 2017)

lebarondemerde, thanks so much for your great reply!  I'll follow the leads you've given me to begin my reading.  I appreciate it to the mega-max Friend!


----------



## robroy (Oct 27, 2017)

lebarondemerde said:


> And there still have others tweaks to archive low latency



Forgive my ignorance Friend, yet what symptoms are caused by improper latency?  How would I know whether I'm suffering from this problem?

'much appreciated.


----------



## ronaldlees (Oct 27, 2017)

I'm no audiophile, so I would be interested in the answers to this question myself.  lebarondemerde mentions bit-rate as a general criteria, and $$$ as another.  That seems sensible.

I also use sample rate as a criteria (not the same as bit-rate).  The cheapo cards will have 48k, and the better ones 192k and up.  I'd pay attention to both the capture and playback sample  rates.  On cheaper cards* they'll be different (maybe 192k playback, but only 96k capture).  I'd guess that the dynamic range should be high (maybe 145dB and up?).  

* My figures are pretty old by now, likely. Probably everything's gotten better. Time passes.

If FreeBSD had more *real* audiophiles (that's not me!)  - our sound stack could be better.


----------



## chrbr (Oct 27, 2017)

robroy said:


> I have one open PCI-e 2.0 x4 slot, and some USB 2.0 ports.


If quality is of concern an external USB sound card might be the better option because it does not pick up all the hum which is available inside of a PCs housing. At work we have this one http://www.esi-audio.com/products/maya44usb/ which has a successor http://www.esi-audio.com/products/maya44usb+/ already. I am happy with that device. But I have not tried it using FreeBSD.


----------



## rigoletto@ (Oct 27, 2017)

Hi,

First I am not an audio professional of any kind, just a hobbyist, and so do not expect technical explanations. 

For recording purposes you want to have very low latency (as low as you can get). I never looked on how to do these kind of tweaks on FreeBSD because I do not do recording at all, but on Linux a "real time" configured kernel is used, sometimes patched ones. Here also enter one of the audio/jack advantages, but I really never looked for OSS latency subject to say a thing. However, if I should choose between ALSA and JACK for recording purposes, it would be JACK every day - including because it was created for that.

A lot of people pursue low latency for audio reproduction but I am very skeptical about that, I do not see a real reason for that. Those are the same people who use powerful Xeon processor exclusively to play music, because they swear a powerful processor give better sound. I personally am convinced low powered devices are the way to go for high quality audio *reprodution* because in this way there is less possibilities to the things to get noisy.

Now entering in a more HOT (and subjective) topic: currently there are to "formats" used to do recordings: PCM and DSD (SACD format).

DSD needs specialized hardware or a proper DAW (think Merging Pyramix etc.) to work with. Not to say you cannot really manipulate DSD, all manipulations are actually made in the PCM camp and then converted back to DSD. DSD is fine to archive music btw.

Back to PCM, in regards to frequencies and bit-rates, for audio reproduction, nobody really need more than 44kHz/16Bits (CD Quality), anything up are basically noise (which need to be filtered etc.); however for recording purposes higher "specs" bring some advantages. If you wanna dig into it you will find better information at Gearslutz, inclusive to find hardware that fit your needs/budget.

The point people use 384Khz/32Bits DACs (reproduction) are marketing, the audio industry are full of scam. I often find US$80K (list price) gear what should cost less US$3.5K to make (with garbage power supplies, because they need to sell power conditioners), sound awful, but a lot of "audiophiles" swear on them because some "famous" reviewers said they are incredible. Reviewers who secretly bought that gear with about 40% off (default retailer discount in the audio market), and then sell it on ebay for its street price, US$64K (20% off list price) - "great bargain".

They started marketing that higher frequencies and bit rates sound better, and then starting making a DACs with those capabilities including upscaling (because there are no music available at those frequencies) and sell them for sh** load of money. Of course those DACs sound better at higher frequencies (or the lower ones sound worse?) since they were projected to do so.

However, I am very partial to the good old R-2R (resistor ladder) DACs (very rare these days), most 44kHz/16Bits (but they play *anything*, including DSD).

If you have a good R-2R DAC, it is a advantage to have files with higher frequencies/bit-rates because the good ones filter way better than what most audio studios do.

While digital audio is very fine there is a reason for lot of people prefer analog audio, and most of them actually do not know why. IMO, it is not a media thing.

With digital audio, any idiot with a computer become an audio engineer and so they do the most barbaric things to the recordings while "mastering". When you send a recording to a vinyl cutter it must need to be raw, just mixed. There is no mastering for vinyl, the "mastering" shall be made for who will be operating the lathe, and those professionals (almost always) know very well what they do (and have ears).

If you talk with those (lathe) people you will hear some "horror" stories coming from big recording studios; like they ask for the recording with the best quality they have, just mixed (no mastering), and receive a mp3 of the CD version. Making it short, some times take days to get the actual recording that come directly from the mixer table because the "audio engineer" does not understand why the source for vinyl should be different.

So, back to the topic, as chrbr said external audio interfaces are better, but it also depends on what you are comparing. Those RME and Lynx are professional cards and have isolation, and so they should not have these kind of problem. While RME are top notch, I am very partial to Lynx. 

Cheers!


----------



## rigoletto@ (Oct 27, 2017)

robroy I was forgetting of M-Audio. They are not amazing but usually do very well for the price. The USB capable ones should work fine with FreeBSD.


----------



## robroy (Oct 28, 2017)

labarondemerde, chrbr, and ronaldlees, thank you all so much!



lebarondemerde said:


> In regards to external devices, they usually use a USB 2.0 Audio specification (most of the professional ones still use Firewire, and I think they not work without drivers), what FreeBSD do support. In this case there is no need for a driver, it would just work as an internal card - but be aware some have "doggy" code in it and does not work well or at all



Yeah, it's that doggy code that I'm hoping to avoid haha.   



lebarondemerde said:


> robroy I was forgetting of M-Audio. They are not amazing but usually do very well for the price. The USB capable ones should work fine with FreeBSD.



These products seem closer to my league (both in price and in the knowledge required to make good use of them).  Thank you so much for this tip, as well as the info on the Real McCoy (those fancier devices are beauties)!

Well, I suppose I shouldn't be surprised that FreeBSD users would also know a lot about audio (even if y'all think you don't)!  A lot of what's been written here is interesting, yet "over my head."

For now, maybe I'll try one of these M-Audios; 'looks like they're at least a step up from built-in motherboard audio (which satisfied me in the past).

I'll of course post back with the FreeBSD results, and a sample tune ('not sure if that'll be a reward, or a punishment)!

Thanks again so much for your super generous replies.


----------



## Phishfry (Oct 28, 2017)

I would try a used M-Audio interface. I am not certain if it acts as a Sound Card but it seems well equipped for a guitar and mic for audacity.
https://www.ebay.com/itm/302484881772

Has worked in the past
http://freebsd.1045724.x6.nabble.com/Re-enumerating-a-device-td4062879.html


----------



## robroy (Nov 2, 2017)

Friends, I want to thank all of you again so much for helping me with this.  

I was just explaining to a friend recently that access to the Unix community's one of the top reasons to use Unix, and is one reason why the effort it takes to learn Unix pays off so royally.  You guys are stars; thank you so much.

I bought the $35 eBay M-Audio "MobilePre USB" noted by Phishfry, and it showed up today.

A sticker on its bottom reads:

   PID/Ver:  200F
   Firmware:  V1.03
   Date:  11-2008
   PN:  AU02-071G1
   SN:  071G158B03130

I plugged it in to my 11.1-RELEASE desktop, and saw these kernel messages:


```
ugen0.7: <M Audio MobilePre> at usbus0
uaudio0 on uhub4
uaudio0: <MobilePre> on usbus0
uaudio0: Play: 48000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play: 44100 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play: 32000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play: 24000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play: 22050 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play: 16000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play: 11025 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play: 8000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record: 48000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record: 44100 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record: 32000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record: 24000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record: 22050 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record: 16000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record: 11025 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record: 8000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: No MIDI sequencer.
pcm2: <USB audio> on uaudio0
uaudio0: No HID volume keys found.
```

And something shows up here too:


```
% cat /dev/sndstat
Installed devices:
pcm0: <NVIDIA (0x001c) (HDMI/DP 8ch)> (play)
pcm1: <NVIDIA (0x001c) (HDMI/DP 8ch)> (play)
pcm2: <USB audio> (play/rec) default
No devices installed from userspace.
```

I'll toy with it and post more by the weekend.  There's no way I'd have known to buy this device on my own; thank you all again so much.


----------



## robroy (Nov 2, 2017)

Update:  its sound output works (watching YouTube), and sounds awesome!!!  'haven't tried recording yet.  High-fives to you all!


----------



## Phishfry (Nov 2, 2017)

Cool so 35 bucks not wasted and you saved a slot on the motherboard.


----------



## Phishfry (Nov 2, 2017)

robroy said:


> pcm0: <NVIDIA (0x001c) (HDMI/DP 8ch)> (play)
> pcm1: <NVIDIA (0x001c) (HDMI/DP 8ch)> (play)


Are these entries from the hdmi on your motherboard?

I wonder how something like this would work on a Raspberry Pi....

May have to get one myself now to try.


----------



## robroy (Nov 2, 2017)

Phishfry said:


> Are these entries from the hdmi on your motherboard?



They're related to an add-in Nvidia card (GeForce GT 610), in the open-ended x8 slot, which turned this server motherboard in to a surprisingly great desktop.


----------



## rigoletto@ (Nov 2, 2017)

Noice!


----------



## nickednamed (Nov 3, 2017)

I'm a bit late, but in case anyone cares:

For work I must often record various multimedia (video / audio) and have found that the Behringer UMC HD range of audio inputs is decent for the money. I know Behringer gets shit on a lot, but since their acquisition of Midas, I think the quality has improved, and the features / performance / price ration is very decent.

I haven't tried all its features, but I'm sure most, if not all, are usable on FreeBSD. For sure all the most important stuff works (XLR, gain, various bit rates, all outputs, monitor mode, etc.) But to e honest, I've got it set up how we need it, and I'm not gonna mess around with it too much for now.

As for installation and usage: No drivers necessary. Worked out of the box, with one exception: the main volume knob does not work (at least with some of the outputs) and must be controlled via sysctl. But in practice, it is not a problem, a couple of scripts / keybindings, etc. and you're good to go.

I've paired it with a SM57, also got a Samson C02, both work great for voice-over work, and what not.

EDIT:

And I would totally recommend, as others have, audio/jack, audio/qjackctl, audio/audacity, audio/ardour5, multimedia/ffmpeg to get you started.

Useful thread about USB audio devices HERE.


----------



## robroy (Nov 6, 2017)

Thank you all again so much.

The recording works perfectly with Audacity, with no non-default settings required, out of the box. 

To my uneducated ears, the sound quality's fantastic; it's beyond good enough to satisfy me.  

The only surprise I've noticed has to do with the volume of what's recorded by Audacity.  With the gain on the M-Audio's microphone input maxed out, it seems to occupy about 50% of Audacity's capacity for volume; I think maybe it's fine as-is though, like that.  I'm not sure if this is simply the limit of the M-Audio's amplification ability, or what...

Thank you all again so much for helping me out.  'special thanks to Phishfry and lebarondemerde for pointing out the M-Audio stuff.  'seems like a good fit for my use!

'impossible to beat this outcome for $35!


----------



## chrbr (Nov 6, 2017)

It is nice to read the good news.


robroy said:


> The only surprise I've noticed has to do with the volume of what's recorded by Audacity. With the gain on the M-Audio's microphone input maxed out, it seems to occupy about 50% of Audacity's capacity for volume; I think maybe it's fine as-is though, like that. I'm not sure if this is simply the limit of the M-Audio's amplification ability, or what...


Please check the output of mixer(8). May be this explaines the observation, may be not.


----------



## rigoletto@ (Nov 6, 2017)

Hi. 

The volume thing (input indicator?) may also be due to limitation of the mic preamp of the interface, what can be really under-powered or your microphone too demanding for it, but I do not know how those measures work with microphones. You could add more gain later, but it will not be the "same thing".

Anyway, you would not like it going too far from it or it will start distorting. Usually, in the indicator, the first half is "green", the third quarter is "yellow", and the later quarter is "red". In general it is ok going to yellow while it is more peak sound, but red is when it start to distort. If needed for some reason, usually there is no problem to have some very minor "red" peaks.

It would be better to archive using flac, what is "lossless", basically a contender, and you can always convert it to anything without a problem. MP3/OGG are "lossy", what means they always destroy some information during the conversion in some way.

Cheers!


----------

