Audio 使用gstreamer循环部分音频

Audio 使用gstreamer循环部分音频,audio,gstreamer,Audio,Gstreamer,我正在开发一种“高级播放”音频应用程序来帮助音乐转录。其想法是允许用户改变音频节奏/音高,以及选择并可能循环部分音频曲目。我暂时选择使用gstreamer。我已经准备好了scaletempo插件来帮助改变节奏。我不确定什么是最好的循环方式 通过阅读文档,我似乎可以通过在scaletempo元素上执行gst_元素搜索并设置*stop_type*和stop参数,在消息总线上等待EOS,然后执行另一次搜索等来完成 有更好的方法吗?理想情况下,我希望获得平滑的循环,尽管如果我不这样做,它就不是一个交易破

我正在开发一种“高级播放”音频应用程序来帮助音乐转录。其想法是允许用户改变音频节奏/音高,以及选择并可能循环部分音频曲目。我暂时选择使用gstreamer。我已经准备好了scaletempo插件来帮助改变节奏。我不确定什么是最好的循环方式

通过阅读文档,我似乎可以通过在scaletempo元素上执行gst_元素搜索并设置*stop_type*和stop参数,在消息总线上等待EOS,然后执行另一次搜索等来完成

有更好的方法吗?理想情况下,我希望获得平滑的循环,尽管如果我不这样做,它就不是一个交易破坏者。gstreamer文档中提到了“段”的概念,但通过浏览这些文档,我仍然不知道它们是什么,也不知道它们在我的场景中是否有用


非常欢迎使用C/Python/Haskell/任何语言编写代码。

只是一个想法:从用户体验的角度来看,您可能不希望“平滑”循环。显然,您希望消除播放开始/停止边界处的点击,但在转录的情况下,稍微保持沉默可能会有所帮助。有不完美的循环点(这是通常会发生的)是很尴尬的,循环之间的一点沉默实际上可以帮助听者在每个循环开始时在音乐上确定自己的方向。嗯,我没有想过这一点。我的动机是,我个人经常(ab)使用抄写软件练习一篇文章,流畅的循环肯定会有帮助。我并不是说能够流畅的循环是不好的。抱歉,我对gstreamer一无所知。