いらないモノ、ひつようなモノ

書籍、音楽、そして若干のテクノロジー

csoundの利用方法*2

←csoundメモ 目次に戻る
csoundはaudio/midiのリアルタイムモード等が加わってどのような使い方ができるか?

非ライブ利用の場合

  • csoundのみを使って1曲をレンダリングする方法。オーケストラとスコアファイルを書いてcsoundで結果をオーディオファイルを落としてそのファイルを聞くという最もオーソドックスな方法。スコアファイルの書き方やオーケストラの使い方に色々なバリエーションがある。
    • テキストエディタemacscsoundモードやCsoundEditorなどを使って淡々とスコア、オーケストラを書く方法
      • メリット:csoundに生で接するので多くを学べる。
      • デメリット:だんだんスコアを書くのが辛くなる。楽器の再利用など考え始めるが面倒な単純作業が必要
    • blueなどの環境を使ってスコアファイルやオーケストラファイルを再利用したり作成したりしてオーディオファイルに落とす方法
      • メリット:楽器の再利用や単純作業を省けるだけでなく、プログラムしかかけないスコアを書けるようになる
      • デメリット:環境の意味を突然学ぼうとしてもcsoundの中身が分からないと無理。つまりくじける*1
  • DAW環境にて、一部のトラックのみをcsoundで受け持ち、他を他のS/W,H/Wの楽器が受け持つ場合。
    • テキストエディタを利用してスコアやトラックを書いたり、blueなどを用いる場合
      • メリット:今までどおり、、よいところもある、が、
      • デメリット:他のトラックと合わせるのが異常に辛いので実質NGだと思う。
    • 代用の音源を用いてMIDIでトラックを作り、MIDIファイルをexportしてcsoundのスコアファイル代わりに喰わせトラックダウンしてDAWにオーディオファイルを取り込む
      • メリット:MIDIファイルを食わせるだけで比較的簡易にレンダリング可能。
      • デメリット:多分テンポの変更までは正確に取り込めないのでは?(未確認)
  • 両者の中間的な方法として、csoundだけで一曲を作り上げる。その時DAWの考えを導入して楽器毎にトラックダウンできるようにスコアファイルなどを構造化しておく。曲が一旦出来上がった後、各トラック毎にトラックダウンして、外部のエディタやDAWでエフェクトをかけて最終的にミックスダウンする方法
    • スコアファイルを構造化しひたすらエディタで書き下す。
      • メリット:blueなどの作曲環境に比べかなり透明化し、理解はしやすい
      • デメリット:構造化することもBlueのような環境を使うことも大差なし。しかも繰り返し処理を手動で行うのは辛い
    • スコアファイルを構造化し、スコアをスクリプト言語で処理し繰り返し処理や各種パラメータ制御をおこなう*2
      • メリット:比較的中身が透明化されており理解がしやすい
      • デメリット:構造化することもBlueのような環境を使うことも大差なし。しかもスクリプト言語の使い方を強要される。

ライブ利用の場合*3

  • ライブ利用の場合*4
    • リアルタイムシンセとして使う方法.。NoteやCC#などのmidi信号をもろもろcsoundに送ってシンセサイザとして利用。完全ライブ演奏向き。
      • デメリット:やはりlatency
      • メリット:??(わざわざCsoundをつかってそこまでする必要あるのか?)
  • 音色を制御するパラメータだけをライブに制御する方法更する。
    • シーケンサからMIDIのリアルタイム入力で発音させて、CC#やピッチベンドを流し込む
      • デメリット:やはりlatencyがあるだろう。制御信号だけならライブ感は落ちそうだが出来そう。またJackとか使ってそれほど安定して動くかというのはかなり疑問。
      • メリット:別にこれをArdourなどで録音すれば、熟れてないがトラックダウンをしているのとほぼ同じ。
    • シーケンサからのMIDI入力ではなくMIDIファイルの入力でもよさそう。
      • デメリット:MIDIファイル+外部MIDI信号を組み合わせて本当に使える(要確認だがそんな必要ある?)
      • メリット:MIDIファイルだけなら結構お手軽(スコアファイルの方がよりお手軽っぽいが)
    • 発音するところはスコアで書き下すが、CC#やピッチベンドを受けて、楽器の特性を変更する
      • デメリット:よりlatencyを抑えられそう。
      • メリット:同じくトラックダウン的な手法としてはあるかもしれない。
  • 外部MIDI機器からPADやtenorionの音源として利用する方法。つまり信号入力に対してフレーズを繰り返し出力のON/OFFを制御する*5
    • スコアのnote情報を保存しておいて鳴らすタイミングやベロシティーをライブ入力する。GEN23のファンクションテーブルにファイルから数字を読み込ませてスコア情報を読み出すこともできるだろう。同時に音色制御も可能だろう
      • メリット:うーん
      • デメリット:やはりPADは反応が大事。Latencyが気になる。
  • シーケンサで鳴らしながらメロディーをまず作って。音色のニュアンスを追加変更して。最終MIDIファイルでレンダリングすると言う方法もあるだろう。

番外編

Csoundの得意なオフライン的な使い方と新しいライブ的な使い方どちらにも当てはまるかもしれないが、MIDIやScoreのメロディーや音色制御の情報からアルゴリズム的に副旋律を決めてゆくのも楽しいかもしれない。puredataや他の副旋律生成ソフトウエアが必要だろう。また生成した副旋律をPAD的に外から叩くと言うのも楽しそうだな*6

*1:私はその昔、挫けました。。

*2:実際このワークフローをイメージで「静かな夏」という曲を作ってみました。そのプロセスはここここ参照してください。また今後もこの手法でいかに使いやすいものにするかを考えて改善してゆくつもりです。

*3:当然、私にそんな経験はありませんので想像の域を越えません

*4:こちらの経験はありません

*5:中間にpuredataとか入れておいて、MIDI信号の変換処理をしたりできるかな?

*6:きっととっくの昔に考えられてるだろうな