Linux Audio the way to go!?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
That worked perfectly. Thanks so much.

I have another question. Before I used the ALSA upgrade script listed by Soundcheck, the volume control in MPC or Minion had no effect on the volume...I could set it at 0 or 100 (or anywhere in between) and I always go full volume output. Since the ALSA upgrade, the MPC and Minion volume control really controls the volume. Is there a way to disable this volume control so that I'm sure to get bit-perfect, full volume output?

I've messed with the mixed settings in mpd.conf, but I'm not sure what settings to change.

Which version of MPD are you using? As of 0.14 (if I recall correctly) you can disable any mixers in your mpd.conf.

Here is my relevant section:
# Volume control mixer ########################################################
#
# These are the global volume control settings. By default, this setting will
# be detected to the available audio output device, with preference going to
# hardware mixing. Hardware and software mixers for individual audio_output
# sections cannot yet be mixed.
#
# An example for controlling an ALSA, OSS or Pulseaudio mixer; If this
# setting is used other sound applications will be affected by the volume
# being controlled by MPD.
#
#mixer_type "hardware"
#
# An example for controlling all mixers through software. This will control
# all controls, even if the mixer is not supported by the device and will not
# affect any other sound producing applications.
#
#mixer_type "software"
#
# This example will not allow MPD to touch the mixer at all and will disable
# all volume controls.
#
mixer_type "disabled"
#
###############################################################################

Notice than the only uncommented line is "mixer type "disabled" " When using gmpc my volume control is greyed out and non-functional.

Let us know if this helps.
 
Display Sample Rate

Thanks to the people on this forum, I have MPD working!

I seem to remember reading that there was a command that would show the bit rate and sample rate of the current audio stream. I'd like to run this command to be sure that the sample rate of the audio stream matches the song (file) being played.

Thanks again for all of your help!
 
Hi folks.

I finally managed to get my RME card working for use in a headless setup.

As a matter of fact it can be controlled with amixer as discussed before.

"amixer cset numid=5 $input,$output,32768" will set the chosen route to 0db.

The main issue was actually to find out the right channel id's of input and output channels on my card. What I found in the net was not matching my setup.

There are a huge number of routing possibilities and the in-/outputs listed in below script header were not matching the ones I finally identified.

Therefore I wrote a simple script to check them all out.

Perhaps somebody else can make use of the script - that's why I attach it.

What's still missing: How do I get 6 channels routed to my device, without using Jack - just Alsa - to get my full active system running.

Have fun. Enjoy.
\Klaus

Code:
HDSPscan

------------------------------------------------------------------

#!/bin/bash
#
# written by soundcheck 10/25/2009 
#
# This script scans the matrix mixer of RME HDSP  9632 for input/output connections
# Your current setting will be removed. Use the script at your own risk.
#
# RME HDSP  9632 ( as per definition)
# inputs: 0-7 (analog), 16-23 (adat), 24-25 (spdif)  26-43 (playback channels)
# output: 0-7 (analog), 16-23 (adat)  24-25 (spdif), 26-27 (line out)

track="/dev/shm/play.wav"  # will be generated by the script!!!!!!!!!
alsainterface="plughw:0,0"

