4

ピッチとは「知覚される周波数」を意味します。良い。しかし、OpenAL でピッチを非常に低くすると、サウンドが何倍も長く再生されます。非常に高くすると、音は非常に短く再生されますが、周波数が高くなります。私にとって、論理的には、遅くしたり速くしたりすることの結果です。

それともピッチ!=スピード?

4

3 に答える 3

3

Paul R にはかなり良い答えがありますが、少し詳しく説明したいと思います。サウンドを一連のパルスと考えると (実際はそうです)、ピッチが高いほど 1 秒あたりのパルス数が多くなり (周波数が高くなり)、ピッチが低くなるとパルス数が少なくなります (周波数が低くなります)。既存のサウンドのピッチを下げるには、これらのパルスを広げなければなりません (互いにさらに離します)。その結果、パルスの数を減らしていないため、サウンドの持続時間が長くなります。パルスをさらに離しただけです (1 秒あたりの数が少なくなりました)。ピッチを上げようとすると、逆のことが起こります。つまり、パルスが互いに接近するため、サウンドの持続時間が短くなります。

記録されたピッチの変更に関係なく持続時間を一定に保ちたい場合は、情報を捨てる (低いピッチ) か、情報を製造する (高いピッチ) 必要があります。ここで高度な処理が必要になります。何を安全に破棄できるのでしょうか? 安全に複製または構築できるものは何ですか?

于 2010-05-05T18:38:14.080 に答える
2

サンプルを再生するレートを変更するだけでよいのでpitch、組み合わせて変更するのは比較的簡単です。rateサンプルを意図した半分の速度で再生すると、ピッチが半分になり、音は半分の速度で出てきます (テープ デッキが間違った速度で動作していると考えてください)。逆にサンプルを意図したよりも速く再生すると、ピッチが上がり、すべてが速くなります。

独自に変更することはできますがpitchrateこれを行うには、通常、何らかの分析および再合成アルゴリズム (音声の PSOLA など) を使用して、より多くの処理が必要になります。

于 2010-05-05T17:54:10.140 に答える
0

OpenAL で記述しているアルゴリズムを使用すると、ピッチ = f(速度)、速度 = f'(ピッチ) となります。

これらのパラメータは、別のアルゴリズムを使用して多少独立して変更することができます。これを行うためのさまざまなアルゴリズムがあります。

問題のアルゴリズムは、周波数ドメイン (ボコーダー、周波数ドメイン畳み込み) または時間ドメイン (PSOLA、WSOLA、拡張 WSOLA)、または同時に両方 (過渡セクションと音色セクションのボコーダー方法)。

于 2015-09-20T19:32:29.460 に答える