1

私は、音楽の書き起こしを支援するための一種の「高度な再生」オーディオ アプリケーションを開発しています。アイデアは、ユーザーがオーディオのテンポ/ピッチを変更できるようにすることと、オーディオ トラックの一部を選択してループできるようにすることです。当分の間、gstreamer を使用することにしました。テンポの変更を支援するために、パイプラインに scaletempo プラグインがあります。ループを行うための最良の方法は何ですか。

ドキュメントを読むと、scaletempo 要素で gst_element_seek を実行し、*stop_type* とstopパラメータを設定し、メッセージ バスで EOS を待ってから、さらに別のシークなどを実行することで、それを実行できるようです。

それを行うより良い方法はありますか?理想的には、スムーズなループを実現したいと考えていますが、そうでない場合でも問題はありません。gstreamer ドキュメントには「セグメント」の概念についての言及が含まれていますが、ドキュメントをちらっと見ても、それらが何であるか、または私のシナリオで役立つかどうかはまだわかりません。

C/Python/Haskell/その他のコードへのポインタは大歓迎です。

4

0 に答える 0