zrychleny a trhany zvuk v amaroku / xine

Tomas Vondra tv na fuzzy.cz
Úterý Září 25 01:27:51 CEST 2007


> Zdar,
> 
>> mam potize s prehravanim zvuku v amaroku a xine, a nemuzu prijit na to
>> co s tim. Zvuk hraje odhadem 2x zrychlene (takove trochu "helium") a pak
>> se na chvilku sekne a zase pokracuje dal.
> 
> to je typický příznak nekompatibilní vzorkovací frekvence. Dělá to na všechny 
> zvukové stopy (různé frekvence, mono/stereo)? 

Popravě jsem to zatím zkoušel jenom s MP3 soubory, vesměs stereo 
kódovanými na 44.1kHz - například

    http://www.radio1.cz/mp3/porady_2007/Palce_2007-09-20.MP3

Při hraní přes mplayer se v konzoli objeví

=========================================================================
MPlayer SVN-r24130 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ (Family: 15, Model: 
107, Stepping: 1)
3DNow supported but disabled
3DNowExt supported but disabled
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
PÅeloženo pro CPU x86 s rozšíÅeními: MMX MMX2 SSE SSE2

PÅehrávám /home/vampire/Palce_2007-09-20.MP3
Detekován formát souboru Audio file.
==========================================================================
Otevírám audio dekodér: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 48.0 kbit/3.40% (ratio: 6000->176400)
Vybrán audio kodek: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: Žádné video
ZaÄínám pÅehrávat...
=========================================================================

z čehož usuzuji že soubor je kódován na 44.1kHz ale alsou je resamplován 
na 48kHz (a hraje to dobře).

> 
>> Naopak mplayer funguje bez jakychkoliv problemu v podstate s kterymkoliv
>> systemem (bud funguje spravne nebo vubec).
> 
> Používá stejný výstupní driver? Spusťte ho v konzoli a podívejte se,  co 
> používá za driver a jestli nepíše něco o resamplování.  Pokud mě paměť 
> neklame, tak amarok a xine používá ve výchozím nastavení zařízení "default", 
> kdežto mplayer používá přímo hw zařízení. To "default" zařízení to ale navíc 
> prožene přes dmix, který provádí resampling na společnou frekvenci 
> (definovaná v konfiguráku alsy). Pokud tato frekvence nesedí se skutečnou 
> frekvencí, na kterou je zinicializovaná zvukovka, bude se to projevovat tak, 
> jak píšete nahoře. 

Amarok hraje přes libamarok_xine-engine, ale i pokud v něm (amaroku) 
jako výstupní modul nastavím alsu (přes kterou hraje mplayer) tak to 
stejně blbne.

Zvláštní je že pokud to překóduji do WAVu (PCM), tj.

   mplayer -ao pcm:waveheader:file=test.wav Palce_2007-09-20.MP3

tak potom už to v amaroku hraje správně. Přitom oba soubory jsou myslím 
samplovány na 44.1kHz.

Jinak máte pravdu - v amaroku se pro mono i stereo používá zařízení 
"default" ale v žádném konfiguráku alsy jsem definici frekvence nenašel.

Tomáš



Další informace o konferenci Linux