Ubuntu Weekly Recipe

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

この記事を読むのに必要な時間:およそ 2.5 分

本連載の第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++は,このサウンドフォントを使うことのできるシンセサイザーでもあります。

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

注1
2007年にはE-MU社でエンジニアとして働いていたTimothy Swartz氏が発起人となりDigital Sound Factory社を設立。E-MU社とEnsoniq社の製品のリマスター権を買い取った上で権利関係フリーの音源として公開しているほか,独自にサンプリングした高品質なサウンドフォントは,Cakewalk社やDigidesign社,Presonus社,Yamaha社のソフトウェアの標準の音源として採用されています。この他にも,有志が作成したサウンドフォントがWWW上に公開されているなど,音源の入手は比較的容易です。

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シーケンサー機能を利用する方が便利

注2
項目「Audio Driver」「alsa」を指定すると,ALSAの設けるPCMデバイスに対して音声を出力するようになります。Ubuntuの標準状態では,PCMデバイスのデフォルトはPulseAudioとなっているため,項目「Audio Device」でPCMデバイスを正確に指定しない限りは,PulseAudioに音声を出力します。このあたりに関しては,本連載の第177回を参照して下さい。
注3
項目「MIDI Driver」では「alsa_raw」も選択することができますが,これは,ALSAシーケンサー機能が提供する仕組みを利用せずに,ALSAカーネルモジュールをドライバーとしてダイレクトにMIDIデバイスにアクセスします。この場合,ALSAシーケンサー機能が提供するポート接続方法を利用出来なくなる点に注意して下さい。

著者プロフィール

坂本貴史(さかもとたかし)

Ubuntuのマルチメディア編集環境であるUbuntu Studioのユーザ。主にUbuntu日本コミュニティとUbuntu Studioコミュニティで活動。いつかユーザ同士で合作するのが夢。

コメント

コメントの記入