Hi all,
I have a problem with GStreamer 1.9.90 and a 16bit PCM mono channel wave file to be played. I'm using this very simple pipeline that works very well with 8bit file: gst-launch-1.0.exe filesrc location="C:/Users/walter/Desktop/00000002.wav" ! decodebin ! audioresample ! audioconvert ! autoaudiosink -v -e With 16 bit file (S16LE to be precise) the output is a long noise. this is the output I obtain with "-v" option... I notice that recognized format il "8U", but I'm not able to force it to 16bit anyway: Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = audio/x-wav /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstWavParse:wavparse0.GstPad:src: caps = audio/x-raw, format=(string)U8, layout=(string)interleaved, channels=(int)1, rate=(int)22050 /GstPipeline:pipeline0/GstAudioResample:audioresample0.GstPad:src: caps = audio/x-raw, format=(string)U8, layout=(string)interleaved, channels=(int)1, rate=(int)22050 /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw, format=(string)U8, layout=(string)interleaved, channels=(int)1, rate=(int)22050 /GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0.GstGhostPad:sink.GstProxyPad:proxypad1: caps = audio/x-raw, format=(string)U8, layout=(string)interleaved, channels=(int)1, rate=(int)22050 Redistribute latency... /GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0/GstDirectSoundSink:autoaudiosink0-actual-sink-directsound.GstPad:sink: caps = audio/x-raw, format=(string)U8, layout=(string)interleaved, channels=(int)1, rate=(int)22050 /GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0.GstGhostPad:sink: caps = audio/x-raw, format=(string)U8, layout=(string)interleaved, channels=(int)1, rate=(int)22050 /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = audio/x-raw, format=(string)U8, layout=(string)interleaved, channels=(int)1, rate=(int)22050 /GstPipeline:pipeline0/GstAudioResample:audioresample0.GstPad:sink: caps = audio/x-raw, format=(string)U8, layout=(string)interleaved, channels=(int)1, rate=(int)22050 /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstDecodePad:src_0.GstProxyPad:proxypad2: caps = audio/x-raw, format=(string)U8, layout=(string)interleaved, channels=(int)1, rate=(int)22050 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstAudioSinkClock handling interrupt. Interrupt: Stopping pipeline ... EOS on shutdown enabled -- Forcing EOS on the pipeline Waiting for EOS... Got EOS from element "pipeline0". EOS received - stopping pipeline... Execution ended after 0:00:03.745515003 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ... Thank you for help Walter _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Walter Lucetti
www.myzhar.com |
On 12/05/2016 02:53 PM, Walter Lucetti
wrote:
Are you sure the 16bit wav file is well formed? According to the output gstreamer plays it as 8bit, which explains the noise. Can you share this file? Stefan
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi Stefan, the file is generated by a text-to-speech application and on VLC the properties are correct: PCM S16LE Mono 22050Hz 16 bit You can check it downloading from here: https://www.dropbox.com/s/j68n82e04j4ljjy/00000002.wav?dl=0 Thank you for your help Walter 2016-12-05 16:58 GMT+01:00 Stefan Sauer <[hidden email]>:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Walter Lucetti
www.myzhar.com |
On 12/05/2016 05:26 PM, Walter Lucetti
wrote:
I can confirm, that the file is not handled porperly and sounds distorted. Will fix it. Stefan
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 12/08/2016 03:12 PM, Stefan Sauer
wrote:
Actually the file is broken. These are the header parameters: blockalign = 1 width = 8 depth = 16 av_bps = 22050 frequency = 22050 channels = 1 bytes_per_sample = 1 bps = 22050 caps = audio/x-raw, format=(string)U8, layout=(string)interleaved, channels=(int)1, rate=(int)22050 From various places you can check the wav format spec: http://soundfile.sapp.org/doc/WaveFormat/ BlockAlign == NumChannels * BitsPerSample/8 The number of bytes for one sample including all channels. The issue is that blockalign=1, but for 16bit, it must be >= 2. We can probably add a workaround, not sure what others think. If you can please also report to the software that created the file. Stefan
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 12/08/2016 03:48 PM, Stefan Sauer
wrote:
Oh, and also the avg_bps is wrong. Needs to be 44100 for 16bit. Stefan
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thank you Stefan, The file has been generated by the a software written by a colleague of mine. He told me that he found one problem in the header, but Monday (4 days of holydays here in Italy) I will say to him that the problems were two. Thank you very much for the help Regards Walter -- Walter Lucetti email: [hidden email] web: www.robot-home.it - www.opencv.it project: http://myzharbot.robot-home.it Il 08 Dic 2016 15:50, "Stefan Sauer" <[hidden email]> ha scritto:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Walter Lucetti
www.myzhar.com |
Free forum by Nabble | Edit this page |