获取gstreamer audioconvert到输出的有符号32位浮点值,从-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远

试图找出如何让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远远超出了范围
[-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