К вопросу о 8 и 16кГц. Что-то все-таки не то в консерватории. Скачиваю тестовый файл отсюда
http://www0.cs.ucl.ac.uk/teaching/GZ05/samples/тот который самый первый 8KHz sampled, u-law, mono, 32KB
Проигрываю на ноутбуке с убунтой командой
- Код: Выделить всё
gst-launch -v filesrc location=/home/serg/ulaw/lathe.wav ! decodebin ! alsasink
все отлично.
Проигрываю на виртурилке
- Код: Выделить всё
gst-launch -v filesrc location=/home/ftp/lathe.wav ! decodebin ! alsasink
Звук нормальный, но играет в два раза быстрее чем надо. В параметрах везде пишет нормально 8000:
[root@virt2real ftp]# gst-launch -v filesrc location=/home/ftp/lathe.wav ! decodebin ! alsasink
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = audio/x-wav
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstWavParse:wavparse0.GstPad:sink: caps = audio/x-wav
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = audio/x-raw-int, width=(int)16, depth=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)8000, channels=(int)1
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMuLawDec:mulawdec0.GstPad:src: caps = audio/x-raw-int, width=(int)16, depth=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)8000, channels=(int)1
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMuLawDec:mulawdec0.GstPad:sink: caps = audio/x-mulaw, rate=(int)8000, channels=(int)1
/GstPipeline:pipeline0/GstAlsaSink:alsasink0.GstPad:sink: caps = audio/x-raw-int, width=(int)16, depth=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)8000, channels=(int)1
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0.GstProxyPad:proxypad1: caps = audio/x-raw-int, width=(int)16, depth=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)8000, channels=(int)1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
Got EOS from element "pipeline0".
Execution ended after 2237632917 ns.
Может что-то в gstreamer поправить надо?
Если скачать файл с оцифровкой >16kHz ( rate=(int)44100 например ), то он проигрывается нормально.