2016-10-27 6 views
0

オーディオの速度を変えずに音のピッチを変更してから、wavまたはmp3ファイルに保存したい場合は、Javaを使用してサウンドエフェクトをいくつか作成しますアンドロイド、私はそうする明確な方法を見つけられませんでした、読むためのチュートリアルはありますか?Java(Android)を使用してオーディオピッチを変更する

答えて

0

少し調べたところ、あなたがしようとしていることが「ピッチシフト」と呼ばれていました。サウンドの音程を変えて自動的に再生速度を変えるため、サウンドパケットを使った数学や雑音が多いようです。あなたが望むスピードに戻すには、オーディオを「正常」と見なすようにしておき、公園内を歩く必要はありません。

いずれにしても、Unity3DはC#を使用しているので、このオープンソースライブラリを使用して必要なサウンド効果を得ることができます。これはNAudio(オープンソースのC#も)に基づいているため、理論的にはプロジェクト内でその部分やその一部を使用できるはずです。

+0

ない私はピッチシフトについて読んだが、アイデアは、私はとにかく、私はそのライブラリを見てみましょう、コードにそれを実装する方法を実際に知ることができないということです、ありがとう –

1

下記はsmbPitchShift.cppと呼ばれるStephan M. BernseeのCの簡単で貴重なチュートリアル機能へのリンクです。これは音楽信号の音程を上げたり下げたりすることができます。

また、音程を変えずに音楽の速度を落としたりスピードアップしたりすることもできました。元のピッチを変更せずにタイムストレッチをしたい場合は、リサンプリングを適用する必要があります。

BernseeがGitHubでリンクされたバージョンからコードにいくつかの変更を加えたように見えます。彼の新しいコードは、彼のウェブサイトからダウンロードすることができます - それは彼の元の仕様からシフトの範囲を増加させる可能性があります。彼の元のコードを微調整して、シフトを8倍上げることができました。

https://github.com/AndyA/BatPhone/blob/master/pitchshift.c

http://blogs.zynaptiq.com/bernsee/time-pitch-overview/

+0

java、しかし、私はCのコードからアルゴリズムを理解しようとする、ありがとう:D –

関連する問題