1

Temat: mpd - słaba jakość dźwięku

Witam,

MPD (najnowszy: http://ecco.selfip.net/backfire/package … r71xx.ipk)
karta dźwiękowa: USB "allegro 10zł 3D sound" ;-)
plik: "typowe" mp3 LAME 3.90.3 VBR ~190kbps 44100 Hz

Karta ładnie odtwarza na kubuntu. Ładnie odtwarza też na TP-LINKu przez madplay i aplay (mp3 konwertowany do au). A MPD jakoś słabiutko. Różnicę łatwo zuważyć przy dźwiękach gitary akustycznej. Brzmi tak jakby plik był bardzo silnie skompresowany...taki metaliczny podźwięk.
Raczej nie jest to problem dekodera mp3 w MPD - plik au przez MPD też gra słabo.

Domyślam się, że coś jest nie tak z konwersją samplerate.
Kombinowałem już chyba ze wszystkimi możliwymi opcjami w mpd.conf dotyczącymi samplerate - bez rezultatu.

Mój mpd.conf (oczyszczony z komentarzy):

db_file "~/.mpd/database"
log_file                        "~/.mpd/log"
pid_file                        "~/.mpd/pid"
state_file                      "~/.mpd/state"
bind_to_address         "any"
port                            "6600"

input {
        plugin "curl"
}

audio_output {
        type            "alsa"
        name            "USB Headphone Set"
#       device          "hw:0,0"        # optional
#       format          "48000:16:2"    # optional
        mixer_type      "software"      # optional
        mixer_device    "default"       # optional
        mixer_control   "Speaker"       # optional
        mixer_index     "0"             # optional
        auto_resample "no"
#       use_mmap "yes"
}
#
#audio_output_format            "48000:16:2"
#
#samplerate_converter           "Fastest Sinc Interpolator"
#samplerate_converter           "Best Sinc Interpolator"
#samplerate_converter           "internal"

Konfiguracja alsy - domyślna (nie mam asound.conf ani .asoundrc)

2 (edytowany przez arteq 2011-05-24 13:57:21)

Odp: mpd - słaba jakość dźwięku

sprawdz sample rate w czasie odtwarzania
cat /proc/asound/card0/pcm0p/sub0/hw_params
być może dokonuje sie konwersja 44,1k na 48.0k

Ja u siebie wymuszam to własnie w asound.conf

defaults.pcm.dmix.rate 44100 # Force 44.1 KHz
defaults.pcm.dmix.format S16_LE # Force 16 bits

Pozdrawiam, Artur
http://digi-led.pl/blog - Blog

3

Odp: mpd - słaba jakość dźwięku

arteq napisał/a:

defaults.pcm.dmix.rate 44100 # Force 44.1 KHz
defaults.pcm.dmix.format S16_LE # Force 16 bits

na razie nic mi z tego nie wychodzi.
cat /proc/asound/card0/pcm0p/sub0/hw_params:

access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 1024
buffer_size: 8192

Rozumiem, że powinno być 44100 (tak jak materiał na wejściu)? Czy mógłbyś mi pokazać sekcję audio_output z Twojego mpd.conf?

4

Odp: mpd - słaba jakość dźwięku

audio_output {
        type            "alsa"
        name            "My ALSA Device"
        format          "44100:16:2"
        auto_resample   "no"
        buffer_time     "5"
}

oraz

samplerate_converter            "internal"
Pozdrawiam, Artur
http://digi-led.pl/blog - Blog

5

Odp: mpd - słaba jakość dźwięku

Cokolwiek bym próbował to mpd i tak robi konwersję do 48kHz.
Co ciekawe madplay gra ładnie i wygląda na to, że używa OSS.
cat /proc/asound/card0/pcm0p/sub0/hw_params

access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 4457
buffer_size: 142624
OSS format: S16_BE
OSS channels: 2
OSS rate: 44100
OSS period bytes: 16384
OSS periods: 32
OSS period frames: 361

A to by oznaczało, że czeka mnie kompilacja mpd i włączenie OSS.
Albo spróbuję szczęścia i zmienię kartę dźwiękową. Za około 100zł można dostać Sweex SC016. Jeśli ktoś używa - bardzo proszę o opinie. Szczególnie jeśli używacie SPDIF. Dzięki!

6

Odp: mpd - słaba jakość dźwięku

Po wkompilowaniu OSS w mpd działa jak należy! Dzięki za pomoc!

7 (edytowany przez m-r-x 2011-08-08 21:53:44)

Odp: mpd - słaba jakość dźwięku

Witam,

Podepnę się do tego tematu z racji że, posiadam prawdopodobnie taką samą kartę dźwiękową jak marek jak i router bazujący na ar71xx (TL-WR 1043ND).

Teraz do rzeczy, odtwarzanie z mpd przez czystą alsę za bardzo nie wychodzi, dmix robi konwersję do 48k.
Dlatego testuję paczki mpd z oss by arteq i marek. O ile w przypadku plików czy streamingu czystego mp3 nie ma problemu (no może poza lekkimi trzaskami), tak gdy chcę odtworzyć strumień w aac+ (ktory przez plugin faad powinien być obsługiwany) to router dostaje pełnego zamulenia, odtworzy 2 sec i zaczyna kaszleć strumieniem. Testowałem również paczkę z ffmpeg autorstwa arteq z tego tutka. Niestety mpd wywala się bez żadnego błędu. Ajuto...

8

Odp: mpd - słaba jakość dźwięku

Witam,

Czy komuś udało się puścić dźwięk przez SPDIF?

Mnie udaje się tylko uzyskać coś w rodzaju szumu przerywanego muzyką z częstotliwością kilka razy na sekundę.

Karta którą podpinam przedstawia się następująco:

root@OpenWrt:~$ cat /proc/asound/card0/stream0
(C)2011 TeleVox USB-SPDIF V1.01 at usb-ar71xx-ehci-1.1, full speed : USB Audio

Playback:
  Status: Running
    Interface = 1
    Altset = 1
    URBs = 3 [ 8 8 8 ]
    Packet Size = 582
    Momentary freq = 96000 Hz (0x60.0000)
  Interface 1
    Altset 1
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000

Odtwarzając plik 96kHz mam:

root@OpenWrt:~$ cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S24_3LE
subformat: STD
channels: 2
rate: 96000 (96000/1)
period_size: 12000
buffer_size: 48000

Wyjście w mpd:

audio_output {
    type        "alsa"
    name        "SPDIF"
    device        "cards.pcm.iec958"
}

Czy ktoś się orientuje co może być nie tak?