1

Thema: LINNux

Hallo zusammen,

suche Menschen, die über die Zusammenstellung eines audiophilen Netzwerkplayers im Eigenbau diskutieren möchten.
Ziel: Linn Sneaky DS..

Mein Ansatz:
Hardware: Pentium III-PC mit M-Audio 2496 Audio-Karte als player, separater Fileserver mit Samba
Software: Ubuntu Server mit MPD + ALSA

Offene Fragen:
Bringt Echtzeit-Kernel Vorteile? (Ubuntu-Studio)
Klangbeeinflussung durch MPD, ALSA
Upsampling, Dithering, ...

Interesse?

2

Re: LINNux

Schon das Vorhandensein des Wortes "audiophil" macht diesen Thread für die meisten hier im Forum uninteressant.

Warum?
"Audiophil" ist das Schlagwort mit dem findige Hifi-Verkäufer Lautsprecherkabel für 600 Euro pro Meter an den Mann bringen.

Mit begriffen wie "transparent" kommst Du hier deutlich weiter...

Raubkopieren ist nicht der ideologische Kampf gegen das böse System,
sondern egoistische, arrogante, knausrige Scheiße.

3

Re: LINNux

Ziel ist, einem kommerziellen Netzwerkplayer aus der 1500 EUR-Liga das Wasser zu reichen. Ob das audiophil, HighEnd, HiFi oder spinnert ist ???
Suche technische Diskussion ohne Voodoo

4

Re: LINNux

Hallo erstmal,

Ich habe ein weitgehend identisches Gerät bereits gebaut.
Klangbeeiflussungen durch Alsa oder MPD sind mir bislang noch nicht aufgefallen.
Was das Upsampling betrift, falls die Dateien die du abspielen möchtest
alle in der Samplerate 44100 Hz vorliegen, lässt sich eine ratekovertierung
einfach umgehen.
Dazu öffnest du als Root die Datei /usr/share/alsa/alsa.conf und ersetzt
defaults.pcm.dmix.rate 48000 durch defaults.pcm.dmix.rate 44100.
Ein Echtzeikernel bringt meines Wissens nichts.

Mfg omberto

5

Re: LINNux

Danke für die Info, bei mir läuft das Gerät auch schon, folgende Schönheitsfehler:

* Kurze Aussetzer bei der Wiedergabe
* Klang deutlich rauher/härter als mein CD-Player (Kann das 48KHz-upsampling sein, wird morgen getestet)
* Spielt keine 24-Bit FLAC's
(Test-Maschine mit Ubuntu Jaunty-Beta funktioniert in Virtual-Box - Hörtest steht noch aus)

6

Re: LINNux

Hallo,

Diesem tread aus dem MPD-Forum MPD support of 24 bit playback meine ich entnommen zu haben,das MPD 24 bit erst in der noch
unfertigen Version 0.15 unterstützt.
Aktuell ist z.Z. 0.14.2.
Das mit den Aussetzern klingt arg nach hoher CPU-Last, welche sich durch den Befehl "top"in der Konsole für jedes einzelne Programm ermitteln lässt.
Eine mögliche Lösung wäre den sofwarepuffer für Alsa zu erhöhen.
Wie das geht findest du hier:

wiki.ubuntuusers.de/.asoundrc

MfG
omberto

7

Re: LINNux

Du meinst einen reinen Stream-Player ohne Festplatte?

8

Re: LINNux

ja, ohne Festplatte, habe ein flash-modul als system"platte" , die Musik liegt auf dem Server im Heim-Netz


-Die Aussetzer finden bei Zugriff auf das Netzwerk mit NFS statt (mit "iptraf" kann man das schön verfolgen)
-CPU-Auslastung (mit top) liegt bei 50%-60%, sollte eigentlich reichen

Was mir noch nicht ganz klar ist:
wer sampled und bufferd hier eigentlich: mpd, alsa, alsamix (dmix) oder die soundkarte?

9

Re: LINNux

habe noch die 24-Bit Info vergessen:
der beta-Version von Ubuntu jaunty zieht die MPD-Version  0.14.2 an, zumindest hat die meine 24-Bit Flac's im gegensatz zu 0.13 abgespielt. Ob dabei auch 24 bit / 96KHz am DA-Wandler ankommen, ist sicher noch einen andere Diskussion.
Das System ist noch in einer virtuellen Maschine, daher nicht Hörtest geeignet.

