Installed Linux Mint-Assistance Required

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi

Some time ago I built a linux media player on a pretty low end system (EPIA5000) with 256Mb ram and booted it from a pen drive. I used a second pen drive to store uncompressed cd rips (ripped with EAC) Exact Audio Copy.

The OS was Puppy Linux and I think I used Gxine and Amorak later on. I'm no expert but I think most audioi apps in linux are built around similar architecture with different front ends - you can play from the command line with xine if you want, whereas amorak will give you a nice organised front end.

I plugged this into an AW-D3 Dac (NOS with a USB interface) built from a kit and it all worked out of the box. I didn't tweak a thing, it played the uncompressed wav's faultlessly (after I remembered to turn the screensaver off!).

The great thing with Linux is that if you don't get on with an app, just replace it - you can try out different ones until you find one that suits you. The trick is though, and I'm learning this with the rest of this DIY stuff, is to get something running then tweak it.

Hope this helps.
 
Please be specific, how do properly written applications introduce timing errors in the audio chain? Do you know how the pulseaudio-free alsa chain operates? Have you studied any of these "timing errors", their causes?
Phofman, I know there's a long drawn argument with some others on this forum, but why extend it to everyone who posts?? In my post, I did not attribute the "timing errors" to myself. I did not even make indicate if I subscribe to it, in case it leads to another trail of arguments. In spite of that, you pounced on it.

At the same time, I do not dispute your statement about "all correctly written programs sound the same". WTF?? Are you guys looking for fights all the time??

Agreed, an example or two would have been useful. One specific case of a player that truncates 24 bit words to 16 bits is smplayer. Although mplayer is able to replay 24-bit clean, bypassing pulse, dmix, etc, invoking it via smplayer uses mplayer's volume option, which automatically converts the audio to 16-bit, even at 100%. There is no simple way I know of to turn the volume control off in smplayer.

Geez... when you and soundcheck are on the same thread, even posts which try not to ruffle feathers are not safe from swift attack...
 
Phofman, I know there's a long drawn argument with some others on this forum, but why extend it to everyone who posts?? In my post, I did not attribute the "timing errors" to myself. I did not even make indicate if I subscribe to it, in case it leads to another trail of arguments. In spite of that, you pounced on it.

Sorry, I hastily misunderstood the meaning of "beyond". :) My fault...

Although mplayer is able to replay 24-bit clean, bypassing pulse, dmix, etc, invoking it via smplayer uses mplayer's volume option, which automatically converts the audio to 16-bit, even at 100%.

Well, we can either believe what others say, or we check it ourselves. See Public Git Hosting - mplayer.git/blob - libaf/af_volume.c . If the data passed between filters are in 16bit, softvol uses 16-bit integer division. If it is passed as float (i.e. 24bit mantisa + 8bit exponent, perfectly capable of lossless accomodation of 24-bit audio), it uses standard 32bit float division.

Now how do you specify what format the filters pass data among themselves? It took a while, mplayer source code is rather complex. There is a setup option -af-adv (see section 2.3.2.3 Audio filters Sound - MPlayer - The Movie Player for Linux ). The parameter "force" sets up a bitmap passed to mplayer. And meaning of the bits is defined in Public Git Hosting - mplayer.git/blob - libaf/af.h . Do you see the constant AF_INIT_FLOAT - value 4? Any value above or equal 4 in the force param should enable the float mode.

Let's check what the option does. According to man mplayer, the default value of "force" is 1, i.e. no float:
Code:
pavel@sara:~$mplayer -v -softvol -af volume -ao alsa 176-24.wav
...
Building audio filter chain for 176400Hz/2ch/s24le -> 0Hz/0ch/??...
[libaf] Adding filter volume 
[libaf] Adding filter format 
[format] Changing sample format from little-endian 24-bit signed int to little-endian 16-bit signed int
[format] Changing sample format from little-endian 24-bit signed int to little-endian 16-bit signed int
...

Ugly ugly, 24bit got converted to 16bit. But it was expected, based on the source code.

So let's setup the force option:

Code:
pavel@sara:~$mplayer -v -softvol -af volume -af-adv force=5 -ao alsa 176-24.wav
...
Building audio filter chain for 176400Hz/2ch/s24le -> 0Hz/0ch/??...
[libaf] Adding filter volume 
[libaf] Adding filter format 
[format] Changing sample format from little-endian 24-bit signed int to little-endian 32-bit float
[format] Changing sample format from little-endian 24-bit signed int to little-endian 32-bit float
...

Looks much better now, doesn't it? :) All it took was just a bit of searching the code and documentation. And another "truth" has just turned into white smoke...

There is no simple way I know of to turn the volume control off in smplayer.

I looked at smplayer in my ancient karmic. There is an option "Use software volume" in audio setup. By default on, true, but trivial to uncheck. It does add/remove the --softvol option to mplayer command line, as confirmed by checking ps axwww. Regular volume control in mplayer operates via hardware volume functionality of the actual sound card.
 
Last edited:
Hi Fellows,

I am back on my Linux Mint , and I installed Amarok and it worked using the Pulse audio Sound server as the output device. It seemed to play music alright using my laptop spkrs.

I connect to my external DAC with c-media CM108 chipset, the Linux can detect attached device as the C-media USB keyboard, but the Amarok cannot display the output device. Also the detection led on the DAC is not on, because the c-media driver on Linux may not be the right one.

Any suggestion how to fix this.
 
mpd is an excellent solution to playing music with Linux, if when you know a little more linux, maybe try debian, that way you can make a really minimal graphics free computer dedicated to nothing but audio, and mix and match many more applications, but if you need local mouse clicks and similar, mint is not a bad option.

I have moved recently to mpd as rhythm box failed to scale to my music collection. I was warned rhythum box would fail in this respect some years before it did by some one who moved to amorak but I always hated amorak's interface.

mpd being a very HiFi application (was it started as a project by slim devices for their squeezebox devices?) can buffer a lot of audio in RAM before playing it. Being a music playing deamon, mpd needs little ram and CPU on default settings, though up sampling to 24bit 192KHz with maximum quality up sampling algorithms might need all your CPU power.

If you can get a 24bit 192Khz SPDIF output from your laptop it would be a wonderful super fidelity CD player replacement, unfortunately I think USB 2 is bandwidth limited to 24 bits 48Khz, and firewire sound cards are expensive and hard to find if your device supports it.

Up-sampling signals of CD quality to 48Khz would be detrimental as their is little change in sampling frequency so digital artifacts may be apparent, some USB sound cards only do 48Khz, I wish some one warned me.

The reason for using a high quality external sound card, or an SPDIF toslink optical cable is in large part to remove the computer's digital noise (mostly from the power rails) from your audio signal.

A good mpd user interface is gmpc though I had to try others. I am surprised no one has posted a link to an ipad or android front end to mpd.

Regards

Owen

PS Linux coding and deployment is my profession.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.