获取gstreamer audioconvert到输出的有符号32位浮点值,从-1到1
试图找出如何让gstreamer在有符号32位浮点值在-1到1之间时输出原始音频数据 到目前为止,我得到了以下结果,但这些值是无符号的,不在-1到1的范围内:获取gstreamer audioconvert到输出的有符号32位浮点值,从-1到1,gstreamer,web-audio-api,Gstreamer,Web Audio Api,试图找出如何让gstreamer在有符号32位浮点值在-1到1之间时输出原始音频数据 到目前为止,我得到了以下结果,但这些值是无符号的,不在-1到1的范围内: gst-launch-1.0 filesrc location=“sound.mp3”!疯狂的音频重采样!音频转换!capsfilter caps=“音频/x-raw,格式=F32BE,速率=44100,通道=1”!filesink location=sound.raw 非常感谢您的帮助。谢谢。经过一些测试,我可以确认GStreamer远
gst-launch-1.0 filesrc location=“sound.mp3”!疯狂的音频重采样!音频转换!capsfilter caps=“音频/x-raw,格式=F32BE,速率=44100,通道=1”!filesink location=sound.raw
非常感谢您的帮助。谢谢。经过一些测试,我可以确认GStreamer远远超出了范围
[-1,1]
。另外,在我看来,如果您想使用GStreamer,似乎没有真正简单的解决方案(您可以编写一个后处理器,它接受一个原始的32位带符号整数文件,并将每个4字节的块转换为浮点,但这有点不太妥当)
但是,我可以通过以下方式为您提供替代解决方案:
我使用aplay
成功播放了输出文件:
aplay -r 44100 -f FLOAT_BE -c1 /path/to/output_float.raw
有两件事可以更改/添加到CAP:
- audio/x-raw to audio/x-raw-float
- signed=true
太棒了。非常感谢。
- audio/x-raw to audio/x-raw-float
- signed=true