Ubuntu Weekly Recipe

第191回サンプル音源シンセサイザーを使う:サウンドフォント編

本連載の第189回では、実在のシンセサイザーをいくつか紹介しました。これらは音声合成のためのモジュールを複数組み合わせて好みの音を出します。しかし、これとは別なアプローチで開発されたシンセサイザーがあります。それがサンプル音源シンセサイザーです。

サンプル音源シンセサイザーとは

サンプル音源シンセサイザーの源流は、サンプラーと呼ばれるシステムです。

サンプラーとは現実の音を録音して保存しておき、それに効果を付け、タイミングよく組み合わせることで音楽を作り出すシステムです。黎明期は磁気テープをメディアとして利用していたため、巨大で高価なシステムとなることが不可避でした。

しかし、時代が下って記憶装置の技術が進歩していくと、メディアとしてメモリーを活用するようになっていきます。そして1990年以降の大容量メモリーの普及により、メディアがよりコンパクトに、より使い勝手がよいものとなり、それに伴ってサンプラーはとても強力なシステムとなっていきました。

このサンプラーのアイディアをシンセサイザーに利用したものが、サンプル音源シンセサイザーです。これは、すでに広く使われている楽器の出す音を録音して最利用可能なデジタルデータとし、それに対して処理をかけ、MIDI信号をキューとして発音するシンセサイザーです。サンプル音源のセットを入れ替えることで、様々な音色に対応することができます。このような入れ替え可能なサンプル音源のセットを、⁠ライブラリー」と呼んだりします。

サウンドフォントとは

サウンドフォントとは、サンプル音源ライブラリーのフォーマットの一種です。1993年にE-MU Systems社が開発しました。同年、E-MU Systems社はCreative Technology社の子会社となり、1998年には更に買収されたEnsoniq社と統合されました。しかしサウンドフォントに関する開発はE-MU名義で継続されています。サウンドフォントは仕様が公開されておりCreative Technology社やE-MU Systems社のみならず、他社の多くのソフトウェアでも標準で使うことができます[1]⁠。

実は本連載の第149回第150回でご紹介したtimidity++は、このサウンドフォントを使うことのできるシンセサイザーでもあります。

こういったサウンドフォントを使うシンセサイザーは、アナログシンセサイザーのようにパラメーターを調整して音を作ることができない代わりに、サウンドフォントデータを差し替えることで様々な音色を手軽に扱うことができるという利点があります。

Qsynthとは

Qsynthはtimidity++とほぼ同じ機能を持ちますが、画面操作により詳細な設定が可能な点で使い勝手がよいソフトウェアシンセサイザーです。

図1 QSynthの操作画面
図1 QSynthの操作画面

Qsynthを使うには、パッケージ「qsynth」をインストールします。依存関係で、バックエンドとして動く「fluidsynth」やJACKサウンドサーバー、timidity++の回でも利用したパッケージ「fluid-soundfont-gm」をインストールします。

Qsynthを起動するには、Unityのダッシュボード、あるいは端末上で「qsynth」を実行してください。

音声出力とMIDI入力の設定

本連載ではおなじみ、まずは音声出力とMIDI入出力を確認してみたいと思います。Qsynthの操作画面で、ボタン「Setup」をクリックして設定ウィンドウを開いてみて下さい。

図2 QSynthの音声出力設定画面
図2 QSynthの音声出力設定画面

まず、タブ「Audio」で音声出力を設定してみましょう。Ubuntuの標準状態、すなわちPulseAudioサウンドサーバーを音声出力先として利用する場合、項目「Audio Driver」「pulseaudio」あるいは「alsa」を指定しておくと間違いないでしょう[2]⁠。対して、JACKサウンドサーバーを併用したいユーザーは「jack」を選択して下さい。

図3 pulseaudioもしくはalsaを選択した場合、⁠サウンドの設定」のタブ「アプリケーション」で、PulseAudioに音声出力ポートを開いたことを確認できる
図3 pulseaudioもしくはalsaを選択した場合、「サウンドの設定」のタブ「アプリケーション」で、PulseAudioに音声出力ポートを開いたことを確認できる
図4 jackを選択した場合、Patchageなどのソフトウェアを使うことでポートを自由に接続することができる。また、この図では後述するMIDIポートの接続例も示している
図4 jackを選択した場合、Patchageなどのソフトウェアを使うことでポートを自由に接続することができる。また、この図では後述するMIDIポートの接続例も示している

