![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
音程とテンポを独立して変化させるアルゴリズム
SoundEngineの機能なのですが
http://soundengine.jp/wordpress/tips/tutorial/539/
テンポを変えずに音程(ピッチ)の変更(キー調整)
http://soundengine.jp/wordpress/tips/tutorial/543/
音程を変えずに時間伸縮(速度変更)
これってどういう原理で変換しているのでしょうか?
単に周波数を変えると音程も変わるはずですが
どちらかだけを変換するアルゴリズムを教えてください。
No.2ベストアンサー
- 回答日時:
たとえばwikipediaにも簡単な説明があります。
http://ja.wikipedia.org/wiki/%E3%82%BF%E3%82%A4% …
大きく分けて、周波数領域で処理する方法と、時間領域で処理する方法があります。
最近は時間領域での処理を採用するソフトが多いか。(計算量は多くなりがちだけと、質が良い波形を作りやすいので)
時間領域での処理は、単純にいえば、例えば、音程を変えずに時間を長くしたければ、元の波形を適当に細かく切り刻んで、コピペしたものを間に挿入して、無理やり時間を伸ばします。
このときに、波形をどのように切り刻むか、とか、元の波形とコピペしたものとの繋ぎ目をいかに自然にするか、とかがノウハウということになります。
まあ、人間の耳ってけっこういい加減なんで、波形で見るとタイムストレッチ処理したことが一目瞭然みたいな変な波形でも、人間の耳ではそれなりに聞こえたりはします。とはいっても自然な波形ができれはやはりそれに越したことはありませんが。
No.1
- 回答日時:
確かに波形そのものを記録している磁気テープやレコードのような媒体であれば音程(周波数)の変更は再生速度の伸縮しかありません。
すなわちこの場合は音程の変更とテンポの変更は不可分です。しかし、デジタル処理により演奏を「○○の音程の音が△△のタイミングで××ミリ秒流れる」というデータの集合に変換することが可能です。
上記の処理が終わったならば「○○の音程の音」(周波数)と「△△のタイミングで××ミリ秒」(演奏速度)を個別に編集することが可能になり、その編集後のデータをもとの波形に戻すことでどちらかを変えずにもう一方を変更した音声データが得られます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLの速度をあげるには・・・
-
小数点を含む数値かどうか判断...
-
Excelでのセル内容の高速消去方法
-
C#で書かれたプログラムをバッ...
-
ノットイコールを教えて下さい
-
絶対パスの取得について
-
Excel VBAにて、2GB超の点群デ...
-
C言語で、文字とか入力されなく...
-
再帰処理を用いて階乗を求める...
-
テキストファイルの空行をスキ...
-
ペンティアムとセレロン
-
VBでパスワード認証
-
落ち物ゲームを製作しています...
-
テキスト処理の速度の速い言語
-
このプログラミングの問題がい...
-
あっち向いてホイのプログラム...
-
ゲームプログラミングの乱数で...
-
Macターミナルで実行中のプログ...
-
バックグラウンドのプロセスの...
-
緯度、経度の 10進法と 60進法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでのセル内容の高速消去方法
-
DoEvents関数って何?
-
小数点を含む数値かどうか判断...
-
win10で、正確な待ち時間の作り方
-
絶対パスの取得について
-
SQLの速度をあげるには・・・
-
VBでの簡易電卓の作成(減算方...
-
基本情報技術者試験詳しい方へ...
-
C言語 時刻差分の算出方法
-
テキストファイルの空行をスキ...
-
ノットイコールを教えて下さい
-
ナップザック問題?をエクセル...
-
プログラム上のCPU稼働率低減に...
-
If Not c Is Nothing Then ~延...
-
エクセルVBA 時間抜けの取得
-
「単体テスト」に関する深刻な...
-
実行時のCPU使用率を増やしたい
-
ソートにかかった時間を測りたい。
-
C言語:関数を使うメリットとデ...
-
Excel VBA での処理時間計測結...
おすすめ情報