調和純正律で遊ぼう ~第11回【発展編】調和純正律サウンドフォントの制作過程

 竹下氏が開発した音律「調和純正律」を電子音楽で演奏する方法について、発展的な内容を解説しています。
 前回は、調和純正律の演奏にサウンドフォントという方法を選んだ理由を説明するため、電子音楽で音律を変える様々な方法を紹介しました。今回は、実際に調和純正律サウンドフォントを作る過程を紹介します。
 ただ、実際はこれを、どなたも再現できるように丁寧に解説すると、記事が何回分にもなってしまいます。そして、解説をしたところで、これを行うメリットのある人は極めて限られます。
 そのため、あくまで過程とポイントの紹介にとどめます。実際にサウンドフォントを作ろうとされる方は、他のサイト等で知識や方法を調べて行ってください。
(るぱぱ)
————————————————————————

第11回 【発展編】調和純正律サウンドフォントの制作過程


大まかな流れ


調和純正律サウンドフォントを作る流れは、次の通りです。

  1. 元になる音声データを用意する
  2. 音の周波数を解析する
  3. 各音の周波数と調和純正律の周波数との間のセント値(音程)を得る
  4. 各音の音高を変える
  5. サウンドフォントファイルを作成する

一言でいえば、素材となる音の高さを、調和純正律の音の高さに変えた上で、それをサウンドフォントという形式に落とし込みます

以下、流れに沿って紹介していきます。


必要なソフトウェアの用意



まず1.の前に、本記事で制作に用いているソフトウェアをまとめておきます。
Excel以外はいずれも、ありがたいことに無料です。



1. 元になる音声データを用意する


まずは、元になる音声データを用意します。これには幾つかの方法があります。

方法A. 配布されているサウンドフォントから取り出す

すでにあちこちで無料で配布されているサウンドフォントから音を取り出す方法です。これは最も手軽な方法です。シャンティ・フーラで配布している調和純正律ピアノサウンドフォントも、Keppy's Steinway Pianoというサウンドフォントに収録された音を使って制作しました。

あちこちで配布されている「SFZ形式」と呼ばれるサウンドフォントには、実際の楽器の、低音から高音までを同じ様に鳴らした音が、次のように音声ファイルの形が入っています。

Upright Piano KW
SFZサウンドフォントファイルの中身
C1vH.flac は音名 C1 の強めの音(vH = velocity high)を意味する


なお、サウンドフォントには「SF2」という形式もあります。この場合は、Polyphoneというソフトウェアの "Wav export" という機能を使うと、上のような音声ファイル群を取り出せます。

方法B. 自分で録音する

マイクを使い、自分で楽器の音を録音する方法です。楽器といっても、例えば水を入れたグラスを叩くのでも構いません。



この方法には面白い可能性があり、誰がどのように叩くか次第で、特定のドーシャを誘導する音などを作ることもできるようです。

この方法は、先の手軽なサウンドフォントを用いる方法に比べて、次の欠点があります。

  • 録音の手間がかかる。
  • 良い音を録るには、良い機材と録音環境が必要になる。
  • どの音も同じ様に録らないといけない。
  • リアルな音にこだわるのであれば、沢山の音を録音しないといけない。(あまりこだわらないのであれば、1オクターヴごとに1つの音で十分。)

方法C. シンセサイザーで音を作る

楽器の音を録音するだけでなく、シンセサイザーで電子的に音を作る方法もあります。例えば、「チャクラに作用する和音」の動画は、音叉の様な音を求めていたので、この方法で作りました。

LMMS上で動作するZynAddSubFxというシンセサイザーで
音叉のような音を作っている様子


ヒーリングではよく音叉が使われています。音叉は楽器と違って、倍音や余計な周波数が混じらないので、特定の周波数をクライアントに聞かせたい場合にはいいのでしょうね。ソルフェジオ周波数は使わないでほしいところですが…。


2. 音の周波数を解析する


次は、入手した音の周波数を解析します。前回説明したとおり、例えば、サウンドフォントにA4の音が収録されている、あるいはシンセサイザーにA4の音を出させたとしても、その周波数が本当に440Hzなのかどうかは、調べてみないとわかりません。他の音も同様です。

これを手軽に行う場合は、Audacityというソフトの「周波数解析」(あるいは「スペクトラム表示」)機能を用います。

AudacityでA4の音の周波数を解析している様子
Audacity上ではグラフしか表示されないので細かく見れないが、
「書き出し」で詳細な情報を見ると、
440.08...Hz がこの周辺で最も強い(-26.4dB)ことがわかる


音質の良い調和純正律サウンドフォントを作るには、大量の音ファイルを解析する必要があります。さすがに一つ一つ手作業で解析するのは大変ですので、私は一度に多くの音を解析するプログラムを自作しました。

G4, A4, B4の周波数を一度に解析している様子


ただ、あまり音質にこだわらず、元の音データを1オクターヴごとに1つ程度しか用意しないのであれば、十分Audacityによる手作業で済みます。

周波数の解析については色々と注意点があります。これは次回、詳しく説明します。


3. 各音の周波数と調和純正律の周波数との間のセント値(音程)を得る


これは、次に控える「4. 各音の音高を変える」のための準備の計算です。

セント値(音程)とは

音の高さを、調和純正律の音の高さに変えるには、周波数の比率( 調和純正律の周波数 ÷ 元の音の周波数 )が必要です。この比率は別の言い方をすれば、音の高さ同士の距離で、「音程」といわれるもののことに同じです。

