Ubuntu Weekly Recipe

第248回DAWソフトウェアRenoiseを利用して歌声合成する

今回はRenoiseというDAWフトウェアの基本的な使い方のレシピと、Renoise日本コミュニティの面白い試みである「バーチャルシンガー - Renoid」を紹介します。

Renoiseとは

Renoiseはrenoise.comで開発されている、強力なサンプラー機能を持つデジタルオーディオワークステーション(DAW)ソフトウェアです。クロスプラットフォームに開発されており、WindowsやOS Xはもちろんのこと、Linuxもサポートしています。

サンプラーとは本連載の第191回で簡単に紹介したとおり、現実の音を録音して保存しておき、それに効果をつけ、タイミングよく組み合わせることで音楽を作り出すシステムのことです。Renoiseはこのサンプラーの諸機能に加え、オーディオやMIDIのシーケンスを扱う機能、各種プラグインのホスト機能、外部ソフトウェアとの同期機能などを備えており、デジタルオーディオワークステーションとしても優れています。

Renoiseには日本コミュニティがあり、日本語訳されたマニュアルや、サポートフォーラムを利用することができます。

Renoiseのライセンス

Renoiseはオープンソースソフトウェアではないため、ライセンスを購入する必要があります。ひとまず試してみたいユーザーのために機能制限版のバイナリーが提供されていますので、今回は機能制限版できることのみを紹介します。

インストール方法

それではインストールしてみましょう。インストーラーのダウンロードにウェブブラウザを、インストーラーの実行に端末を利用します。

まずウェブブラウザを開き、Renoise公式ウェブサイトのDemo Downloadsへアクセスし、インストーラーをダウンロードします。この際、Linux用のものを選択し、お使いのUbuntuのアーキテクチャーに合わせて32bitか64bitのどちらかを選択してください。また、これ以降の端末での操作に備えて、インストーラーの保存先を覚えておきましょう。なお、今回筆者は32bit版Ubuntuを使いましたので、以降では執筆時点の最新のバージョンである2.8.1の32bitのデモ版を利用するものとして話を進めます。

次に端末を開きます。UnityのDashを起動し、キーワード「端末」を検索して起動します。

端末を開いたら、インストーラーを保存したディレクトリに移動します。例えばFirefoxはデフォルトの設定だと、ダウンロードしたファイルをユーザーの「ダウンロード」ディレクトリに保存します。このディレクトリに移動するには次のようにします。

$ cd ~/ダウンロード/

なお、⁠~」はログインユーザーのホームディレクトリを意味します。インストーラーがあるかどうかを、次のコマンドを実行して確認してください。

$ ls
...
Renoise_2_8_1_Demo_x86.tar.bz2
...

インストーラーはbzip2により圧縮されたアーカイブとなっています。展開するには次のコマンドを実行します。

$ tar jxf Renoise_2_8_1_Demo_x86.tar.bz2

展開されたディレクトリに移動します。

$ cd Renoise_2_8_1_Demo_x86

インストールするには、install.shを管理者権限で実行します。

$ sudo /bin/sh install.sh

これでRenoise自体のインストールは完了です。UnityのDashでキーワード「renoise」を検索することができるようになります。

図1 UnityのDashで検索
図1 UnityのDashで検索

なお、このディレクトリにはアンインストーラーも含まれています。Renoiseをアンインストールしたい場合は、uninstall.shを管理者権限で実行してください。

$ sudo /bin/sh uninstall.sh

ディレクトリには、READMEやQuickstart-Tutorial.pdfなど、参考になる情報が含まれています。困ったときは参照するとよいでしょう。

インストールすべきパッケージ

こうしてインストールしたRenoiseですが、必要なパッケージが足りていません。そこで、Ubuntuソフトウェアセンターを使ってインストールしましょう。

まずは「qjackctl」をインストールし、JACKサウンドサーバーの実行環境を整えます。というのもRenoiseは、Ubuntu標準のPulseAudioサウンドサーバーと併用できず、JACKサウンドサーバーを併用するか、もしくはALSAをダイレクトに利用しなければならないためです。そして、JACKサーバーを併用したほうが、他のソフトウェアと連携できて使い勝手がよくなります。このあたりについては本連載の第177回が参考になるでしょう。

