java - unprocessed - media recorder audio source




ピッチを変えずにオーディオファイルの再生を遅くする? (4)

私は大学の音楽専攻のためのアプリケーションに取り組んでいます。 私が検討している機能は、ピッチを変えずに音楽の再生を遅くすることです。 私は商用ソフトウェアでこれが行われているのを見ましたが、このようなことを行うライブラリやオープンソースのアプリケーションは見つかりませんでした。

  1. そこにライブラリはありますか?
  2. これはさまざまなファイル形式の最初からどのように行うことができますか?

注:私はJavaで働いていますが、言語の変更に反対していません。



私はsoundstretchを使ってポッドキャストをスピードアップしています。これは音楽的にもうまくいきました。


これを行う1つの方法は、ソースのサンプリングレートを変更せずにサンプリングレートを2倍にすることです。 (低品質の例ですが、実装が簡単です。注:サンプリングレートを下げることもできます)。

位相ボコーダに関連する数学をチェックしてください。

別の一般的な方法は、サウンドのスケジュールされた間隔のデータを格納するfftビンの配列を作成することです。 次に、ビンを反復する速さを選択することができます。また、選択した長さの間、そのオーディオデータを再合成することができます。


タイムストレッチはかなり難しいです。 サウンドを遅くしたりスピードアップしたりするほど、より多くのアーティファクトが得られます。 ファットボーイスリムの "The Rockafeller Skank"のように聞こえるように聞こえたら知りたいのですが。 すべての方法にはそれぞれ独自の長所と短所があります。 数学は本当に複雑になります。 だからこそ、独自のアルゴリズムがたくさんあるのです。

このページでは私ができることより少し明確に説明し、Diracライブラリにリンクしています。 http://www.dspdimension.com/admin/time-pitch-overview/

私はピッチシフト/タイムストレッチを行うJavaコードのこのリンクを発見しましたhttp://www.adetorres.com/keychanger/KeyChangerReadme.html







media