10

Re: LINNux

Vielleicht kannst du ja hier- und hiermit etwas anfangen. Oder einem anderen Rechner von TEO.

11 bearbeitet von DAU (Original: 2009-03-27 11:00)

Re: LINNux

Hallo,

Die Samplerate die am DAC ankommt lässt sich bei deiner Soundkarte mit dem Programm
"envy24controll" ermitteln.
Dazu musst du "alsa-tools" und "alsa-tools-gui" installieren.
Allerdings resampled dmix, soweit ich informiert bin, alles auf den eingestellten Wert.

Wie man dmix umgeht und ob das was nutzt habe ich im Alsa-Wiki leider noch nicht gefunden.

Das Samplen übernimmt glaube ich dmix, puffern kann MPD, wie ich gerade feststelle,
auch selbst.

Hier der entsprechende Abschnitt aus der /etc/mpd.conf:

########################### BUFFERING ##########################
#
# The size of the buffer containing decoded audio.  You probably
# shouldn't change this.
#
#audio_buffer_size               "2048"
#
# How much of the buffer to fill before beginning to play.
#
#buffer_before_play              "0%"
#
# Similar options for the HTTP stream buffer.  If you hear
# skipping while playing HTTP streams, you may wish to increase
# these.
#
#http_buffer_size                "128"
#http_prebuffer_size             "25%"
#
################################################################

MfG omberto

12 bearbeitet von DAU (Original: 2009-03-27 13:51)

Re: LINNux

Hallo,

Nach einigem herumprobieren habe ich es endlich geschafft dmix zu umgehen indem ich die
Konfigurationsdatei meiner Soundkarte "/usr/share/alsa/cards/ICE1712.conf" editierte.

Da du dieselbe Karte wie ich benutzt sollte das auch bei dir klappen.

Und zwar die obengenannte Datei auf diese Weise ändern:

vorher

# default with dmix & dsnoop
ICE1712.pcm.default {
    @args [ CARD ]
    @args.CARD {
  type string
    }
    type asym
    playback.pcm {
  type plug
  slave.pcm {
      @func concat
      strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
  }
    }
    capture.pcm {
  type plug
  slave.pcm {
      @func concat
      strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
  }
    }
}

nachher

# default with dmix & dsnoop
#ICE1712.pcm.default {
#    @args [ CARD ]
#    @args.CARD {
#  type string
#    }
#    type asym
#    playback.pcm {
#  type plug
#  slave.pcm {
#      @func concat
#      strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
#  }
#    }
#    capture.pcm {
#  type plug
#  slave.pcm {
#      @func concat
#      strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
#  }
#    }
#}

Die Samplerate einstellung in der alsa.conf hat nun keinen einfluss mehr.

Das ermöglicht eine (hoffentlich) bitgenaue Wiedergabe.

MfG

omberto

13

Re: LINNux

Danke für die Tips zum Thema Samplerate, habe nach deiner ersten Anregung in /usr/share/alsa.conf auf 44100 eingestellt. Diese Einstellung "Überstimmt" zumindest die Einstellungen im alsamixer.

Die Einstellungen zum Buffer in mpd.conf hatten bezüglich Aussetzern keine Auswirkung, aber der Echtzeitkernel:

Installation siehe  ubuntu studio

mit

[FONT=Courier]sudo chrt -r -p 80 <pid> 

<pid> = pid's von mpd

sind die Aussetzer nicht mehr hörbar. Für Anregungen, wie ich den mpd mit dieser Einstellung automatisch starte, bin ich für Anregungen dankbar. Die Einstellung von Nice-Werten hat nichts gebracht, damit kommt man offensichtlich gegen sie Systemzugriffe auf's Netzwerk nicht an

Conclusio:
wenn ich SICHERSTELLEN will, dass es keine grösseren oder kleineren Unterbrechungen in der Soundausgabe geben soll, muss man an dieser Stelle noch weiterforschen, reine Rechenleistung reduziert nur das Risiko von Aussetzern

14 bearbeitet von Frank Bicking (Original: 2009-03-28 12:41)

Re: LINNux

hallo,

Für Anregungen, wie ich den mpd mit dieser Einstellung automatisch starte, bin ich für Anregungen dankbar.

Möglicherweise mittels visudo.

MfG

omberto