6

私は自分のAndroidプロジェクトでffmpegとAudioTrackクラスを使用してオーディオファイルを再生することができました。AudioTrackクラスのsetRateメソッドを使用してオーディオの速度を変更できます。しかし、それはオーディオのピッチも変更します。オーディオのテンポのみを変更したいのですが、ネット上で解決策が見つかりませんでした。

これはサポートされていないので、誰でも私を助けてください。

4

3 に答える 3

14

ffmpeg1.0以降ではatempoフィルターを使用できます。

ffmpeg -i input.wav -f:a atempo=1.25 output.wav

atempo0.5〜2.0の値のみを受け入れますが、複数のフィルターをチェーンすることで制限を回避できます。

ffmpeg -i input.wav -f:a atempo=2,atempo=1.5 output.wav
于 2014-04-15T16:16:37.597 に答える
8

解決策: SoundTouchライブラリを試しました。android用に正常にコンパイルしましたが、このライブラリを使用してオーディオをロードする方法がわからないため、その関数を使用できませんでした。

しかしその後、Sonicというライブラリを試しました。PSOLAアルゴを使用してピッチとテンポを変更するため、基本的にスピーチ用です。でも、大丈夫です。

于 2012-07-16T13:05:25.217 に答える
2

ピッチとテンポは非常に強く関連しています。あなたがやろうとしていることは「タイムストレッチ」と呼ばれ、やや複雑なアルゴリズムです。あなたはそれについての情報をオンラインで見つけることができます、そしてそれのためのジャバライブラリはプロセスを説明する論文と一緒にここで見つけることができます。

于 2012-06-29T17:40:45.073 に答える