図2 Ubuntuソフトウェアセンターでqjackctlをインストール
図2 Ubuntuソフトウェアセンターでqjackctlをインストール

Renoiseの使用にはJACKサウンドサーバーの実行環境が整えば十分ですが、より便利に使うためにプラグインパッケージをインストールしておきましょう。本連載の第199回を参考にしてください。なお、Renoiseは起動時に全プラグインのスキャンを行うため、多くのプラグインパッケージをインストールしていると実行から開始までそれなりに時間がかかる点に注意してください。

基本的な使い方

では、Renoiseを起動してみましょう。まずUnityでqjackctlを起動し、JACKサウンドーサーバーを開始してください。手順に関しては本連載の第161回が参考になるでしょう。第161回のレシピはFirewire接続のサウンドデバイスを使う前提ですが、それ以外のサウンドデバイスももちろん使用可能です。この場合、項目「Driver」「alsa」を、項目「Interface」で任意のデバイスを指定してください。

図3 qjackctlの設定ウィンドウ。Firewire接続のものでなければこのようにして選択肢を表示できる
図3 qjackctlの設定ウィンドウ。Firewire接続のものでなければこのようにして選択肢を表示できる

JACKサウンドサーバーを開始したら、RenoiseをUnityのDashから起動してください。起動したらまず、デフォルトで収録されているデモ曲を聞いてみましょう。収録されているデモソングの一覧がウィンドウ上のDisk Browserに表示されていますので、適当なものをクリックして読み込んでください。今回は「DemoSong - BeatSlaughter vs Tenda - Psydrums.xrns」を読み込みました。

図4 デモを読み込んだウィンドウ
図4 デモを読み込んだウィンドウ

デモソングを読み込むと、ウィンドウ中央に英数字が縦に羅列されます。これがRenoiseの演奏情報表現です。一般的なオーディオ・MIDIシーケンサーソフトウェアは譜面やピアノロールを用いて演奏情報を表現しますが、Renoiseはそれとは異なるアプローチを採用しています[1]⁠。

それでは再生してみましょう。スペースキーを押してください。再度スペースキーを押すと停止します。

Renoiseの基本的な使い方は、基本的に次の流れになります。

  1. サンプルをインストルメントへロード
  2. パターンの作成
  3. ミックスとプラグインの適用
  4. レンダリング

次項からは順を追って見ていきますが、紙幅の都合上、詳細な機能の説明は省略しています。より詳しい使い方についてはRenoise 2.8 日本語マニュアルを参照してください。

サンプルをインストルメントへロード

Renoiseで作曲するにはまず、音声データ(以降は「サンプル」と呼びます)を登録します。登録されたサンプルを「インストルメント」と呼びます。インストルメントの一覧はウィンドウ右上に表示されます。先ほどのデモファイルでは次のように表示されます。

図5 デモソングのインストルメント
図5 デモソングのインストルメント

インストルメントには番号が振られており、これを「スロット」と呼びます。サンプルを登録するには、インストルメントの任意の番号のスロットを選択し、左のDisk Browserで音声ファイルを指定します。

ウィンドウ中央をSample Editorに切り替えると、登録したサンプルの微修正やループの設定、サンプル自体の録音を行うことができます。ウィンドウ下部をInstrument Settingsに切り替えると、インストルメントに様々な設定を追加することができるほか、プラグイン音源を使うこともできます。

図6 Sample EditorとInstrument Settingsに切り替えた状態
図6 Sample EditorとInstrument Settingsに切り替えた状態

パターンの作成

こうして登録した音声データは、スロット番号を指定することで鳴らすことができます。ウィンドウ中央のPattern Editorでは、この要領で演奏データを作成します。

Pattern Editorは行と列からなる表となっていて、列は発音情報を、行は発音タイミングを表します。まずは横方向に見ていきましょう。

図7 発音情報の一例
図7 発音情報の一例

Pattern Editorのひとマスに表現されている情報は、左から順に次のとおりです。

  1. インストルメントの音程(ピッチ)
  2. インストルメントのスロット番号
  3. 発音の音量(00から80で記述)

例えば上の図の一番の行の発音情報を読み解くと、⁠スロット00番のインストルメントを、音程C-4、音量20で鳴らす」ということになります。このように、発音情報を記録するカラムを「ノートカラム」と呼びます。

