我想检测特定音频文件的峰值和有效值(格式可以是.opus、.wav等,也可以从麦克风输入而不录制声音)。使用 GStreamer 良好的“关卡”插件我可以实现这一目标。
我尝试了此处提供的示例,level_plugin_example
我还尝试了命令行示例,
$ gst-launch-1.0 -v -m audiotestsrc ! audioconvert ! audio/x-raw,format=S8,channels=2 ! level ! fakesink silent=TRUE
或者
$ gst-launch-1.0 -v -m audiotestsrc ! volume volume=1.0 ! level ! fakesink silent=TRUE
这些给出了零均方根值和峰值。
通过这些示例,我了解了如何使用级别。但问题是,在示例中,他们使用 caps 来设置原始媒体(内部是否做了任何操作来获取关卡插件的输出?),但我想要用户定义的媒体输入,那么如何实现这一点?
摘要:我想要一个“level”插件的示例代码片段,它将输入作为录制的音频或现场音频文件并检测其均方根和峰值。
最佳答案
尝试使用:
gst-launch -v -m filesrc location=audioandsilence.wav ! decodebin ! audioconvert ! level message=TRUE ! pulsesink
关于c - 如何使用GStreamer的电平插件获取特定音频文件的峰值和均方根值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35177309/