この、音程をあらわす数字をわかりやすくしたもので、音楽の世界でよく使われている単位を「セント」といいます。

セントの例を挙げてみます。音名C4(中央ド)の周波数は平均律では 261.6 Hz です。この音と、1つ下のB4から1オクターヴ上のC5までの各音との間の音程を、セントで表してみましょう。

比較対象の音名 
音名の周波数(x) 
セント値 ( 1200*log2(x/261.6) を少数部丸め)  
B3 246.9 Hz -100 セント
C4 261.6 Hz 0 セント
D4 293.7 Hz 200 セント
E4 329.6 Hz 400 セント
F4 349.2 Hz 500 セント
G4 392 Hz 700 セント
A4 440 Hz 900 セント
B4 493.9 Hz 1100 セント
C5 523.3 Hz 1200 セント

ご覧の通り、セントという単位を使うと、平均律では1半音ごとに±100という非常に切りの良い数字で、音の高さの距離を表すことができます。便利ですね。

セント値の計算

セント値の計算は、Excelのような表計算ソフトを使うと簡単に行えます。変換に役立つExcelスプレッドシートを作りましたので、こちらからご利用ください


シートには、次の画像の様な表が含まれています。

音高変換表の内容


この表に、オレンジ色である、

・d.列(変換元の「音声ファイル名」)には、元になる音声データのファイル名
・e.列(変換元の「周波数(Hz)」)には、先の手順で解析したそのファイルの周波数

を入力すると、調和純正律の周波数(g.列の値)へと音高を変えるためのセント値を、 h.列(「変換セント値」)に自動的に計算してくれます。


4. 各音の音高を変える


セント値の計算ができたら、音声データの音高を変えます。

これもAudacityを使うと手作業で可能なのですが、音の数が多いと大変な作業になります。そこで、SoXと呼ばれる、コマンドラインツールを使用します。

soxの使用例


上の画面はsoxに、音声データ C2.wav の音高を 1.234 セント上げた音声を、 hpi-36-C2.wav というファイルに書き出すように指示している様子です。パソコンに興味の薄い方にとっては砂漠の様に感じる画面かもしれませんが、よく考えた文字を1行打ち込めば1回の処理をこなしてくれるわけで、大量のデータを一度に処理するには実に便利なものです。

soxのインストール方法や基本的な使い方は、「sox windows 使い方」で検索などしてください。

先のセント値の計算に用いたExcelスプレッドシートには、一番右側の列に、必要なsoxコマンドも自動的に出てくるようになっています。

先に紹介したスプレッドシートのi列「soxコマンド」


これらのsoxコマンドをコマンドプロンプト(注:Windowsの場合)に貼り付けて実行すれば、音高の変換は一発で完了です。

音高を変換した結果出来上がる音声ファイル群
(ここではWAV形式よりも圧縮率の良いFLAC形式を使用)



5. サウンドフォントファイルを作成する


最後は出来上がった音声ファイル群をサウンドフォントファイル(拡張子が「.sf2」のファイル)にします。これには、Polyphoneというソフトを使います。使い方は、「polyphone サウンドフォント 作成」で検索して出てくる記事を参考にしてください。

Polyphoneの画面


サウンドフォントは、次の3層構造になっています。1.から3.の順に、サウンドフォントのデータを完成させていくこととなります。

  1. Sample (音声データ)
  2. Instrument (各Sampleと音名を紐つけて、各種の調整を行ったもの)
  3. Preset (Instrumentを組み込んだ、1つの楽器に相当するもの)

Sample の登録

まず、先の出来上がった音声ファイル群を、 Polyphone に Sample として登録します。

Sampleを登録した状態


Instrument の作成

次に、 Instrument を作ります。

Instrumentの作成画面


ここでの、最低限のポイントは次の通りです。

  • すべての音につき、 Key Range と Root key に、出来上がった音声ファイル群のMIDIノート番号を入力する。
  • 鍵盤を離したときの音切れが自然になるように、Global列(共通設定列)の、リリースの秒数(Vol env release)を設定する。

なお、 Key Range と Root key は1音ずつ入力する必要はありません。このPolyphoneの良いところは、表計算ソフトなどから、このInstrumentsの画面の表に、貼り付けができるところです。

ただ、表計算ソフトを用いても、ステレオ(1音につき2つの番号が必要)の場合が面倒です。そのため、次のツールをご利用ください。貼り付け用のテキストを入手できます。

クリックするとツールが開きます


Preset の作成

最後に Preset を作り、サウンドフォントファイルを保存すれば完成です。

Presetを作成した状態


Presetでは、 Key range(対応する音のMIDIノート番号の範囲)がきちんと設定されているようにするということ以外は、特に留意する箇所はありません。


東洋医学セミナーの中級2巻「サウンドテラピー」を受講された方で、より様々な楽器で調和純正律の演奏を楽しみたい方や、ヒーリングに応用したい方。ぜひ本記事を参考に、調和純正律サウンドフォントを作ってみてください。

次回は、周波数の解析について詳しく掘り下げます。


この記事は、シャンティ・フーラによる執筆記事です。音楽の分野に詳しい方におかれましては、もし間違いや説明上改善すべき点などがありましたら、ご指摘やご意見をいただければ幸甚です。ぜひ、こちらのコメント欄にフィードバックをお寄せください。



Comments are closed.