暑い夏には?
筆者の周りも遅ればせながら、夏本番となりました[1] 。強烈な直射日光を前に、部屋にこもらざるを得ない方もいるのではないでしょうか。室内でできる有意義な行為として知られていることのひとつに、シンセサイザーによる音作りがあります。夏ですし、涼し気なサウンドを合成するのも一興ではないでしょうか。きっとご近所さんも、普段はおかしな音ばかりだしているのに今日はいいわねぇ、素麺の一杯でも差し入れしようかしら、と感心してくれるに違いありません。
…というわけで、筆者の担当回はこれから数回にかけて、Ubuntuで使うことのできるソフトウェアシンセサイザーを扱っていきます。
ソフトウェアシンセサイザーとは
シンセサイザーとは、電気工学的な技法を利用して音を合成するもの一般を指します。身近な楽曲に利用されているような狭義のシンセサイザーから人間の音声合成をするもの、かたや玄関のアラームまで、幅広いシンセサイザーが開発され利用されています。かつては技術的制約から大規模な装置とならざるを得ませんでしたが、電子回路の発達によりハードウェアとしてもコンパクトなものとなり、さらにコンピューティングの発達によりソフトウェアとして手軽に利用できるものとなりました。
Ubuntuでは様々なシンセサイザーがパッケージとして利用できますが、筆者の担当回では、その中でも楽曲作成に役立ちそうなもの、すなわちMIDI音源として振る舞うものを扱っていこうと思います。そのため、ALSAシーケンサー機能を把握しておくことをお奨めします。本連載の以下の回が助けとなるでしょう。
また音声を出力するため、ALSAカーネルモジュール/ライブラリーやPulseAudioサウンドサーバー、JACKサウンドサーバーに関しても把握しておくことをお奨めします。本連載の以下の回が助けとなるでしょう。
amSynthとは
かつて一世を風靡し現在でも高い評価を維持しているMoog社のシンセサイザーですが、技術的に優れていたのは、モジュール型という構造を採用したことでした。シンセサイザーの処理プロセスを各モジュールに分離し、さまざまな種類のモジュールを組み合わせることで様々な自由度を持たせるアイディアです。このタイプは、モジュラーシンセサイザーと呼ばれています。
その後、特定の組み合わせのモジュールで構成されたシンセサイザーが発売され、高い評価を得ました。他社もそれに追随し、似たような構造を持つシンセサイザーが多数発売され、様々な音がこの世にもたらされました。こちらは狭義のアナログシンセサイザーと呼ばれています。
装置として誕生したアナログシンセサイザーを、そのモジュール構造に着目してソフトウェアとして実装したものを、アナログシンセサイザー・ソフトウェアと呼びます。Ubuntuでもさまざまなアナログシンセサイザー・ソフトウェアを使うことが出来ます。
その中でもAnalogue Modelling SYNTHesizerの名を持つamSynth は、アナログシンセサイザーの基本要素を備えていることに加え直感的な操作が可能なため、アナログシンセサイザーの基本的な使い方を身につけるにはもってこいのソフトウェアです。
amSynthを使うには、UbuntuソフトウェアセンターかSynapticパッケージマネジャーで、パッケージ「amsynth」をインストールしてください。起動するには、Unityのダッシュボードで「amsynth」を見つけて実行してください。
図1 amSynthの外観
音声の出力とMIDI入出力ポートの接続
amSynthは起動すると、音声の出力先を自動で見つけるように作られています。通常はALSAライブラリーを経由してPulseAudioサウンドサーバーに出力しますが、JACKサウンドサーバーが起動していたらそちらに出力します。
操作画面のボタン「Audition」は、よく使われる音階のド(C3)の音を出力します。もしこのボタンをクリックしても音が出ない場合は、これまでのレシピを参考にして、音声出力設定を見なおしてみてください。
図2 Ubuntuの標準状態の場合は、「 サウンドの設定」に表示されることを確認
図3 JACKサウンドサーバーの場合はPatchageが便利
MIDI出力ポートですが、デフォルトではALSAシーケンサー機能に開きます。aconnectguiやpatchageなどのソフトウェアを使い、ソフトウェア/ハードウェアMIDIキーボードやMIDIシーケンサーのMIDI出力ポートと接続することで操作できるようになります。
図4 Aconnectguiの画面
これらの音声出力とMIDI入出力の設定は、メニュー「Config」の項目「Audio & MIDI」で変更することができます。設定を変更した場合は再起動しなければ有効とならないことに注意してください。
図5 MIDI入出力や音声入力に関する設定の他、合成音のサンプル周波数に関する設定も行うことができる
音色の変更
amSynthはプリセットを切り替えることで、いろいろな音を出すことができます。標準状態だとプリセット「Derren 1」という音色が選択されていると思います。試しに、操作画面の左上のプルダウンリストから、別な音色に切り替えてみてください。
図6 標準のプリセット一覧
音色を切り替えると、操作画面にあるノブの示すパラメーターが変化し、出る音が変化したはずです。アナログシンセサイザーはこれらパラメーターを自由に調整することで、様々な音を作り出すことができるのが特徴です。
作りだした音色は、メニュー「Preset」からひとつひとつファイルにエクスポートできます。メニュー「File」からは、複数の音色をまとめてバンクとしてファイルに保存することも可能です。自分の好みの音色をバンクにしておくと、MIDIのプログラムチェンジ信号で切り替えることができ、MIDIコントローラーやMIDIシーケンサーと併用する際に便利です。
音作り
アナログシンセサイザーによる音作りは一見すると難しい操作ですが、各モジュールの役割を把握してしまえば、それほど難しくはありません。amSynthの操作画面を例にして概説してみます。
図7 操作画面上のメインプロセス部分と味付け部分の位置
amSynthが音を合成するプロセスは、画面上部にあります。オシレーター(Oscillator)で音を発生し、ローパスフィルター(Low Pass Filter)で高い周波数成分をカット、アンプリファイアー(Amplifier)で音量に時間変化を付けます。出てくる音のどんな性質に、それぞれのモジュールがどう寄与しているかということを簡単に説明すると、以下のようになります。これらモジュールの役割は他のアナログシンセサイザーもほぼ同じであるため、覚えておくと応用が効くようになるでしょう。
オシレーター
音色を決める
ローパスフィルター
音色を調整する
アンプリファイアー
音の継続時間やアタック感を調整する
オシレーターはVCO(Voltage Controlled Oscillator)とも呼ばれます。amSynthは2つのオシレーターを持ちますが、その出力をどう合わせるかを、「 Mix mode」で示される2つのモードから選択できます。「 normal」モードは2つの出力を「Oscillator Mixer」で指定した混合率で加算します。また、オシレーターシンクを有効にするための「Sync. to Osc. 1」チェックボックスも備えています。「 ring mod」モードは2つの出力を積算するリングモジュレーションを行い、単独のオシレーターでは作り出せない倍音成分を作り出すことができます。
ローパスフィルターはVCF(Voltage Controlled Filter)とも呼ばれ、特定の周波数成分以上をまるまるカットします。不要な倍音成分を削除することで音色を柔らかくする効果などがあります。amSynthのローパスフィルターはAttack、Decay、Sustain、Releaseからなるエンベロープをかぶせることで、ひとつの音に対するフィルターの掛け具合を、時間軸で微調整することができます。
アンプリファイアーはVCA(Voltage Controlled Amplifier)とも呼ばれ、エンベロープを持つ要素です。こちらは、例えば鍵盤を叩いてから音量を最大になるまでの時間を長くしたり、ひとつの音が長く鳴り続けるように調整することができます。
amSynthはさらに、このメインプロセスに対して画面下部にあるリバーブ(Reverb)やモジュレーション(Modulation) 、ディストージョン(Distortion Crunch)で味付けをすることができます。
リバーブは残響音を作り出します。
モジュレーションはLFO(Low Frequency Oscillator)とも呼ばれるオシレーターの一種です。音を出さない代わり、周期的なパラメーターの変化を作り出します。amSynthの場合はモジュレーションが発生した周期的な変化を、メインプロセスのオシレーターやフィルター、アンプリファイアーにかけ合わせることができます。例えばオシレーターに掛け合わせると音程を周期的に上下させますし、アンプリファイアーに掛け合わせると音量を周期的に上下させます。
ディストージョンはギターサウンドでお馴染みの「歪み」の効果を加えます。
はじめのうちはどこをどうしたらいいのかわからないと思いますので、一つづつ効果を確認していくとよいでしょう。JACKサウンドサーバーが提供する環境に慣れている人であれば、パッケージ名「jamin」でインストールできる周波数スペクトル解析ソフトウェアのJAMin を併用すると、それぞれのパラメーターの効果が視覚的に確認できて便利かと思います。
図8 JAMinを使うと倍音成分の可視化が可能となり、ローパスフィルターの効果などが一目瞭然となる
MIDIアサイン
パラメーターをいちいちマウス操作で調整するのが億劫な人のために、amSynthには各パラメーターへのMIDIアサイン機能が備わっています。筆者はこの機能を使い、USB接続のハードウェアMIDIコントローラーRoland/Edirol PCR-M30 を使って操作しています。
さて、MIDIアサインをするには、メニュー「Config」から「MIDI Controllers」を選択します。MIDIコントローラー上でアサインしたいパーツを動かすと、その信号が自動的に認識されて表示されます。プルダウンリスト「amSynth control」から、割り振りたいパラメーターを選択してください。なお、必ずしも操作画面の表示名とリストの表示名が一致しているわけではありませんので、注意してください。
図9 MIDIアサイン。図ではハードウェアMIDIコントローラーの17番のコントロールチェンジでオシレーター2のパルス幅を調整できるようにしている
ハードウェアMIDIコントローラーを使うに当たりその対応状況が心配なところですが、USBにはMIDIに関するドライバー規格も盛り込まれていて、ALSAカーネルモジュールはその規格に対応していることから、たいていの製品はUbuntuでも使用可能なはずです。
また、MIDIシーケンサーでこういったパラメーターを変更するパターンを組んでおくと、動的に音色を変えていくという使い方も可能となります。
amSynthはアナログシンセサイザーの基本要素をまんべんなく含んでいるため、慣れれば本物のアナログシンセサイザーも扱えるようになるでしょう。筆者の次回の担当回では、MinimoogやProphet5といった、ビンテージもののアナログシンセサイザーを再現したソフトウェア・シンセサイザーを紹介しようと思います。