ピッチとフォルマントの設定に用いられる単位
「恋声」をはじめとするボイスチェンジャーアプリの多くには、ピッチとフォルマントの設定に「%」が用いられています。
この%は周波数の変化分を表しており、100%なら入力と出力の周波数が同じ、つまり入力された音声がそのまま出力されていることになります。(実際にはアルゴリズムを通るため音質が劣化しますが)
200%なら2倍の周波数、つまり1オクターブ上、50%なら周波数が半分の1オクターブ下にシフトさせた出力になります。
「恋声」では、%の右隣の( )の中にもう一種類の数値が掲載されています。単位のないこの数値は音程を表しています。
%で示される周波数と( )の数値で示される音程との間には複雑な関係があります。複数のアプリを使う場合など、その違いを認識していないと調整ミスが発生する場合があります。
以下、「恋声」を例に、周波数と音程の関係について簡単に説明いたします。
オクターブ計算に用いられる係数
アプリで指定できる数値をよく見てもらえればわかるのですが、例えば恋声のピッチかフォルマントの設定用スライダーを動かすと%の数値は飛び飛びの値を示します。
100%の次は103%、その次は106%と1%刻みでも2%刻みでもありません。では3%刻みかというと、112%の次は116%と突然4%で刻み始めます。
それに対して、( )内の音程の数値は、0.5刻みで変化します。
一見すると%で示される周波数がメインに見えますが、実は( )内の音程が基準であり、周波数は音程を換算した数値なのです。
この音程と周波数の間には、ある係数が用いられています。
「恋声」の場合、0.5刻みで変化させていますが、ちょっと細かすぎるので、1.0刻みで考えたいと思います。1.0刻みに着目した場合、この係数は約1.059になります。
ある係数の正体
ある係数=約1.059は、「2の12乗根」がその正体です。関数電卓でも求められますし、ExcelのPower関数に以下のように入力することでも求められます。
音程→周波数換算
では、周波数100(%)をスタート点として、約1.059で掛け算と割り算をしてみます。以下のExcelの表のE列が掛け算で、F列が割り算を示しています。
E列のスタート周波数を100とします。一つ上の音程を+1とした場合、周波数は 100 X 1.059 = 約106 となります。2つ上の音程+2は、周波数 106 X 1.059 = 約112 となります。
そして、周波数100に約1.059を12回掛けた 12上の音程+12はちょうど周波数200になります。200は100の2倍の周波数ということになるので、100に対して1オクターブ上の音程になります。つまり音程 +12=1オクターブ上ということになります。
F列は逆に約1.059で割り続け、12回繰り返したところで周波数は半分の50となり、音程は1オクターブ下になります。つまり12個下の音程 -12=1オクターブ下ということになります。
音程
1オクターブの間には11個の数字が並んでいます。最初と最後の数字を含めると13個になります。
これは、ピアノの鍵盤(白鍵、黒鍵共)の位置に相当します。例えばドを基準点の0とするとド=0、ド#=+1、レ=+2となり、1オクターブ上、つまり基準のドから12個右の位置にある鍵盤はド=+12となります。
各音程と周波数の変化(%)との関係を鍵盤で表した模式図を以下に示します。
単位が問題になる場合とは
「恋声」の%で示された周波数から音程を求めたり、音程から周波数を求めるには、かなり面倒な計算が必要になります。
実際にひとつのアプリを使う場合は、数値にこだわる必要はあまりなく、感覚的に操作すればいいでしょう。
問題になるのは、他のアプリを併用したり、比較したりする場合です。これらの関係を認識していないと、全く異なる調整値で比較してしまいかねません。
別の記事で、いくつかのボイスチェンジャーを比較していますが、こうした試みを行う場合には注意が必要です。