inputs_left=( 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 )
inputs_right=( 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 )
let cnt_i=${#inputs_left[@]}-1

outputs_left=( 0 2 4 6 8 10 12 14 16 18 20 22 24 26 )
outputs_right=( 1 3 5 7 9 11 13 15 17 19 21 23 25 27 )
let cnt_o=${#outputs_left[@]}-1



function generate_track () {
which sox  > /dev/null 2>&1 || { echo "Please install sox first!"; exit 1 ; } ;
sox -r 44100 -b 16 -c 2 -n $track synth 2 sine 300-3300 gain -18  # gain in db
}



function init_matrix () {
    echo -n "Initializing HDSP matrix-mixer..."
    for output in $(seq 0 27); do
        for input in $(seq 0 43); do
            echo -n "."
            amixer -D hw:DSP cset numid=5 $input,$output,0 > /dev/null 2>&1
        done
    done
echo
}


function scaninputs () {
for i in  $(seq 0 $cnt_i) ; do         
          in_l=${inputs_left[$i]}
          in_r=${inputs_right[$i]} 
          for y in  $(seq 0 $cnt_o) ; do
                    out_l=${outputs_left[$y]}
                    out_r=${outputs_right[$y]}
                    echo  "Connecting input:$in_l/$in_r to output: $out_l/$out_r"
                    amixer -D hw:DSP cset numid=5 $in_l,$out_l,32768 > /dev/null 2>&1
                    amixer -D hw:DSP cset numid=5 $in_r,$out_r,32768 > /dev/null 2>&1
          done
          aplay  -D$alsainterface -fcd "$track" > /dev/null 2>&1 &
          echo "Playback started..."
          echo -n "Any sound ? (y/(N)):"
          read z
          
          if [ "$z" == "y" ] ; then echo "Identified inputs: $in_l/$in_r" ;  break ; fi  
          
          for y in  $(seq 0 $cnt_o) ; do   
                    out_l=${outputs_left[$y]}
                    out_r=${outputs_right[$y]}
                    echo  "Connecting input:$in_l/$in_r to output: $out_l/$out_r"
                    amixer -D hw:DSP cset numid=5 $in_l,$out_l,0 > /dev/null 2>&1
                    amixer -D hw:DSP cset numid=5 $in_r,$out_r,0 > /dev/null 2>&1
          done        
done
if [ "$z" != "y" ] ; then echo "No working connection identified..." ; exit 1 ; fi
}


function scanoutputs () {
for k in  $(seq 0 $cnt_o) ; do
     out_l=${outputs_left[$k]}
     out_r=${outputs_right[$k]}
     echo  "Connecting input:$in_l/$in_r to output: $out_l/$out_r"
     amixer -D hw:DSP cset numid=5 $in_l,$out_l,32768 > /dev/null 2>&1
     amixer -D hw:DSP cset numid=5 $in_r,$out_r,32768 > /dev/null 2>&1
     aplay  -D$alsainterface -fcd "$track" > /dev/null 2>&1 &
     echo "Playback started..."
     echo -n "Any sound ? (y/(N)):" 
     read z
     if [ "$z" == "y" ] ; then echo "Identified outputs: $out_l/$out_r" ;  break ; fi  
     amixer -D hw:DSP cset numid=5 $in_l,$out_l,0 > /dev/null 2>&1
     amixer -D hw:DSP cset numid=5 $in_r,$out_r,0 > /dev/null 2>&1 
done
}


echo "Generating test-track..."
generate_track
init_matrix 
echo "Scan inputs..."
scaninputs
init_matrix 
echo "Scan outputs..."
scanoutputs
echo
echo "Result: inputs: $in_l/$in_r outputs: $out_l/$out_r"

exit 0
 
After having all sorts of trouble getting a VIA S3 motherboard PC to work with Linux, I'm thinking of buying the following small form factor PC to run my RME Digi9632 card and BruteFIR under Linux for digital room correction (see other thread: http://www.diyaudio.com/forums/pc-based/153446-digital-room-correction-project.html).

Can anyone give an opinion as to whether this would be OK using Linux (Fedora or Ubuntu) - it would be much appreciated. Relevant details of PC are:

Make/Model: IBM/ThinkCentre M51 8106-D1M

Processor/Speed: Pentium 4/3.0GHz Intel® Pentium® 4 Processor 630 with HT Technology

Motherboard/Chipset: IBM/Intel 915GV

Memory slots: 400MHz DDR2 (Double Data Rate) dual channel memory support, PC2-4200 (400MHz) memory supported, 2 x 240 pin DDR2 SDRAM DIMM sockets, supports a maximum memory up to 4.0GB, ECC or parity memory is not supported

Installed memory: 1024mb

Storage: 80gb SATA Hard Disk Drive

Optical devices: CD-Rom

Video: Intergrated Intel Graphics Media Accelerator 900

Network: Integrated 10/100/1000 (Gigabit) Ethernet with Wake on LAN

On board I/O: Six USB ( two in front, four in back) [Ver 2.0], One Ethernet RJ-45, One serial 9-pin 16550 compatible, One parallel 25-pin (EPP, ECP), IEEE 1284, Keyboard, monitor, and mouse ports, Audio line in, headphone out, and microphone in jacks

Other: Slot 1: Full height, half length PCI

Expansion bays: One fixed Ultrabay Enhanced optical drive (accessible)
One 3.5-inch HDD (hidden)

Physical: 85mm high x 280mm wide x 260mm deep, weight fully loaded - approximately 9kgs
 
After having all sorts of trouble getting a VIA S3 motherboard PC to work with Linux,

what kinds of troubles? maybe we can help you solving them... ;)

Can anyone give an opinion as to whether this would be OK using Linux
...
Make/Model: IBM/ThinkCentre M51 8106-D1M
...
from the specs it looks like some old, 2nd hand/NOS stuff... is it? :confused:

BTW, should be fine.

The HDD is much more than enough for the OS & software, but of course it's definitely way too small for any serious local music storage.
 
what kinds of troubles? maybe we can help you solving them... ;)

Thanks for the offer.

Tried all different versions of Fedora and Ubuntu, both CD-Rom media and USB stick. I used newly created CDROMs as well as ones that worked without a problem when I installed Linux on 5 year old laptops.

With Fedora I'd get a "Kernel panic" message then the install would fail. There appears to be an active bug for Fedora related to the processor (Via S3). With Ubuntu I kept getting consistent fails on installing the OS to the external USB disk drive (Seagate 250GB).