次に、タブ「MIDI」でMIDI入力ポートを設定してみましょう。

図5 QSynthのMIDI入力設定画面
図5 QSynthのMIDI入力設定画面

項目「MIDI Driver」ではポートを開くサブシステムを選択します。ALSAシーケンサー機能にポートを開く場合は「alsa_seq」[3]⁠、JACKシーケンサー機能にポートを開く場合は「jack」を指定して下さい。

図6 alsa_seqでALSAシーケンサー機能を選択した場合、acconectguiなどでMIDIポートを自由に接続することができる。jackを選択した場合はPatchageなどのソフトウェアでポート接続ができるが、ALSAシーケンサー機能を利用する方が便利
図6 alsa_seqでALSAシーケンサー機能を選択した場合、acconectguiなどでMIDIポートを自由に接続することができる。jackを選択した場合はPatchageなどのソフトウェアでポート接続ができるが、ALSAシーケンサー機能を利用する方が便利

サウンドフォントファイルの読み込み

起動したてQsynthはサウンドフォントファイルを読み込んでいないため、そのままでは音を出すことができません。そこで、設定ウィンドウのタブ「SoundFonts」で、読み込むサウンドフォントを追加します。

図7 タブ「Soundfonts」でサウンドフォントファイルを追加
図7 タブ「Soundfonts」でサウンドフォントファイルを追加

この図では、サウンドフォントファイル「/usr/share/sounds/sf2/FluidR3_GM.sf2」を読み込んでいます。このファイルは、qsynthをインストールした際にパッケージの依存関係でインストールされる「fluid-soundfont-gm」に含まれています。同様の操作でお好みで他のサウンドフォントファイルを登録し、いろいろな音色を使うことが可能です。

サウンドフォントファイルを読み込んだら、すべての準備完了です。MIDIのノート信号を受信すると、音声を出力するようになります。

Fluidsynthバックエンド

Qsynthの後ろではfluidsynthというソフトウェアが働いています。Qsynthは画面からこのfluidsynthを操作するためのソフトウェアと考えて下さい。

実はこのfluidsynth、本連載ではすでに数回登場しています。第176回では、このfluidsynthをDSSIのプラグイン音源として使うことのできるパッケージ「fluidsynth-dssi」を扱いました。

図8 fluidsynth-dssiをスタンドアローンで起動した画面。本連載の第189回で紹介したjack-dssi-hostを併用することでDAWなしでも利用可能
図8 fluidsynth-dssiをスタンドアローンで起動した画面。本連載の第189回で紹介したjack-dssi-hostを併用することでDAWなしでも利用可能

この他にも本連載の第150回で扱った音楽プレイヤーAudaciousのAMIDIプラグインは、バックエンドにfluidsynthを指定してサウンドフォントを利用することで、外部のMIDI音源を使わずに演奏することもできます。

図9 AudaciousのAMIDIプラグインのfluidsynthバックエンド設定画面
図9 AudaciousのAMIDIプラグインのfluidsynthバックエンド設定画面

他にも、楽譜エディタソフトウェアである「MuseScore」「Denemo⁠⁠、マルチメディアプレイヤーであるVLCのプラグインなどでも、fluidsynthを利用することが出来ます。いずれのソフトウェアも、サウンドフォントファイルを読み込んでMIDIファイルを再生すると、音声として出力することができます。

サウンドフォントエディター Swami

サウンドフォントのフォーマットで作成されたファイルの内容を確認したり編集したり、あるいは新規に作成することができるソフトウェアが開発されています。

Swami(Sampled Waveforms And Musical Instruments)は現在、サウンドフォントファイルにターゲットを絞って開発されているサンプル音源エディターです。Linuxはもとより、WindowsやMacOS Xでも使うことができます。

図10 Swamiでサウンドフォントを読み込み、収録されているサンプルとその設定を表示した画面
図10 Swamiでサウンドフォントを読み込み、収録されているサンプルとその設定を表示した画面

Ubuntuではパッケージ「swami」でインストールすることができます。筆者はサウンドフォントを作ったり編集した経験はありませんので、紹介するだけに留めておきます。


今回はサンプル音源シンセサイザーのうち、サウンドフォントを扱うソフトウェアに焦点を当ててみました。次回は、別なライブラリーフォーマットであるGIGサンプルを使うソフトウェアシンセサイザーを紹介します。

おすすめ記事

記事・ニュース一覧