私はスクラッチ(トラックを前方に移動)するとどうなりますか? サンプルのピッチやレートを上げますか?
実際に起こっていることを考えてみましょう。レコードにはオーディオデータが含まれています。レコード針はレコードからオーディオデータを読み込みます。レコードが回転すると、再生位置が変わります。
物理的にスピンを速くスピンさせると、再生速度が上がります。再生スピードを上げると、再生スピードが速くなります。オーディオは、ピッチがより速く、より高い。再生速度を2倍にすると、オーディオは1オクターブ上で再生されます。
物理的にスロー再生すると再生速度が遅くなります。音声はピッチが遅く、ピッチも低くなります。再生速度を2倍にすると、オーディオは1オクターブ下がります。
レコードは、物理レコードを高速化または減速することによってオーディオ再生を変更することができます。これは、ピッチと再生レートの両方に影響します。一部のオーディオソフトウェアでは、ピッチとレートを個別に変更できます。レコードプレーヤーはできません。
(それはのような音を聞くためにレコードプレーヤーと実験を取得します。)
私はオーディオ処理アルゴリズムと、この現象をエミュレートできますか?
レコードをスクラッチするDJをエミュレートするには、ユーザーが「スクラッチ」しているときにオーディオの再生レートを調整できる必要があります。
ユーザーがレコードの速度を上げると、再生速度が速くなります。ユーザーがレコードを遅くすると、再生速度が遅くなります。
ユーザーがレコードを停止すると、再生をすべて停止します。
ユーザーがレコードを逆に回転させると、再生を元に戻します。
オーディオの音程を変更する必要はありません。再生レートを変更すると自動的に再生レートが変更されます。音程をさらに調整すると、音が間違って聞こえます。
私はライブラリに関するアドバイスはありませんが、このようなことは時間がかかりすぎると実装するのが難しくありません。
Q:オーディオトラックを今どのように編集していますか?どのようなソフトウェアを使用していますか?私は、必要に応じていくつかの "スクラッチ"、 "ヒス"または "ポップ"エフェクトを混ぜるだけです。例:http://free-loops.com/5174-short-record-scratch.html – paulsm4
私はAndroidアプリケーションとして開発しているので、Javaを使用しています。 デフォルトのJavaオーディオ処理またはOpenSLを使用すべきかどうかはまだ分かりません。これは、「スクラッチ」をエミュレートすると、ピッチ/レートやJavaにはないその他の機能が変更されることになります。 編集:私のアプリは、実際のビニールのようなトラックのコントロールをユーザーにさせます。再生中に前後に動かして「スクラッチ」エフェクトを取得させる – user1118094
Androidはオーディオサンプルに直接アクセスできないため、少し難しいかもしれません(免責事項:私はAndroidデベロッパーではありませんが、これは私が聞いたことです。私はこれについて間違っているかもしれません)。つまり、あなたが探している特定の効果は「Varispeed」と呼ばれ、研究を開始するのに十分な情報を与えるはずです。エフェクトを完成させるために余分なノイズを加えたいと思うでしょう。 – admsyn