\documentstyle[a4j,11pt]{jreport} \setlength{\unitlength}{0.2500mm} %\setlength{\oddsidemargin}{1in} %\setlength{\evensidemargin}{1in} \begin{document} %\chapter{音響信号処理 (長嶋)} \section{楽音合成技術 (長嶋)} 本章では、コンピュータ音楽にとって重要な材料である「楽音」を、 デジタル信号処理技術によって合成(シンセサイズ)するための手法に 関する研究を紹介する。 まず最初に、基本的な要素「ユニットジェネレータ」を例にとって、 楽音合成に関連した基礎概念を確認し、次いで一般的な楽音合成方式の分類に 従って、それぞれ具体的な応用研究例の紹介とともに概観する。 なお、本章では原材料となる楽音の合成方式について述べており、合成された 楽音やデジタル入力(サンプリング)された自然音や音声などに対する 信号処理(プロセッシング)に関しての考察は、次章に譲る。 また、楽音合成方式の中で「物理モデル」方式と呼ばれる、 ウェーブガイド(Waveguide)、Karplus-Strong などの楽音合成方式に ついても、「楽音と音場のシミュレーション技術」という視点 から次章で統一的に扱うために、ここで紹介する分類の中からは除外している。 \subsection{楽音合成の要素技術} 本節では、いろいろな楽音合成方式を技術的に理解する上での助けと なる、コンピュータ音楽における要素技術のいくつかを紹介する。 \subsubsection{一般的基礎知識} まず、本報告書では触れるまでもなく省略した一般的な電子技術の知識として、 コンピュータ音楽における楽音合成・信号処理に関連する 基礎的な技術項目を列記しておくと、以下のようなものがある。 \begin{enumerate} \item アナログ---デジタル変換 \item デジタル---アナログ変換 \item サンプリング定理 \item 離散化と量子化の原理 \end{enumerate} これらの基礎知識については、コンピュータ音楽に限らず、一般的なデジタル 信号処理技術に関する文献のほとんど全てにおいて述べられている。 \subsubsection{ユニットジェネレータ (Unit Generator)} ユニットジェネレータとは、楽音合成のアルゴリズムの基本となる単位発振器の ことで、図[A]のように2つの入力[inc][amp]と1つの出力[out]からなり、内部に 特性テーブル[Table]を持っている。 ユニットジェネレータのこれらのパラメータは、一般に「音の3要素」と言われる \begin{enumerate} \item ピッチ(Pitch:音の高さ) \item ラウドネス(Loudness:音量) \item ティンバー(Timbre:音色) \end{enumerate} に対応している。すなわち、 \begin{description} \item [inc] 波形テーブルを繰り返す読み出すためのアドレスの進むスピード に相当する。結果として楽音信号のピッチに対応する。 \item [amp] 発生される楽音信号の振幅に相当する。結果として楽音信号の ラウドネスに対応する。 \item [Table] 内部にデジタル的に用意される波形テーブルで、システムに 固有の量子化ビット数とアドレス空間をもつ。このデータによって 周期的信号波形が与えられ、結果として音色に対応する。 \end{description} という関係をもつ。このようにユニットジェネレータが楽音信号などの周期的信号 の発生に用いられる場合には、「テーブル参照発振器」(Table Loop-Up Oscillator) とも呼ばれる。 \subsubsection{変調要素としてのユニットジェネレータ} ユニットジェネレータは楽音信号そのものを発生する部分だけでなく、 楽音合成のアルゴリズムに必要な各種の信号発生器としても活用される。 これは変調(Modulation)要素としてのユニットジェネレータの利用である。 たとえば図[B]のように、 ピッチを発生するためのユニットジェネレータの[inc]パラメータ入力に対して、 別のユニットジェネレータの出力を与えることは、後述の周波数変調(FM、あるいは ビブラート)に相当することになる。 \begin{figure}[h] \begin{picture}(630,330)(-90,-300) \put(280,-90){\makebox(100,40){\Large{Fig [B]}}} \put(40,-40){\makebox(110,40){\Large{Fig [A]}}} \put(10,-260){\makebox(160,30){\large{Unit Generator}}} \put(390,-170){\makebox(100,20){Modulation}} \thinlines\put(370,-140){\vector(0,-1){40}} \thinlines\put(440,-140){\line(-1,0){70}} \thinlines\put(440,-110){\line(0,-1){30}} \put(340,-210){\makebox(40,10){Table}} \thicklines\put(360.0000,-210.0000){\oval(60,60)[bl]} \thicklines\put(360.0000,-210.0000){\oval(60,60)[br]} \thicklines\put(330,-210){\line(0,1){30}} \thicklines\put(330,-180){\line(1,0){60}} \thicklines\put(390,-180){\line(0,-1){30}} \thinlines\put(360,-240){\vector(0,-1){50}} \thinlines\put(350,-120){\vector(0,-1){60}} \put(340,-230){\makebox(40,10)[b]{out}} \put(330,-190){\makebox(30,10)[b]{amp}} \put(360,-190){\makebox(30,10)[b]{inc}} \put(420,-80){\makebox(40,10){Table}} \thicklines\put(440.0000,-80.0000){\oval(60,60)[bl]} \thicklines\put(440.0000,-80.0000){\oval(60,60)[br]} \thicklines\put(410,-80){\line(0,1){30}} \thicklines\put(410,-50){\line(1,0){60}} \thicklines\put(470,-50){\line(0,-1){30}} \thinlines\put(430,10){\vector(0,-1){60}} \thinlines\put(450,10){\vector(0,-1){60}} \put(420,-100){\makebox(40,10)[b]{out}} \put(410,-60){\makebox(30,10)[b]{amp}} \put(440,-60){\makebox(30,10)[b]{inc}} \put(70,-140){\makebox(40,10){Table}} \thicklines\put(90.0000,-140.0000){\oval(60,60)[bl]} \thicklines\put(90.0000,-140.0000){\oval(60,60)[br]} \thicklines\put(60,-140){\line(0,1){30}} \thicklines\put(60,-110){\line(1,0){60}} \thicklines\put(120,-110){\line(0,-1){30}} \thinlines\put(90,-170){\vector(0,-1){50}} \thinlines\put(80,-50){\vector(0,-1){60}} \thinlines\put(100,-50){\vector(0,-1){60}} \put(70,-160){\makebox(40,10)[b]{out}} \put(60,-120){\makebox(30,10)[b]{amp}} \put(90,-120){\makebox(30,10)[b]{inc}} \thinlines\put(-50,-300){\dashbox{5}(560,320)[tl]{}} \end{picture} \end{figure} \subsubsection{時間要素としてのユニットジェネレータ} ユニットジェネレータは内部テーブルのデータを読み出すデータ発生器なので、 通常はテーブルデータの全域を1周期として繰り返す、周期的な信号の 発生器である。しかしこれを周期的でなく、 たとえばテーブルの最後まで行ったところでストップするようにして、 「ノート・オンの際に1回だけデータを読む」ように設定すると、そのまま 楽音の時間的変化特性データ(エンベロープEnvelope)の発生器となる。 たとえば、ユニットジェネレータをこのようなワンショット(One-Shot)動作に 設定して、ピッチ発生のユニットジェネレータの振幅パラメータである [amp]入力に供給すると、一般にエンベロープと言われる楽音の音量の時間的 変化特性を実現できる。 なお、エンベロープは音量に限らず、たとえば \begin{itemize} \item 倍音成分の強度変化→音色変化 \item フィルタのカットオフの時間変化→音色変化 \item 変調の強度変化→音色変化 \item ピッチの緩やかな時間変化→ビブラート \item 振幅の緩やかな時間変化→トレモロ \item 音程の時間変化→音列生成(アルゴリズム作曲) \item パンポット情報の時間変化→音像移動 \end{itemize} など、コンピュータ音楽のいろいろな要素として活用されている。 \subsubsection{ユニットジェネレータの実現方法} ユニットジェネレータとは、あくまで楽音合成アルゴリズムを検討するための 理想的(ideal)な概念でしかない。 Computer Music の研究者がコンピュータ上に「楽器」を実現する場合には、 ユニットジェネレータの動作をプログラム(モジュール)として記述して、発生 する楽音信号に相当する出力を計算によって求めて、最終的にD/Aコンバータ で音響に変換すればよい。いわば「ソフトウェア楽器」である。 しかし、電子楽器のような具体的なハードウェアとして音楽演奏に使う場合には、 リアルタイムに楽音出力を得ることが必要であり、ごく最近までは 「ソフトウェア楽器」の概念であるユニットジェネレータは現実的なものでは なかった\footnote{いわゆるDSP技術がこれを可能にした。IRCAMのISPWが 有名である.}。 そこで、実際のハードウェアシステムとして楽音合成を実装するためには、 基本的には以下のような方法をとってきた。ここではこれ以上詳しく触れないが、 これはいわば「電子楽器の歴史」に相当する。 \begin{description} \item [アナログ方式] ユニットジェネレータの[inc]をアナログ発振器の周波数に、 [amp]を可変増幅器のゲインに対応させる。 \item [ディジタル方式] ユニットジェネレータの[inc]をメモリ読み出し速度に、 [amp]をエンベロープ乗算値として対応させる。 \item [DSP方式] ディジタル方式のなかで、マイクロプログラム方式の信号処理 プロセッサ(DSP)を活用して、半ソフト的に実現するもの。 \item [ソフトウェア方式] ユニットジェネレータをソフトウェア的なモデルとして 記述し、最終的な処理結果まで演算してD/A出力するもの。 \end{description} \subsubsection{演算子要素(Modifiers)} ユニットジェネレータの考え方で楽音合成のアルゴリズムを構成していく場合に、 数学的・電子回路的な構成要素として、さらに以下のようなものも使われる。 \begin{description} \item [加算器] 楽音信号の線形性を利用して、いろいろな信号を重ね合わせる場合 に使われる。ディジタルの時分割演算のための累算器としても使用される。 \item [乗算器] 楽音信号の線形性を利用して、2種類の信号の変調・比例関係など のために使われる。具体的に構成する場合には、固定小数点・浮動小数点 のそれぞれの方式が検討される。 \item [変換テーブル] おもに非線形関係を記述する場合に、ディジタルシステムで あれば変換テーブルを任意の精度で用意して参照する。ハードウェアで 実現していく場合にも、ROMやRAMをシステムに応じて使い分けている。 \end{description} 加算器と乗算器というのは、DSP(Digital Signal Processing)技術の中心要素 となるものである。ハードウェアとして実現される場合には、離散化した時間 (タイムスロット)ごとに所定の精度の演算を終了するために、高速な専用回路 として構成される。ソフトウェア楽器の場合でも、演算誤差が累積することを 避けるために、十分なデータ長として表現される。たとえば、最終的な出力 D/Aコンバータのビット精度は一般にCDやDATと同じ16-20ビット程度である 場合が多いが、ディジタル楽音合成システムの内部演算部分では、32ビット から40ビット程度、場合によっては48ビット精度以上の処理を行っている。 これはワークステーション級の上級システムばかりでなく、低廉な民生用 電子楽器に使われる音源LSI内部においても同様である。 \subsection{加算型} 本節では、ディジタル楽音合成方式の第1のタイプとして、「加算型」と呼ばれる 一群の方式として、 \begin{enumerate} \item サイン合成方式 \item 分析・再合成方式 \item FFT方式 \item ボコーダ方式 \end{enumerate} をとりあげる。なお、これらは原理としてはかなり歴史のあるものなので、 それぞれ関連する最近の研究の報告からトピックを拾ってみた。 \subsubsection{サイン合成} 人間の聴覚は「音色」を倍音(高調波スペクトル)の組み合せとして知覚すること から、楽音合成の原理に自然な方式として、サイン合成はもっともポピュラな ものである\cite{moore}。 ユニットジェネレータでサイン合成を実現するためには、発生する楽音の 基音から2倍音、3倍音...という整数倍音のそれぞれに相当するピッチ[inc] のユニットジェネレータを用意して、それぞれの[amp]には別個のエンベロープ 発生のためのユニットジェネレータからの出力を供給する。これらの 倍音成分をすべて加算することで、最終的な楽音信号が得られる。 ハードウェアとして実現するためには、1音を発生するために倍音数だけの ジェネレータを必要とし、時分割多重化させたとしてもシステムの規模は かなり大きなものとなる。しかし実際に、すでに64倍音とか128倍音までの 全ての高調波に独立のエンベロープを持たせた楽音合成システムは、専用LSI によって民生の電子楽器として実現されているために、このレベルはもはや 研究の対象ではなくなっている。 最近の研究としては、定常的な音色でなく非常に短時間の離散フーリエ変換 DSTFT(Discrete Short-Time Fourier Transform)によって、音声のような 非定常的な音響や、自然楽器においてある音から別の音に移る瞬間の複雑な 変化を発生する部分が注目されている\cite{aes87:strawn}。 また、音声分析の手法であるMQ(McAulay-Quatieru)法を適用して、このような 複雑に変化する楽音を分析・合成する方法も研究されて いる\cite{icmc92:holloway}。この場合、楽音合成に力点を置けば一種の サイン合成方式の展開形ともいえるが、次のAnalysis/Resynthesis方式の応用 とみることもできる。 \subsubsection{分析・再合成 (Analysis/Resynthesis)} 定常的な楽音信号にFFTをかけてスペクトル成分を抽出し、このデータに 基づいて高調波係数としてサイン合成の重みづけをすれば原理的には 再合成される。つまり前述のサイン合成方式とは、ここで述べる分析・再合成 方式のもっとも典型的な一手法でもある。 一般に分析・再合成方式では、 \begin{enumerate} \item 分析によるパラメータ抽出 \item パラメータ処理(クロス・シンセシス) \item パラメータによる再合成 \end{enumerate} というステップによる。これは見方を変えると、パラメータという形態で 一種の情報圧縮が行われていることになり、データ転送量の限定された 通信回線で多量の情報を忠実に転送するための「情報通信技術」の分野 と関係したものである。 分析・再合成方式を、特徴となるパラメータの抽出方法として列記すれば、 \begin{enumerate} \item サイン合成(倍音成分)による方法 \item 線型予測LPC(Linear Predictive Coding)による方法 \item 調和成分とノイズ成分を分離する方法 \item フォルマント関数を抽出する方法 \item バンドパスフィルタ群としてモデリングする方法 \end{enumerate} などがあり、関連する文献も\cite{ismis89:rodet}に紹介されている。 この方式に関する 最近の研究の一例としては、オーバーラップさせたサイン関数表現による 分析・再合成システムによって、ピッチによらず自動的に分析・再合成 する手法が紹介されている\cite{icmc91:byyan}。 \subsubsection{FFT} FFTはすでに一般的なディジタル信号処理の技術として定着し、計測器や パソコンでの音声分析などに広く活用されている。 また、楽音合成におけるFFTは、前述の分析・再合成方式などでも広く利用 されている。(名前としてよく使われるので独立させたが、実質的には サイン合成方式と変わりがない。) 最近の研究としては、音楽のリアルタイム演奏、あるいは演奏者との インタラクティブなやりとりを楽音合成の領域から実現するために、 リアルタイム処理による短時間FFT(SFFT)を活用して各種パラメータを抽出 するとともに、「確定的」な成分と「確率的」な成分とで別個に合成し、 「音色のレベルからリアルタイムコンポジションしていく」アプローチ がある\cite{icmc89:serra}。 \subsubsection{ボコーダ (Phase Vocoder)} バンドパスフィルタ群によってフォルマントフィルタのパラメータを 抽出し、これを再びバンドパスフィルタ群のゲイン特性として再現した アナログボコーダ以来、ボコーダの独特の音色は音楽に広く使われている。 一方、通信技術においては音声情報圧縮の手法としてボコーダ技術が はやくから研究されており、コンピュータ音楽の技術がディジタル化 されるとともに、この両者が結びついて、ボコーダ関係の楽音合成、 あるいはボコーダ的な楽音信号処理がいろいろと検討されてきた。 基本周波数を整数倍音系列にとらない、という条件をのぞけば、基本的に ボコーダは一種のFFTでしかない\cite{moore}。このため ボコーダ自体の研究というよりも、実際の音楽制作の現場での適用事例 として、マルチプロセッサのネットワーク環境でボコーダ処理を分散 させる手法など、応用的な研究に関連して 登場している\cite{icmc92:katrami}。 \subsection{減算型} 本節では、ディジタル楽音合成方式の第2のタイプとして、「減算型」と呼ばれる 一群の方式として、 \begin{enumerate} \item ディジタルフィルタ方式 \item 線型予測方式 \item フォルマント方式 \end{enumerate} をとりあげる。なお、これらの分類はかなり意見の分かれるところで、人に よっては「加算型」に分類されているものもある。 減算型の原理としては、アナログシンセサイザのVCFがその源流に あり、実際の電子楽器としてはサイン合成方式よりも古い。 また、物理モデル方式を待つまでもなく、人間の「声」にしても、声帯からの 音源信号を咽喉・咽頭のフィルタで調整する、という一種の減算方式である ために、人間の感覚に親しい楽音合成方式でもある。そこで、このタイプの 楽音合成方式のキーワードとして「フィルタ」に注目することが重要である。 \subsubsection{ディジタルフィルタ} アナログシンセサイザのVCFは一般にLPF(Low Pass Filter)であり、 これを単純にディジタルに置き換えて実現したのが、ディジタルフィルタ 方式である。具体的には、サンプリングに対応した演算周期ごとに \begin{itemize} \item システムクロック単位の遅延要素 \item 係数のための乗算要素 \item 累算のための加算要素 \end{itemize} を用意して多段結合すれば、IIRタイプないしFIRタイプのディジタルフィルタ が構成される。 リアルタイムに稼働する現実のシステムとして実装する場合には、アナログ のように発振すれすれまでレゾナンスを上げることが難しいとか、 量子化誤差や演算誤差によるノイズなどが発生するために、アナログの フィルタ並に「自然な」フィルタにするのは、原理的にもかなり困難である。 さらに、遅延要素のために原理的に発生するレスポンスの遅さ、 エンベロープによって時間的変化させる場合の また一方では、ディジタルフィルタを理論通りに構築できた場合の 「不自然さ」を検討し、敢えて特性に歪をもたせて「暖かいディジタル フィルタ」を実現する、という報告もある\cite{icmc92:rossum}。 このタイトルの「ディジタルフィルタをアナログのように聴かせる」 という考え方自体、ディジタルはアナログよりも優秀である、という 一般的な概念が音楽の世界では否定されうる事実を示しており、結局は 「人間の聴覚(心理)に回帰するコンピュータ音楽」の重要な視点として 興味深いものがある。 \subsubsection{線型予測} 線型予測LPC(Linear Predictive Coding)による情報圧縮(特徴抽出)が コンピュータ音楽の世界で楽音や音声の分析・合成に適用されるのは、 情報理論的に「楽音・音声という情報は冗長である」という性質があり、 これを利用しているからである\cite{moore}。 LPC方式の楽音合成もボコーダ方式やフォルマント方式と同様に、定常的な 部分の多い楽器音よりも、より劇的に変化する「声」の合成に活用される 場合が多いが、アプローチとしてはより音声処理Speech Processingの 技術に近く、ベル研究所など通信関係の研究者が中心となってきた。 LPCによって抽出された各種の楽音パラメータにもとづいて楽音合成を 行う方法としては、 \begin{enumerate} \item スペクトルモデルに適用する \item 全ポールフィルタに適用する \item ウェーブガイドのループフィルタに適用する \end{enumerate} などの方法がある。つまり見方を変えると、LPC合成方式というのは音響的に 良好な、短時間パワースペクトルを非線型にスムージング(なめらかに接続) する方式、ということができる\cite{icmc91:smith}。 \subsubsection{フォルマント(Vowel)} 後述するPCM方式の最大の欠点は、サンプリングされた楽音はその周波数 ではリアルであっても、別の再生周波数に対しては本質的に不自然になって しまうところにある。 これは自然楽器や音声の発音原理(音響物理)からすれば当然で、 固有のレゾネータである共鳴体による効果は、楽音のピッチに関わらず 固定していなければならないのは当然である。 フォルマント方式はまさに、この楽音固有の特性をフォルマントフィルタ として実現したものであり、アルゴリズムによる楽音合成方式と 「物理モデル方式」との橋渡しをする役割りにある。 コンピュータ音楽におけるフォルマント方式の適用は、おもに「声」を 合成させる方向を指向しており、線型予測LPC、ボコーダなどとともに、 フォルマント・トラッキングによって「歌うコンピュータ」を実現する ための研究が続けられている\cite{ismis89:dodge}。 「声」は固有のピッチをもつ複数のフォルマントフィルタを用意すれば 済むものではなく、たとえば母音ごとに各フィルタの中心周波数を 変えなければならず、さらに女性の声と男性の声でもパラメータが 変わるなど、図(**)のようにアルゴリズムはかなり複雑になる\cite{moore}。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% %%% 平田さん、ここに別便で送りますMooreの本の図を入れて下さい %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% また、IRCAMで研究・開発されているCHANTというボイス・シンセサイズ 方式\cite{ismis89:bennett}や、FOFというボイス・シンセサイズ 方式\cite{icmc88:clarke}も、フォルマント方式の一種のバリエーション ということができる。 \subsection{非線形変換} 本節では、ディジタル楽音合成方式の第3のタイプとして、 「非線型変換型」という視点からまとめて \begin{enumerate} \item 振幅変調方式 \item 周波数変調方式 \item ウェーブシェーピング方式 \end{enumerate} をとりあげる。つまりこれらの方式は、楽音を発生する ユニットジェネレータの持っているパラメータのうち、順に \begin{enumerate} \item ユニットジェネレータの[amp]を変調するもの \item ユニットジェネレータの[inc]を変調するもの \item ユニットジェネレータの[Table]を変換するもの \end{enumerate} と考えることができる。 \subsubsection{振幅変調(AM)} ピッチとともに音量は楽音のもっとも基本的な要素であり、初期の アナログシンセサイザの時代から、音量エンベロープとともに、 定常的な振幅変調として、LFO(Low Frequency Oscillator)による 「トレモロ変調」が行われてきた。 トレモロと知覚されるのは数ヘルツまでのオーダであり、LFOの周波数を 100Hzオーダに上げると、むしろ音色を変化させる変調として知覚される ようになる。さらに、楽音発生のピッチに対応させて、ピッチと同じ 周波数レンジのジェネレータによって多段にAMをかけると、ユニークな 音色を発生することができる\cite{moore}。 また、通常はAMはゼロから1までの変調度をもっているが、これを バイポーラ(両極)としてスイッチングしたものが「リング変調」(平衡変調) である。これは通信分野ではよく使われる技術で、キャリヤ(搬送波)成分 が打ち消し合ってしまうために、元の楽音信号のピッチ成分や倍音成分 とはまったく異なる高調波成分となり、この独特の音色も音楽に活用されて いる。 \subsubsection{周波数変調(FM)} 民生のシンセサイザと簡易型パソコン内蔵音源として定着した FM方式\cite{chowning}については、コンピュータ音楽の研究者の興味の対象 としてはすでに過去のものとなった感がある。 もともとサイン合成では作りにくい非整数次倍音を容易に発生できることと、 サイン合成やディジタルフィルタよりも実現する回路規模がコンパクト であるところがFM方式の最大のメリットだった。ところが半導体の集積度 向上による大容量メモリLSIの時代に入ると、自然楽器音の模倣ではPCM方式の リアリティにかなわず、また安価なFMシンセサイザ音があまりに普及して しまって、コンピュータ音楽の音素材としての魅力は激減してしまった。 最近の研究としては、もっぱらFMは他の楽音合成アルゴリズムと比較する ために引合いに出されることが多く\cite{icmc92:horner}、その多くは 単純なFM方式のデータを「過去の世代の楽音合成」として比較対象に利用 している。 \subsubsection{ウェーブシェーピング(Waveshaping)} ウェーブシェーピング方式は、基本的には「波形を歪ませる」ことで あり、ディジタル的に具体化する場合には「変換テーブルを参照する」 ことに尽きる。 ただし、楽音合成に利用する目的はいろいろあり、 \begin{itemize} \item FMのようにとにかく「ヘンな音」を作りたいから \item パラメータの補間手段として活用する \item システムとしてインプリメントするのが容易だから \end{itemize} などの動機によって、実際のシステム形態はかなり変わってくる。 たとえば\cite{icmc92:beauchamp}の場合には、自然楽器の特徴をシミュレート する手段として、時間・音量・音域などのパラメータに対応してなめらかに 歪が増加・減少するようなテーブルを楽音の各パーシャルごとに用意する ことで、少ないパーシャルでリアリティの良好な楽音を発生している。 これは電子楽器のように一定の制限のあるシステムでは有効な手法であると いえる。 \subsection{サンプリング} 本節では、ディジタル楽音合成方式の第4のタイプとして、いわゆる 「PCM方式」に代表される、サンプリング方式について考察する。 もともと楽音合成でユニットジェネレータのような「周期波形発生器」が 使われたというのは、楽音信号を最初から最後まで繰り返さずに表現する には、膨大なデータ量が必要とされる、という制約があったからである。 これを情報圧縮するために、「繰り返し」部分の冗長性に着目して周期的 信号を発生し、ここに非周期的(時間的)変化をいかに付与していくか、という 各種の楽音合成技術が研究された。 ところがコンピュータ技術・LSI技術の進展は、音響信号を冗長であろうが なかろうが「そのままディジタル記憶・再生できる」状況になってきた。 たとえばCDには、44.1KHzサンプリング16ビット量子化で数十分間の長さの 音響信号が格納できる。コンピュータの内部メモリにこれを展開すれば、 周期的な制約を受けずに音響信号が任意に処理できることになった。 いろいろな回路技術を駆使してきた民生の電子楽器の世界ではさらに顕著に この影響が現れてきた。もともと一般の電子楽器は、自然楽器の音を模倣 することが重要な目標であり、このためには大容量低価格のデータROMを 多数搭載して、ディジタルレコーディングされた「本物と変わらない」音 をそのまま「再生」すれば、目標は容易に達成されてしまう。かくして、 メモリ物量作戦によるサンプリング方式の全盛時代になった。 そして、コスト条件の厳しい電子楽器の世界では、「パーシャル」と呼ばれる 単位ジェネレータを複数個用いて、「楽音の立ち上がり部分の非定常的な音を ワンショットだけ再生」する部分と、「楽音の定常的な部分を周期的に再生」 する部分とで合成する、という方法をとるのが一般的になっている。 さらに音色の時間的変化やスペクトル補間として、クロスフェードによる ミキシング手法\cite{icmc88:serra}を用いることも多い。 ところで、コンピュータ音楽の研究者や作曲家にとって、楽音合成としての サンプリング方式はほとんど興味の対象ではない。音楽の要素として「音色」 を扱う立場としては、「模倣しかできない」方式は対象外なのである。 そこでこの方式は「音響を録音・再生する道具」として、楽器や音響機器 として使うのみで、楽音合成としての処理はSignal Processingのステップで 行っていくことになる。 \subsection{グラニュラーシンセシス} 本節では、ディジタル楽音合成方式の第5のタイプとして、グラニュラー シンセシスGranular Synthesisを紹介する。これはアイデアとしては かなり古いユニークな楽音合成方式で\cite{roads}、いわば「音の量子力学」 である。 すなわち、「音」と知覚できない(周期振動のない)微小でなめらかな音圧 変化パルス粒子(Grain)を非常に多数個用いて、ある種のランダムネスをもって 時間的空間的に配置する、というものである。それぞれのGrainの形状や 幅、時間的平均密度、空間的定位、音量分布などによって、発生して知覚 される音響はさまざまに変化し、これらが楽音合成のパラメータとなる。 グラニュラーシンセシスの原理はとても簡単なものだが、たとえば各Grainを 発生して1秒間に数万個ランダムに配置する、という計算処理はかなりの規模 のため、大型計算機による非リアルタイム計算しかできなかった第1次世代 は一定の段階で留まっていた。これが最近のEWSのパワーアップ等によって、 リバイバルの第2次世代を迎えた。 ここではワークステーションのグラフィカルなヒューマンインターフェース を活用したパラメータ制御\cite{icmc91:orton}や、ニューラルネットワーク を利用したリアルタイムのパラメータ補間\cite{icmc92:nagasm}など、 原理としてはすでに完結しているグラニュラーシンセシスを、全体として 音楽にどう利用していくか、という研究に移っている。 グラニュラーシンセシスには「ピッチ」の概念がないために、「時間的に 音程を配置する」という作曲でなく、「時間的に変化する音響をパラメータ の変化として全体として記述する」ことが作曲となる。このために、 リアルタイム処理能力の向上したコンピュータを利用することで、第2次 世代のグラニュラーシンセシスは、ようやくInteractive Composingの 段階に入ったともいえる。 \subsection{楽音合成技術の展望} コンピュータ音楽が「音」を基本的な素材としていく限り、楽音合成は 今後もコンピュータ音楽の重要な一部門であり続ける。ここでは、 楽音合成技術のこれからの展望について考察する。 今後のコンピュータ音楽の課題として、次の3種類のギャップをどう橋渡し していくべきか、という問題提起があった\cite{ismis89:risset}。 \begin{enumerate} \item Computer Sound と Instrumental Sound \item Real-Time Synthesis と Delayed Synthesis \item Digital Synthesis と Digital Processing of Natural Sound \end{enumerate} このうちまず第1点は音楽美学に関する問題なので、ここでは触れない。 また第2点については、これまで非リアルタイム処理でしか できなかった楽音合成が、間違いなくリアルタイム化されていくことに なる。コンピュータパワーの向上とともにヒューマンインターフェース やVR技術によるセンシングシステムが進歩すれば、インタラクティブ性 が確実に向上して、音楽の「演奏」の考え方が変わる。つまり、 「すでにある音を鳴らす」のでなく、「鳴っている音を変える」という 演奏が可能になり、自然楽器のまた一歩近づくことになる。 そして第3点は、現在着実にギャップが埋まりつつあり、この両者は 区別なく音楽の素材として活用される時代がすぐ間近になってきている。 コンピュータ音楽というのは、電子回路技術とコンピュータ技術に大きく 影響されるもので、この性質は現実のシステムではなおさら顕著である。 たとえばディジタル方式の楽音合成は、電子楽器という装置として提供 されるためには、コストを考慮して専用化されたLSI(いわゆる「音源チップ」) として、はじめて実現された。ここには音楽家どころか、研究者も手を 出せない「LSI経済(ビジネス)の壁」があった。コンピュータでソフトウェア が計算する「楽音合成アルゴリズム」では、現実に「楽器」として リアルタイム発生するには処理速度が1000倍ほど遅いが、音源LSIを工業 生産するために自由な楽音合成のための機能を大幅に削減して専用化した、 楽器メーカ仕様のチップしか選択肢がなかったのである。 ところがディジタル信号処理の技術が一般化して、汎用のDSPチップが 提供されるようになると、状況は研究者のために好転した。コンピュータに 演算エンジンとしてDSPボードを組み込み、DSPのマイクロプログラムとして 楽音合成アルゴリズムを記述すれば、原理的には誰でもオリジナルな 楽音合成システムを構築できる可能性が生まれたのである。 ただし、汎用DSPは一般に単純な演算器を持つだけの「裸のハードウェア」 であって、固有のマイクロプログラミングは音楽家に手の出せるものから ほど遠い、相当にエンジニア寄りのものでしかなかった。 そして時代はさらにソフトウェア化を進めている。コンピュータに組み込む 信号処理エンジンボードは、IRCAMのISPWにおいてDSPでなくRISCチップを 採用することになった。これはリアルタイムの世界でも「楽音合成のソフト ウェア化」が始まったことを意味する。DSPハードウェアに固有の表現でなく、 RISC用コンパイラがエンジニアリング寄りの処理をブラックボックスの内部に 隠して、さらにこの上の階層にMAXライクなGUIが置かれて、ようやく 音楽家が抵抗なく楽音合成や信号処理のアルゴリズムを直接にプログラミング (作曲)できる環境が登場した。 ここにきて、楽器メーカやDSPチップメーカの論理と離れて、自由に楽音合成 をプライベートに研究・実践できる時代が到来した。コンピュータ技術の 進展はこの環境をより良好に、低廉に、多くの芸術家に提供していく だろう。マルチメディア技術によって映像情報と音響情報がリンクして、 やがては一般のエンターティメントとして、CGと同期してリアルタイムに 進行する楽音合成が実現していくものと思われる。そしてその時代になっても コンピュータ音楽の世界で変わらず重要なのは、 \begin{itemize} \item ユニークなアルゴリズムを創造する発想の自由さ \item 「合成音」楽器の永遠の理想である自然楽器との共存 \end{itemize} であろう。 %\chapter{音楽表記 (松島)} \section{専用言語による記述} %\subsection{邦楽記述言語} %ISO の標準化案 (SMDL, HyTime) \subsubsection{SMFとGM} SMF(Standard MIDI Files)は、MIDI形式の演奏情報を記述した共通の ファイル形式である。 SMFについては、MIDI規格協議会からオフィシャルドキュメント (RP-001 Standard MIDI Files 1.0)が入手できる。これは Recommended Practiceということで、MIDI規格そのものではない。 このSMFドキュメント入手手続きについてはまだ整備されていないが、 以下に問い合わせを示す。 \begin{verbatim}  MIDI規格協議会事務局  〒136 東京都江戸川区亀戸 1−35−12 サンコモンズ 201  TEL 03−3636−8908  FAX 03−3636−9372 \end{verbatim} GM(General MIDI)は、MIDI対応音源の音色配置やMIDIコントロールの プロトコルを共通化するための規格(案)であり、これもMIDI規格そのもの ではない。まだ整備されたドキュメントは用意されていないが、問い合わせ先 は同じ上記MIDI規格協議会である。 また、MIDI規格書の著作者はMIDI規格協議会であり、MIDI 1.0 規格 (Document Ver 4.1 日本語版)の取次所は以下のところである。 \begin{verbatim}  株式会社リット−ミュ−ジック 商品管理部  〒160 東京都新宿区新宿6丁目12番5号 新宿松喜ビル  TEL 03−3359−0267 \end{verbatim} \end{document} %%%%%%%%%%%% 参考文献リスト %%%%%%%%%%%%%%% \bibitem[Beau92]{icmc92:beauchamp} James Beauchamp and Andrew Horner. \newblock Extended nonlinear waveshaping analysis/synthesis technique. \newblock In {\em Proceedings of ICMC}, pages 2--5, 1992. \bibitem[Ben89]{ismis89:bennett} Gerald Bennett. \newblock Digital synthesis of the singing voice. \newblock In {\em Proceedings of ISMIS}, pages 32--36, March 1989. \bibitem[BS91]{icmc91:byyan} E.~Byyan and Mark~J.T. Smith. \newblock An analysis-by-synthesis approach to sinusoidal modeling applied to the analysis and synthesis of musical tones. \newblock In {\em Proceedings of 1991 ICMC}, pages 356--359, 1991. \bibitem[Coo92]{icmc92:cook} Perry~R. Cook. \newblock A meta-wind-instrument physical model, and a meta-controller for real time performance control. \newblock In {\em Proceedings of 1992 ICMC}, pages 273--276, 1992. \bibitem[Cla88]{icmc88:clarke} John Michael Clarke, Peter Manning, Ron Berry, and Alan Purvis. \newblock VOCEL : New implementations of the FOF synthesis method. \newblock In {\em Proceedings of 1988 ICMC}, pages 357--371, 1992. \bibitem[Dod89]{ismis89:dodge} Charles Dodge. \newblock Synthesized voices and musical fractals: Two natural models for computer music. \newblock In {\em Proceedings of ISMIS}, pages 46--50, March 1989. \bibitem[FM73]{chowning} John Chowning. \newblock The synthesis of complex audio spectra by means of frequency modulation. \newblock In {\em Journal of AES}, vol.21, num.7, pages 526--534, 1973. \bibitem[HBH92]{icmc92:horner} Andrew Horner, James Beauchamp, and Lippold Haken. \newblock Wavetable and {FM} matching synthesis of musical instruments tones. \newblock In {\em Proceedings of 1992 ICMC}, pages 18--21, 1992. \bibitem[HH92]{icmc92:holloway} Bryan Holloway and Lippold Haken. \newblock A sinusoidal synthesis algorithm for generating transitions between notes. \newblock In {\em Proceedings of 1992 ICMC}, pages 14--17, 1992. \bibitem[KKOH92]{icmc92:katrami} A.~I. Katrami, R.~Kirk, R.~Orton, and A.~Hunt. \newblock Deconstructing the phase vocoder. \newblock In {\em Proceedings of 1992 ICMC}, pages 392--393, 1992. \bibitem[Mooar]{moore} F.~Richard Moore. \newblock {\em Elements of Computer Music}. \newblock Prentice Hall, 1990. \bibitem[NAG92]{icmc92:nagasm} Yoichi Nagashima. \newblock Real-time control system for `psuedo granulation'. \newblock In {\em Proceedings of 1992 ICMC}, pages 404--405, 1992. \bibitem[OHK91]{icmc91:orton} Richard Orton, Andy Hunt, and Ross Kirk. \newblock Graphical control of granular synthesis using cellular autumata and freehand program. \newblock In {\em Proceedings of 1991 ICMC}, pages 416--418, 1991. \bibitem[Ris89]{ismis89:risset} Jean-Claude Risset. \newblock Issues for new music: Bridging gaps -- between computer sound and instrumental sound; between real-time and delayed synthesis; between digital synthesis and digital processing of natural sound. \newblock In {\em Proceedings of ISMIS}, pages 106--110, March 1989. \bibitem[Roads78]{roads} Curtis Roads. \newblock Granular synthesis of sound. \newblock In {\em CMJ}, vol.2, num.2, pages 61--62, 1978. \bibitem[Rod89]{ismis89:rodet} Xavier Rodet. \newblock Digital signal synthesis in music: Methods, means and applications. \newblock In {\em Proceedings of ISMIS}, pages 91--95, March 1989. \bibitem[Ros92]{icmc92:rossum} Dave Rossum. \newblock Making digital filters sound ``analog''. \newblock In {\em Proceedings of 1992 ICMC}, pages 30--33, 1992. \bibitem[Smi91]{icmc91:smith} Julius~Orion Smith. \newblock Viewpoints on the history of digital synthesis. \newblock In {\em Proceedings of 1991 ICMC}, pages 1--10, 1991. \bibitem[SRD88]{icmc88:serra} Marie-Helene Serra, Dean Rubine, and Roger~B. Dannenberg. \newblock The analysis and resynthesis of tones via spectral interpolation. \newblock In {\em Proceedings of 1988 ICMC}, pages 322--332, 1988. \bibitem[SS89]{icmc89:serra} Xavier Serra and Julius~O. Smith. \newblock Spectral modeling synthesis. \newblock In {\em Proceedings of 1989 ICMC}, pages 281--284, 1989. \bibitem[Str87]{aes87:strawn} John M.Strawn. \newblock Analysis and synthesis of musical transitions using the discrete short-time fourier transform. \newblock In {\em Journal of AES}, vol.35, num.1/2, pages 3--13, 1989. \end{thebibliography}