我想检测特定音频文件的峰值和均方根值(格式可以是.opus,.wav等,或者也可以从麦克风输入而不录制语音)。使用GStreamer的好“级别”插件,我可以实现这一点。
我尝试了此处提供的示例level_plugin_example
我也试过命令行示例,
$ gst-launch-1.0 -v -m audiotestsrc! audioconvert! audio / x-raw,format = S8,channels = 2!水平! fakesink silent = TRUE
OR
$ gst-launch-1.0 -v -m audiotestsrc!音量= 1.0!水平! fakesink silent = TRUE
这些给出了有效值和峰值。
通过这些例子,我知道了如何使用关卡。但问题是,在这个例子中,他们使用大写来设置原始媒体(内部是否有任何内容可以获得级别插件的输出?)但是我想要用户定义的媒体输入以便如何实现这一点?
总结:我想要一个'level'插件的示例代码片段,它将输入作为录制的音频或现场音频文件,并检测其rms和峰值。
答案 0 :(得分:2)
尝试使用:
gst-launch -v -m filesrc location=audioandsilence.wav ! decodebin ! audioconvert ! level message=TRUE ! pulsesink
答案 1 :(得分:0)
"等级"元素发送消息。用法示例可以在链接上找到(gstreamer示例): https://github.com/krad-radio/gstreamer-plugins-good-krad/blob/master/tests/examples/level/level-example.c