I spent so much time trying to get it to work I've decided to move to different hardware to get around the problem.
 
Tried all different versions of Fedora and Ubuntu, both CD-Rom media and USB stick.
...
With Ubuntu I kept getting consistent fails on installing the OS to the external USB disk drive (Seagate 250GB).
...
for such a system I would rather use Debian or Gentoo (which are much more customizable and "sizable" than most "ready-made" desktop distributions like *Ubuntu, Fedora or the likes).

Or perhaps some other distribution (maybe DSL? never tried myself...) more specifically oriented toward small/dedicated/embedded systems.

That said, you may try installing a very minimal system to the external HDD from another machine and then move it to the VIA. Of course, make sure to choose the right kernel...

About failures. Installing to a removable USB HDD is a somewhat "esotic" setup. Performance-wise it is not a very good idea... and may be the source of your troubles, too. The device "names" for the disk may change during the installation process, and that may explain your failures.
 
for such a system I would rather use Debian or Gentoo (which are much more customizable and "sizable" than most "ready-made" desktop distributions like *Ubuntu, Fedora or the likes).

Or perhaps some other distribution (maybe DSL? never tried myself...) more specifically oriented toward small/dedicated/embedded systems.

Seems like good advice. However, I'm at the stage where the cost-benefit for keeping with the existing hardware doesn't seem to stack up. I think it would be better to move to new hardware, that I know is more likely to work, given it has already successfully had an OS installed (XP).

That said, you may try installing a very minimal system to the external HDD from another machine and then move it to the VIA. Of course, make sure to choose the right kernel...

I installed Ubuntu to the USB hard drive, via my laptop. When I subsequently connected the drive it to the mini-PC, no luck, no boot.
 
I installed Ubuntu to the USB hard drive, via my laptop. When I subsequently connected the drive it to the mini-PC, no luck, no boot.
dit it work on the laptop you use for installing?

what kind of error do you get when trying to boot it? at which step does it sops?

Then, the obvious (though at times overlooked) questions:
  • are you using a 32bit version of the OS/kernel?
  • is the installed kernel supported/supporting the processor on the VIA motherboard?

most modern desktop distributions by default installs kernels which are optimized for today's "big iron" desktop (and laptop) architectures & CPUs (i686+ and/or amd64). Such optimized kernels may NOT run at all on any "smaller"/older, "generic" i386 or even Pentium (i586) compatible hardware.

If you install on a different machine than your target, you have to manually select (or install after the installation but of course still on the "install" machine) a kernel compatible with the "target" architecture.
 
UnixMan (and others)

Here are the specs of the mini-PC I bought. If you guys think there is a Linux distro that is more likely to work with this hardware, please let me know.


Processor: Via Low Power C3/Eden Processor at 800Mhz
Chipset: VIA VT-133 for EPIA (North / South)
System Memory: 512MB Memory 1 x Slots availble
Video: 64 bit 2D/3D graphic engine and video accelerator , 1280x1024 16 bit color or 1024x768 32 bit color
Audio: 3D sound system complies with PC98 audio specifications/Audio-out and Mic-in.
LAN: Built-in high speed ethernet 10/100Mbps LAN controller
USB: Integrated 4 independent OHCI controller supporting USB 1.1 ports
HardDrive: Ultra DMA 33/66/100 IDE Connector
Hard Drive Adaptors: IDE to CF -II Adaptor with Cable Mounted on the IDE Slot , A CF Card is not included
 
UnixMan (and others)

Here are the specs of the mini-PC I bought. If you guys think there is a Linux distro that is more likely to work with this hardware, please let me know.
Debian should do. As just about any other, as far as it is NOT limited to i586+ processors (the VIA is not fully compatible with recent processors, so try a kernel which is compatible with anything from i486 on).

You may also look around to see if there is any distro which have been designed specifically for platforms like yours (nowday there is a distro for just about anything... :rolleyes: )

Try googling for something like "VIA VT-133 C3/Eden EPIA Linux" (without quotes, of course). You'll almost surely find plenty of results... and likely something useful, too. :spin:
 
Little bit of googling and:

Building a Mini 'Quieter-than-a-Whisper' Linux PC | silentpcreview.com

the VIA C3 processor won't boot a complete linux distro compiled from source with i686 optimizations.

If it were me I'd install gentoo and use the i486 stage3.... but I'm sure there are lots of distributions around with options for older arch cpus.


I would also suggest that trying to install and boot from an external usb harddrive is likely to cause problems, especially with an older system. Why do you need to use one?

EDIT: ahh unixman... beat me to it..
 
Last edited:
UnixMan, Theo404, and ratza

Thanks for your advice and interest.

I decided to purchase the 2nd hand Intel Pentium box I described in earlier posts. Fedora installed without a hitch within 30 minutes. I now have a working Linux system that recognises my RME sound card.

I think my error was persisting with hardware that wasn't up to the task.

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