Max/Msp/Jitter

Basic

Max
Object Oriented Programming
Shortcut
ToolBox
Mathematics
Physics
Probability
External Object
MIDI
DMX

Advanced

Psychoacoustics
mxj (Java Class Object)
Arduino
OSC

DSP/Synthesis

Recording & Playback
Time Stretching & Pitchshifting (ableton Live)
Wavetable Synthesis
White Noise (Joji Yuasa)
Sampleing & Processing (Autechre)
Scratching (Grandmaster Flash)
Glitch (Oval)
Theremin (Léon Theremin)
Comb Filter (Paul Lansky)
Auto Tune (Perfume)
Harsh Noise (Merzbow)
Vocal Chop (Prefuse73)
Blur (Akihiko Matsumoto)
Freeze (Jean-François Charles)
FM Synthesis (John Chowning)
Granular Synthesis (Iannis Xenakis)
Phase Vocoder (Charles Dodge)
Convolution (R.Luke Dubois)

Composition

Algorithmic Composition (David Cope)
Chaos Theory (Edward Lorenz)
Genarative music (Brian Eno)
Phasing (Steve Reich)
Markov Chain (Gregorian Chant)
Parallel Organum (Musica enchiriadis)
Shepard Tone (Jean-Claude Risset)
Spectral Technic (Tristan Murail)
12Tone Serial technic (Webern)
Data Mapping (Guido Da Arezzo)
Schenker Theory (Heinrich Schenker)
Tonal Harmony (Jean-Philippe Rameau)
Tintinnabuli (Arvo Pärt)
monome (Brian Crabtree and Kelli Cain)
Golden Mean (John Chowning)
Analog Sequencer (Robert Moog)
Pitch-class Set Theory (Allen Forte)
Irregular Rhythm(Igor Stravinsky)
Iso Rhythm (Philippe de Vitry)
Rhythmic Mode (Notre Dame School)
Graphic Score (Morton Feldman)
Tone Cluster (Ligeti)
Brown Noise (Leonin)
Fibonacci Series (Bartok)
Fractal (Charles Dodge)
Stochastic technic (Xenakis)

Video

Chromakey (Peter Campus)
Transition

Openmusic

Operation

Spectral Harmony (Tristan Murail)
New Complexity (Brian Ferneyhough)
12 Tone operation (Arnold Schoenberg)
Contour Inversion
Morphing

RTcmix

Basic

RTcmix
Unix Command
Unix Directory
Emacs Command

Synthesis/DSP

Additive Synthesis
Subtractive Synthesis
FM Synthesis
Delay
Flange
Comb Filter
AM Synthesis
Granular Synthesis
Phisical Modeling Synthesis
Waveshape Synthesis
Wavetable Synthesis
Stochastic Synthesis
PVOC

Wavetable Synthesis / ウェブテーブル音響合成

wavetable sequencer

ウェブテーブル音響合成とは

ウェブテーブル音響合成とは最も単純なデジタル音響合成の仕組みの一つであり、繰り返される音波の波形をテーブルと呼ばれる2次元の配列に格納し、再生時にはDACがその数値を参照し電気信号の時間的な変化を作り出す音響合成の仕組みです。実際に正弦波やノコギリ波、サンプリングされた具体音なども一旦このテーブルに波形データを書き込んでから、一定の周期でテーブルの値を順番に解釈し、再生することでピッチを発生させる仕組みが取られており、ほぼすべてがウェブテーブルの原理を利用していると考える事ができます。

ただし、アナログモデリングシンセサイザーなどは、このテーブルが動的に変化する仕組みがとられており、アナログ特有の揺らぎを再現しています。

サンプリングレートとビットの関係

180px-Sampled.signal.svgコンピュータを用いて、単位時間あたりの気圧の変化すなわち、音波を数値化する場合にはテーブルを用いてその数値を格納していくと前述しました。実際には上の画像のようにアナログな波動のある地点を採取し、数値として格納していきます。その際横軸のメモリをどれくらいの精度で取るかがサンプリングレート、サンプリング周波数によって決定されます。

例えばサンプリング周波数44.1KHzであった場合、横軸のメモリは一秒あたり44100回データを採取します。つまり赤い矢印が44100本1秒間に引かれます。このことからもサンプリング周波数が高ければ高いほど、音色が忠実にサンプリングされることが予想できると思います。

180px-Zeroorderhold.signal.svg
これに対して、ビットという単位は縦軸のメモリの細かさを表します。

例えば16ビットであれば、2の16乗、65536個分のメモリが取られることになるため、数字が高ければ高いほどこれも元の波形に忠実なサンプリングが行える事がわかると思います。

ただし、過度に高いサンプリング周波数やビットはデータを肥大化させるので注意が必要です。今回のウェブテーブルシンセシスのmax/mspパッチにおいては原音をシミュレートしたりする場合を除いて、低サンプル低ビットであってもその表現を十分に堪能することが可能です。

