PCM音源の並列分散処理によるGranular Synthesis音源 1.はじめに コンピュータ音楽の分野ではいろいろな楽音合成方式 が提案され実現されてきている[1][2]。その一つの手 法であるGranular Synthesis[3]とは、第1図のようにな めらかな形状のGrainと呼ばれる信号要素を非常に多 数用意して、時間的空間的に一種のランダム配置をお こなうことで全体として音響を生成する、というユニ ークなものである。しかしこの手法は、音響が楽音信号 として「ピッチ」に相当する周期的な成分を持たない こと、音響を聴取した心理パラメータと楽音合成パラ メータの対応について未知であること、実際の楽音合 成システムとしての実時間処理量が膨大であることな どから、歴史の古いアイデアでありながらこれまで注 目されることはあまり多くなかった。 第1図 この分野での従来研究としては、専用のDSPによるリア ルタイムGranular Synthesisの実験[4]、複数のパラメ ータを制御するためのGranular Synthesis専用コント ロールGUI[5]、PCM音源のルーピング機能を応用した疑 似Granular Synthesis[6]、ニューラルネットワークに よるパラメータ補間制御[7]、楽音合成の基本要素であ るGrainにサンプリング音響断片を用いたGranular Sampling [8]などがある。もともと音楽の要素であるメロディ・ ハーモニー・リズムなどを生成しにくい楽音合成方式 であるために、まだ十分に検討されていない領域も多 いが、Granular Samplingの特異な音響とともに、最近 になって再び注目されている。 2.目標と課題 本研究では、PCM音源を利用した疑似Granular Synthesis によるコンパクトなリアルタイム楽音合成制御[9][10] の延長として、実際の音楽作品に活用できる高品位な Granular Synthesisシステムをコンパクトに実現する ことを目標とした。ここでは、表1のように従来手法を 検討し、非実時間的に演算する方式や専用のDSPシステ ムによる方式や信号処理エンジンを用いるような方式 でなく、並列分散処理の手法を活用したアプローチを とり、ローコストでポータブルなシステムの実現を目 指している。また、Granular Synthesis特有の数多く のパラメータを簡単に、かつ効果的に制御するための プロトコルと制御手法についても重要なテーマとして 検討した。 表1 システム開発にあたっての具体的な課題としては、  ・PCM音源の疑似Granular Synthesisの並列処理化  ・Granular Synthesisパラメータの検討と制御方法  ・メインシステムやGUIとの情報交換方法  ・楽音合成の基本要素Grainの検討 などについて検討した。これらは基本的に本研究の システム化において新たに提示された課題である。 3.PCM音源によるGranular Synthesisとニューラルネットワーク制御 3.1 PCM方式音源を利用した疑似Granular Synthesis 最近パソコン内蔵の「音源」としてよく利用されている のは、ステレオ16ビットで44.1KHz程度の固定サンプリ ングデータを単純に「再生」するD/Aコンバータ機能である。 これでは1秒間に数千から数万という個数のGrainを生 成するGranular Synthesisをリアルタイムに実現する のは困難であり、本システムでは市販のパソコン用PCM 音源を利用した[6]。これは内部に16音ポリフォニック・ ステレオ音源となる専用DSPと制御CPUを持った一種の シンセサイザであり、多種の楽器音データを内蔵した 大容量マスクROMとともに、波形データ用のRAMを搭載 しているものである。本研究においては、この波形RAM 部分にGrainとなる音響要素をダウンロードするとともに、 第2図のように、PCM音源の「ルーピング」パラメータを活用した。 第2図 すなわち、ルーピングのパラメータとして「Grainの再生 領域」「無音データの再生領域」を16個のジェネレータ に別々に指定することで、非周期的楽音要素のGrainが 多量に生成され、さらに頻繁にルーピングポイントを 変更することで(固定していると固定ピッチが知覚さ れてしまう)疑似Granular Synthesis音響を得る、と いう手法である。 3.2 疑似Granular Synthesisのパラメータ この疑似Granular Synthesisシステムにおいては、第3図のように パラメータとして  ・Grainの形状  ・Grainの幅  ・Grainの時間的密度  ・Grainの最大振幅  ・Grainの定位  ・Grainを配置させる乱数特性 などを設定できるようにした。ただしPCM音源の単独使用 システムの場合、発音数やファームウェアの制限により一定 の限度があり、完全なGranular Synthesisと言えるほどに十分な 変化幅を設定できないものもあった。 第3図 また、実験的に各種パラメータを変化させた聴取実験 および具体的な作品に応用した実験[11][12]によると、 上記パラメータのうちもっとも聴覚上の影響の大きな ものは「Grainの幅」「Grainの時間的密度」の二つで ある。なお、これらのPCM音源での制御パラメータと してはそれぞれ「ピッチ」「ループ長」に相当し、容易に 制御できる。Grainの形状についてはGranular Samplingほ ど劇的な形状特性のGrainについて調べたものではない ために、まだ十分な検討はできていない。 3.3 パラメータのニューラルネットワーク制御 この疑似Granular Synthesisシステムにおいては、リ アルタイムにパラメータを制御する「動的補間手法」 としてニューラルネットワークを利用した[7]。システ ムとしては標準的な3層構成とし、ジョイスティック形 状のセンサから与えられた2次元情報を入力データとし て、前記「Grainの幅」「Grainの時間的密度」という異なる 二つのパラメータ出力のマッピングを与えた。入力データと して16*16のパラメータ空間の内部の16点だけを教師デ ータとして設定し、BP学習によって得られたニューラ ルネットワークにリアルタイムに任意の256点の情報を センサから与えた。この実験の結果、パラメータ空間 で離散的に与えられて学習された特性が、実際に音響 としてGranular Synthesisパラメータを「良好に補間」 していることが確認できた。なお、リアルタイム制御 を行った実際の作品においては、学習結果を考慮して 作成したテーブル参照方式による補間を行った。 4.並列分散処理システム化の実現 4.1 PCM音源の並列処理システム化 16音ポリフォニックPCM音源によって、同時に16Grain を生成するとともに1秒間に数百から数千というオーダ のGrainを生成できるにもかかわらず、このシステムを 「疑似」Granular Synthesisと呼んだ理由は、ルーピ ングパラメータの設定によって「ピッチ感」が生じて しまう問題点によるものであった。これは、Grainの密 度を上げるために16個の発音チャンネル全てに対して ループ長を短く設定すると、繰り返し周期が短くなっ て特定のピッチを知覚できてしまうものであり、音楽 的にGrain密度の上昇が要求されても対応できない限度 があった。 そこで本システムでは第4図のように、基本構成として 16発音チャンネルを持つPCM音源DSPシステムを10台用 意して、同時発生Grain総数を160個に拡張した。ここ でポイントとなるのは、10台の電子楽器を単純に並べ るような拡張ではなく、統一された制御によって動作 する一体化されたシステムとして構築するところであ る。使用したPCM音源はパソコン拡張スロットに挿入 する形状をしているために、拡張ラックに多数を並べる 方法でコンパクト化を容易に実現できた。 第4図 各ボードは固定された共通のI/Oアドレスと割り込みア ドレスを保有しておりバス上で競合するために、ハー ドウェア的な改造により個別のアドレス割り当てを設 定するとともに、パソコン側とのインターフェースと して割り込みでなくポーリング方式を採用した。これ はボード上のCPUファームウェアとしてGranular Synthesis 処理を実現していることもあり、10台並列処理による ホスト側の負担はそれほど重くないと判断したからで ある。それぞれのボードにはMIDIインターフェースも 搭載されているが、後述するようにこの部分は使用せ ず、MIDI経由の制御情報も統一的にバス経由でホスト 側から与えることとした。また、ステレオのオーディ オ出力については10チャンネルのステレオミキサーを 共通規格ボード上に製作し同じラックに格納した。 4.2 ファームウェアのダウンロード PCM音源ボード上の制御CPUのファームウェア・プログ ラムについては、本来ROM化されていて機能変更は不可 能なものであり、基本的にマルチティンバーMIDI音源 としてしか使用できないものである。しかしホスト側 パソコンとのインターフェース仕様が公開されるとと もに、ボード上のワークRAM領域にファームウェアのサ ブルーチンをダウンロードしてここに制御を移行させ る、いわば「パッチを当てる」ための手段が公開され ている[6]。本システムではこれを利用して、ホスト側 パソコンからそれぞれのボードのワークRAM領域の一部 にGranular Synthesis処理のためのファームウェアを ダウンロードする方式を採用した。一旦この専用ファ ームウェアに移行したボードはリセットによってのみ 通常状態に復帰する。 ファームウェアとしてMIDI監視やマルチティンバー音 源処理に関する部分を省略し、16発音チャンネル全て が一つのGranular Synthesis音響を生成するために使 用されるようにした。必要なパラメータはバスから与 えて変更されるが、たとえばMIDIのノートオン情報に 相当する情報すら省略されている。すなわち、全パラ メータのセットとともに16チャンネルは楽音信号の生 成を無限に続けており、出力信号が現れるかどうかは Grainの振幅制御である「音量」パラメータに依存して いるのである。 4.3 Grainデータのダウンロード PCM音源でGranular Synthesisを実現するためには、周 期的信号源としての波形メモリを非周期的に読み出す ための工夫が必要である。本システムでは、ボード上 に提供されている波形RAMのバスに改造を加え、アドレ ス空間の拡張とバスのプルダウンを行っている。すな わち、簡略形でないフルデコード方式の波形アドレス 制御とともに波形メモリバスをプルダウン方式とする ことで、ルーピングポイントに非該当領域が指定され た区間は「無音」信号を再生することで、非周期的要 素のGrain波形が生成されるようになっている[6]。 このGrainデータについては、従来は波形ROMを変更し て一周期の正弦波形状Grainに対して、2倍・3倍成分を 段階的に重み付けしたGrainを作成して切り換えてみた が、聴感上はあまり劇的な変化が得られなかった。そ こで本システムでは、ホスト側パソコンとのバスイン ターフェース経路より、波形RAMデータを直接にダウン ロードする方法を採用した。この場合、実際にはボー ド上のCPUと通信してワークエリアに一旦転送したデー タを内部波形RAMに転送するようなサービスルーチンを 呼び出す必要があり、Granular Synthesis処理に入っ てしまうとGrain形状の再ロードを行えない制限がある。 また、もともと波形RAM容量が小さいために、古典的な Granular Synthesisの意味でのGrainについては任意形 状のものが使用できるが、Granular Samplingのような 長時間のGrainについては不可能である、という制限が ある。 5.課題の検討 5.1 パラメータの検討と制御方法 本システムでは、「疑似」でないGranular Synthesis として十分なGrain数を確保しているものの、あくまで 楽音合成の手法としては疑似的なものであり、音源シ ステムとしての機能は各種の楽音合成パラメータがも っとも重要なものとなる。従来のシステムからの経験 則として「Grainの幅」「Grainの時間的密度」が最重 要であることは基本であり、今回はここに「Grainの最 大振幅の時間的変化」(エンベロープ)と「Grainの定位 のリアルタイム制御」(パンポット)を加えることとし た。なお「Grainを配置させる乱数特性」については、 関連研究として進めている「カオス情報処理」との関 係に注目しているが、この点についての検討は別の機 会に報告したい。 パラメータ制御の流れとしては、コンピュータ音楽を 生成するメインシステムから与えられるMIDI情報をホ ストとなるパソコンが受信し、ここから全ボードに対 する制御情報をバス経由で与える方法をとった。これ はシステム全体としてGranular Synthesis音源を構成 する意味からはホスト側で一元的に処理すべきこと、 具体的な制御パラメータはバスによる並列転送で効率 を上げたいことなどによる。具体的には、ホスト側に ノートパソコンを使用してラック上に置くことで、コ ンパクト化とポータビリティに富んだシステムを実現 することができた。 5.2 メインシステムとの情報交換方法 本システムはコンピュータ音楽生成のための統合環境 というメインシステムから見れば、一つの「楽器」と なる位置づけである。そこでメインシステムでは、リ アルタイム・パフォーマンスによって生成された演奏 情報やシナリオに基づく演奏情報というMIDI入力に対 して、スレーブシステムとして楽音合成を実行するこ とになる。ここで有効な手法として何度も採用されて いるのが、「特別なMIDIプロトコルの定義」である。 具体的には、特定のMIDIチャンネルの特定のステータ スをGranular Synthesis制御専用に予約して、ステー タスバイトに続く2バイト、つまり128*128通りのパラ メータとして各種のGranular Synthesisパラメータを 割り当てた。 また、システム内部の状況をメインシステムがモニタ する必要に備えて、圧縮された特別MIDIコードとして 情報を出力する経路も用意した。これはメインシステ ムのMIDI入力マージ装置に供給され、各種MIDIセンサ の情報とともにパターンマッチング部分に与えられる ことで、たとえば「Granular Synthesis音源が減衰モ ードでゼロ音量に到達した」というような情報として 反映できることになる。 音楽システム全体の開発効率やデバッガビリティの点 では、これらの制御情報を全てMIDI化しておくことは 非常に有効である。たとえばMIDI環境"MAX"を使用する ことで、制御情報のグラフィカルモニタ、履歴追跡、 判定処理の検証などが効率的に実現できる。 5.3 楽音合成の基本要素Grainのロード 本システムでは、Granular Synthesisにおいて基本要 素であるGrain自体をROMでなくRAMに置いて変更できる という部分が大きなポイントとなっている。しかし、 ファームウェアとの関係でGranular Samplingのような リアルタイム変更や多量のデータをGrainとすることは 困難である。この制限の元でいろいろなGrainについて 実験するための環境として、リアルタイムGrainロード 機能を実装した。これは、10枚のボードのいずれか1枚 だけを発音休止モードとした上で波形RAMへのGrainの ロードを実行するもので、並列分散処理である本シス テムにおいて初めて実現できたものである。この機能 によって、処理時間は数秒オーダとかなりかかるもの の、バックグラウンド処理でGrain形状を次第に変化さ せることが可能となった。具体的な音響の変化として の評価は今後の心理実験・応用の段階でさらに検討し ていく予定である。 5.4 情報処理量とMIDI制御トラフィックの検討 このようなシステムの開発においては、デバッグ性の 点で集中制御と個別制御が常にトレードオフの関係と なる[9]。本システムの場合、ホスト側でそれぞれのボ ードに対するパラメータを別個に供給するか、バス上 の共通パラメータを各ボードが自分で解釈して処理す るか、という機能分割上の検討事項が存在する。この 部分については機能開発とともにまだ最終結果に至ら ない実験中の段階である。デバッグ中は前者が有効で あるが、システムとしての処理量とレスポンスの点か らは最終的に後者のスタイルを目指している。 また、コンピュータ音楽システムにつきものの「MIDI トラフィック」の問題については、具体的な実験デー タは本格的なシステム応用の段階にならないと得られ ない特性がある。ただし、パラメータとして従来研究 の結果から相当に限定しているために、システムが止 まるほど問題になるトラフィックではないものと考え られる。従来システムにおいても実際にGranular Synthesis 音響が使用されている局面ではかなり多量のMIDI情報 が流れている[12]が、本システムでは並列処理してい るがシステムとしては基本的に一つであり、音響とし てGrain数は一桁多くなっているものの、情報量として 格段に増加するとは考えられないからである。 6.おわりに PCM音源を利用した疑似Granular Synthesisの応用とし て、実際の音楽作品に活用できるレベルを目標とした 高品位なGranular Synthesisシステムをコンパクトに 実現した。並列処理によるメリットを生かしたポータ ビリティとパラメータ制御がポイントであり、具体的 に音楽情報処理の実験・応用に使用していけるものと 考えている。なお、本研究に関連した今後の課題とし ては、  ・各種パラメータに対する音響心理学的な検討  ・リアルタイムサンプリングによるGrainの生成  ・大域的音量変化エンベロープによるリズムの生成  ・具体的応用としてのコンピュータ音楽作品への活用 などがあり、引続き本システムの完成度の向上ととも に検討を進めていきたい。 参考文献 [1]Julius Orion Smith III : Viewpoints on the History of Digital Synthesis. Proceedings of International Computer Music Conference, pp1-10, 1991. [2]長嶋洋一 : 音素材の生成(特集・音楽情報処理). 『情報処理』, 1993年9月. [3]Curtis Roads : Granular synthesis of sound. Computer Music Journal, Vol.2, No.2, pp.6162, 1978. [4]Barry Truax : Real-Time Granular Synthesis with the DMX-1000. Proceedings of International Computer Music Conference, pp.231-235, 1986. [5]Orton,R., Hunt,A., & Kirk,R.: Graphical Control of Granular Synthesis using Cellular Automata and the Freehand Program. Proceedings of International Computer Music Conference, pp.416-418, 1991. [6]Yoichi Nagashima : An Experiment of Computer Music : Psuedo Granular Synthesis. 情報処理学会平成4年度前期全国大会講演論文集I, pp.409-410, 1992 [7]Yoichi Nagashima : Neural-Network Control for Real-Time Granular Synthesis. 1992年度人工知能学会全国大会論文集I, pp.381-384, 1992. [8]Barry Truax : Time-Shifting and Transposition of Sampled Sound with a Real-Time Granulation Technique. Proceedings of International Computer Music Conference, pp.82-85, 1993. [9]Yoichi Nagashima : An Experiment of Real-Time Control for "Psuedo Granular" Synthesis. Proceedings of International Symposium on Musical Acoustics, pp.55-58, 1992. [10]Yoichi Nagashima : Real-time Control System for "Psuedo Granulation". Proceedings of International Computer Music Conference, pp404-405, 1992. [11]Yoichi Nagashima : Musical Concept and System Design of "Chaotic Grains". 情報処理学会研究報告, Vol.93, No.32, pp.9-16, 1993. [12]長嶋洋一 : マルチメディアComputer Music作品の実例報告. 情報処理学会研究報告, Vol.94, No.71, pp.39-44, 1994.