GStreamer和音乐处理

GStreamer and music processing

本文关键字:处理 音乐 GStreamer      更新时间:2023-10-16

我想在我的c++应用程序中使用gstreamer库来处理声音。你能告诉我有什么方法可以改变声音的节奏、音高等吗?

谢谢。

使用pitch插件可以改变声音的音高:

$ gst-launch filesrc location=sound.mp3
    ! decodebin ! audioconvert
    ! pitch pitch=3
    ! autoaudiosink

或节奏:

$ gst-launch filesrc location=sound.mp3
    ! decodebin ! audioconvert
    ! pitch tempo=2
    ! autoaudiosink

或速度。

还有一个巨大的ladspa库包装器ladspa。我有一些不好的经历,但也许它现在更稳定了。它有几个插件来控制音高,速度和更多。

如果您计划使用声音,这也可能会感兴趣:

  • nice插件库audiofx与各种过滤器,例如有压缩器/扩展器插件audiodynamic。
  • 均衡器插件。

从max taldykin的建议开始,这在我的GStreamer版本(0.10.35)中返回了一个错误,我发现了一个可以工作的管道。例如,为了保持节奏,将歌曲提升1级,你应该将音调调到6%:

gst-launch-0.10 filesrc location=02-have_you_ever.mp3 ! 
    decodebin ! audioconvert ! pitch pitch=1.06 tempo=1.0 ! 
    audioconvert ! audioresample ! autoaudiosink

为我做了这项工作