Palm Products GmbH(PPG)のウェブテーブル

ppg

コンピュータ音楽の研究は1950年代から始まっておりますが、この成果の一つであるウェブテーブル音響合成によるシンセサイザーが市販されるのはようやく1970年代に入ってからです。

Tangerine Dreamが使用していたことでも有名なPalm Products GmbHによるThe Waveという1975年のシンセサイザーから市販の歴史は始まります。現在ではReasonのmalstromというシンセサイザーもウェブテーブルの名残を残すシンセサイザーと言えるでしょう。

Max/MSPパッチで再現するウェブテーブル音響合成

音色の変更

Picture 9音色を決定する要因としては、波形があげられます。Maxにおいて、波形を自由に作る場合にはbuffer~オブジェクトに波形を描き、cycle~やwave~オブジェクトを用いてbuffer~の中身を再生する方法が考えられます。cycle~オブジェクトは512サンプルの固定された波形を再生するのに対して、wave~オブジェクトは可変長の波形テーブルを再生することができます。なお、サイン波を生成するためによくcycle~オブジェクトが利用されますが、この場合でも原理として512サンプルで正弦曲線を描くということは変わらないため、精度は高いとは言えない

波形の描き方は、いくつかありますが、このパッチではペンツールを用いてリアルタイムに書き込みが可能なアプローチを採用しています。

波形の描画はwaveform~オブジェクトを用いて行います。すぐ左側のツールバーの最下部の鉛筆の形をしたツールを選んでから、左のテーブルに波形を描いてください。正弦関数を描けばサイン波の音色が聞こえてくるでしょうし、ノコギリ波やパルス波も同様にドローイングで作り出す事が可能になります。フリーハンドで描く波形はどうしても波形の不連続が発生し、それが原因で高周波ノイズが発生してしまうことがあります。これを避けるにはフィルターなどでノイズ成分をカットするか、描画自体をフリーハンドではなく、一定の関数を生成するアルゴリズムから描画するという方法があります。この波形の違いがそのまま音色の違いとなります。

周波数の変更

Picture 10ウェブテーブル音響合成で生成される音の周波数はどのように決定されているかというと、それは波形テーブルの長さとサンプリング周波数によって決定されます。ここで言うサンプリング周波数とは一秒間に何回波形テーブルの参照を行うか、すなわち、上記のphasor~オブジェクトがどれくらいの周期を持っているのかで決定されます。波形テーブルの長さはbufferオブジェクトの横軸の数によって決定されます。

phasor~オブジェクトはcounterオブジェクトが接続されたitableオブジェクトによって、変化があたえられています。

Picture 12もしサンプリング周波数が1000サンプル/秒(Hz)でテーブルに1000個の値が格納されている場合、周波数は1000/1000となり1Hzとなります。これが3000Hzのサンプリング周波数、テーブルが500個の値を持っていた場合、出力周波数は3000/500 = 6Hzとなります。

デモンストレーション映像

ウェブテーブルシーケンサー

itabele

itable.maxhelp今回のパッチでは出力周波数をitableオブジェクトで動的に変化させています。itableオブジェクトとはtableオブジェクトのインナーフレーム版であり、別ウィンドウを開かずともテーブルの描画が行える特徴があります。この値が直接phasorオブジェクトに送られるため、直接周波数をテーブルに入力していく仕組みになっています。これはピッチベースのシーケンサーではなく、周波数ベースのシーケンサーとなるため、微分音的な表現や連続したグリッサンドもシーケンスとして記録していける点がMIDIシーケンサーとは大きく異なります。

更には再生しながらリアルタイムに変更を加える事ができるため、様々な可能性が開けます。

パッチのダウンロード

wavetable.maxpat (for Max5.x)
max5Runtime(上記のMaxパッチの実行用フリーソフトウェア for Mac)
max5Runtime(上記のMaxパッチの実行用フリーソフトウェア for win)

参考文献

コンピュータ音楽―歴史・テクノロジー・アート
コンピュータ音楽―歴史・テクノロジー・アート
東京電機大学出版局 2001-01
売り上げランキング : 241669

おすすめ平均 star
star最高の一言
starこの分野にとって偉大な一冊

Amazonで詳しく見る

Computer Music: Synthesis, Composition, and Performance
Computer Music: Synthesis, Composition, and Performance
Schirmer Books 1997-07-02
売り上げランキング : 10072

おすすめ平均 star
starコンピュータ音楽の教科書として持っておきたい

Amazonで詳しく見る

2061:Maxオデッセイ―音楽と映像をダイナミックに創造する!最高の開発環境を徹底解説
2061:Maxオデッセイ―音楽と映像をダイナミックに創造する!最高の開発環境を徹底解説
リットーミュージック 2006-10
売り上げランキング : 178890

Amazonで詳しく見る


Max/Msp Algorithmic Computer Music Online Tutorial