このマスには他のパラメーターもあります。右の4つの英数字「48 00」です。これは「エフェクトカラム」と呼ばれ、Renoiseにビルトインされている様々なエフェクトを適用するために使われます。

この他にもパニング、発音遅延などが設定できますが、これらを表示するにはPattern Editor上のボタンを押す必要があります。

図8 Track3に表示可能なパラメーターを全て表示した例。図の下にあるボタンでトラック別に表示/非表示を切り替える
図8 Track3に表示可能なパラメーターを全て表示した例。図の下にあるボタンでトラック別に表示/非表示を切り替える

なお、ノートカラムのパラメーターのうち、音程はインストルメント個々の設定を反映します。この設定をするのがSample Keyzonesです。上手に設定することで音程別に別なサンプルを割り当て、ドラムキットを作成することもできます。

図9 Sample Keyzones。ここではDrumkitとして使われているインストルメントを表示している。音程によって異なるサンプルが割り振られている
図9 Sample Keyzones。ここではDrumkitとして使われているインストルメントを表示している。音程によって異なるサンプルが割り振られている

次にPattern Editorを縦の方向へ見ていきましょう。表の左の数字は発音の順番を表します。01行の次は02行を発音するといった具合です。ひとつのパターンで表すことのできる発音数(行数)は、Pattern Editor左上の数字で設定できます。

図10 パターンエディター左の数字が発音の順番を表す。その上を見ると、パターンが512行で構成されるよう設定されていることがわかる。
図10 パターンエディター左の数字が発音の順番を表す。その上を見ると、パターンが512行で構成されるよう設定されていることがわかる。

一行が表現する時間ですが、ウィンドウ左上の項目「Beats/Min」「Lines/Beat」で設定します。前者は1分間に刻む拍数(bpm=beats per minute⁠⁠、後者は1拍に刻む行数です。表中の左の数字では、白いものがbeatすなわち1拍を表します。

例えば1分間に120拍、1拍あたり4行とすると、1行は60÷120÷4=0.125秒ということになります。4分の4拍子の楽譜と対応づけるなら、1行は16分音符相当となります。

こうしてパターンエディターで作成したパターンを組み合わせるには、その左のパターンシーケンサーを使います。現在作成したパターンと異なるものを作成したい場合はまず、パターンシーケンサーで任意の番号を指定してから作業を始めてください。

図11 パターンシーケンサー
図11 パターンシーケンサー

このパターンシーケンサーにおいて縦にパターンを並べて、演奏情報の入力は終わりです。

ミックスとプラグインの適用

トラックのミックスを調整するには、ウィンドウ中央をMixerに切り替えます。ここでは、各トラックの入出力や音量、パニングの設定、適用されているプラグインを確認することができます。

図12 Mixer。図ではたくさんのプラグインが適用されている
図12 Mixer。図ではたくさんのプラグインが適用されている

トラックへプラグインを適用するには、ウィンドウ左下をTrack DSPに切り替えます。Renoiseが備えるビルトインプラグインの他、LADSPAとDSSIに基づいて作られたプラグインが使用できます。なお、Linuxの比較的新しいプラグイン規格であるLV2には、現時点では対応していません。

図13 Track DSPs。有効にしたプラグインのパラメーター設定が右側に並ぶ
図13 Track DSPs。有効にしたプラグインのパラメーター設定が右側に並ぶ

ウィンドウ左下をAutomationに切り替えると、ミキサーやプラグインの各パラメーターに対してオートメーションを描くことができます。

図14 Automation。図ではFlangerのDelayパラメーターに対してオートメーションを描いている
図14 Automation。図ではFlangerのDelayパラメーターに対してオートメーションを描いている

レンダリング

レンダリングするには、FileメニューからRender Song to Disk...を選択します。ただし、デモ版は機能制限によってレンダリングすることができません。

以上で基本的な使い方の説明は終わりです。Renoiseはこの他にも、ハードウェアMIDIコントローラとの連携やJACKトランスポート機能による同期、Open Sound Controlサーバー機能、Luaスクリプトによる機能拡張など、さまざまな機能を備えています。

ここから先は趣向を変えて、ユニークな使い方をご紹介します。

バーチャルシンガー - Renoid

RenoidはRenoiseの日本コミュニティーによる試みです。発声のサンプルをRenoiseとVSTプラグインで処理することで、歌声を作り出そうというものです。Renoiseの強力なサンプラー機能に着目したプロジェクトとも言えるでしょう。

Renoidの使い方によると、同じ音程の発声を50音別に収録したサンプルをインストルメントとしています。

図15 Renoidスターターパックに含まれる発声インストルメント
図15 Renoidスターターパックに含まれる発声インストルメント

歌詞となるようにパターンを作成した音声と、音程となるようにパターンを作成したMIDI信号をVSTプラグインで合流させ、抑揚のついた歌声出力を得るというアイディアです。LinuxネイティブではないVSTプラグインの使用を前提としており、Ubuntuで再現するのは難しそうです。かと言って筆者の調べる限り、類似の機能を持つLinuxネイティブなプラグインはありませんでした。

そこで、VSTプラグインをUbuntuで使えるようにして再現します。VSTプラグインについては本連載の第194回で扱いましたが、今回はFeSTigeのバックエンドの一つであるdssi-vstを直接利用します。

まず、Ubuntuソフトウェアセンターでdssi-vstパッケージをインストールします[2]⁠。

図16 dssi-vstをUbuntuソフトウェアセンターで検索
図16 dssi-vstをUbuntuソフトウェアセンターで検索

次にRenoidのスターターパックと、Renoidで推奨されているプラグインをダウンロードします。今回はKeroBeeを利用します。ダウンロードしたファイルを解凍し、KeroBeeのdllファイルを適当なディレクトリに保存します。今回はホームディレクトリに「vst」というディレクトリを作成して保存しました。

dssi-vstはJACKサウンドサーバーとの併用が前提であるため、先にJACKサウンドサーバーを起動しておいてください。そして端末を開き、次のコマンドを実行してKeroBeeを起動します。

$ vsthost ~/vst/KeroVee.dll

しばらく待つと、KeroBeeが起動します。Renoidのスターターパックに含まれるプロジェクトファイルはボーカル用に2組のトラックを設けているため、端末をもう一つ使い、2つのKeroBeeを起動しておくとよいでしょう。

こうして起動したKeroBeeは、JACKサウンドサーバーで音声入出力を、ALSAシーケンサー機能でMIDI入力をルーティングできます。Renoiseも同様にルーティング可能なので、適切に接続してRenoideを実現できます。

それではRenoiseを起動し、Renoidのスターターパックに含まれるRenoid_Example(KeroBee版).xrnsを読み込んで下さい。読み込んだら次の設定を行います。

  • EditメニューからPreferenceを選択。Audio設定の項目「Out Devices」「8-Channels」に設定する
  • MixerでRenoid Vocalトラックの出力をoutput_01に、Renoid Chorusトラックの出力をoutput_02に、masterの出力をoutput_03に向ける
  • ウィンドウ右上のInstrument Rackと左下のInstrument Settingsを併用し、2つのKeroBeeインストルメントの出力をExt. MIDIのKerobee VSTにそれぞれ向ける
  • qjackctlのConnectionウィンドウで次の図のようにルーティングを設定する
図17 音声信号のルーティング例。output_01がRenoid Vocalトラックの出力、output_02がRenoid Chorusトラックの出力、output_03がmasterトラックの出力なので、01と02をそれぞれKeroBeeに、03をシステムのplaybackにルーティングする
図17 音声信号のルーティング例。output_01がRenoid Vocalトラックの出力、output_02がRenoid Chorusトラックの出力、output_03がmasterトラックの出力なので、01と02をそれぞれKeroBeeに、03をシステムのplaybackにルーティングする
図18 MIDI信号のルーティング例。インストルメントの設定を変更してExt. MIDIにすると、別なソフトウェアにルーティング可能となる
図18 MIDI信号のルーティング例。インストルメントの設定を変更してExt. MIDIにすると、別なソフトウェアにルーティング可能となる

ルーティング設定が適切であれば、再生すると抑揚のある歌声が聴こえるはずです。Windows環境をそのまま再現できてはいませんが、Renoidが実現しようとしていることは再現できているはずです。

図19 2つのKeroBeeでRenoiseからの出力を受ける
図19 2つのKeroBeeでRenoiseからの出力を受ける

インストルメントのスロットに発声の別なサンプルをロードすれば、別な歌声を出力することができますので、ぜひ試してみてください。

おすすめ記事

記事・ニュース一覧