10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FoxDotによるLiveCoding方法 実践編2

Last updated at Posted at 2019-08-04

基礎編実践編1の続きです。

#ドラムをスピーディーにCodingしたい
1.JPG
 通常、ドラムはパート別やある程度まとめて書いたりしますが、1行で書く方法があります。例の4行目にありますが、1パ-トずつ**<>**でくくることで1行で書けます。d1,d2,d3,d4を同時に鳴らすのと同じです。この1行で書く書き方のいいところは、まとめてpanなど設定できるところもあります。テンポが速い曲とか、早くCodingしないといけない場合など役立ちそうです。

#ピアノを鳴らしたい
ピアノはprint(SynthDefs)で探してもありません。そこで、Windowsの場合、midiを使うこと鳴らす方法があります。まずはSuperColliderで
2.JPG
FoxDot.midiを実行し、次いで、MIDIClientを実行する。
3.JPG
そうすると、Microsoft GS wavetable Synthを使えるようになります。
1.JPG
そこで、FoxDotでMidiOutによりピアノを鳴らせます。

#コードに合わせてメロディーを変化させたい
1.JPG
 実践編1でルート弾きでもやりましたが、ch = var([5,2,3,0],[4,2,2,8])とするとコードを作れますが、これをベースで鳴らしつつ、メロディをp1で作り、ここでは[0,2,0,4]としましたが、これに+chとするだけで、コード上でメロディーが変化します。例ではshuffle()を加えて、実行するたびにコードが変わるようにしています。

#4小節目でメロディーを変化させたい
1.JPG
 〇回目で変化させるには、**every()**が有効です。例えばP[0,1,2,4].every(2,"shuffle")とすると。0,1,2,4,2,1,0,4などと2 回目でshuffle されます。P[0,1,2,4].every(3,"shuffle")の場合は0,1,2,4,0,1,2,4,2,1,0,4などと3回目でshuffleされます。では4回目で変えたいなら、3を4にすればといいと思いますが、この場合、実際は5回目にshuffleされます。それならばと、2と3を組み合わせればどうだと、P[0,1,2,4].every(P[2,3],"shuffle")にしたら4回目でshuffleになりました。shuffleの代わりに、mirrorなども使えます。これは一般によく曲で使われるメロディーの展開方法なので、多用しそうです。

#メロディーで音を抜きたい
1.JPG
 アルペジオで音を連続的に鳴らすと単調なので、休符を盛り込みたいところですが、休符はamp=0で音を消すことで作ります。特にランダムに休符を入れたい場合は**PRand()**が使えます。例えば、PRand(0,1)[:5]であれば、0,1,1,0,1など0と1がランダムに選ばれ、[:5]で5つ作れます。これをamp=(PRand(0,1)[:5])にすることで、アルペジオで連続していた音がランダムに休符で抜かれてパターンを変化させることができます。

#音に厚みをつける
 音に厚みをつける方法として、ギターでよくやるオクターブ奏法があります。これは、先のピアノの例で、oct=(5,6)とすることで、oct=5と6でオクターブ違いで2音鳴らします。主旋律などに特に使えるかと思います。基礎編でも書いたように、最後に+(0,2)などで和音にすることで厚みがでます。
111.JPG
 他にはエフェクトでダブリングのような効果をchop
susの合わせ技で表現できます。これら2つを聴き比べると、chop,susがある方が、印象的なのはよくわかると思います。ただし、これだとchop=4,sus=2だと4分音符が8分音符になります。
2.JPG
 音の長さはそのままで、同様な効果を狙うなら、**spread()**をつけても似たイメージになります。

#曲に変化をつける①フェードアウト
 どうしてもLiveCodingで曲を作ると、ループベースなので、同じ音が続きますが、大きく変化をつけようとすると、グループ化して一気に止めて、別に書いておいた音を鳴らすなどのアプローチもできますが、音を聴かずに準備しておくのは、経験を積まないと難しいところです。
 そこで、徐々に変化させていくパターンになるかと思います。まずはリード系の音を徐々に音を下げます。これは例えば、amp=var([0.8,0.6,0.4,0.2,0],[16,16,16,16,64])、または**amp=linvar([1,0],128)**で実現できます。十分長い時間を設定するか、途中でstop()かければ良いです。
 フェードアウト(デクレッシェンド)の効果をこれで実現でき、クレッシェンドも逆に音を大きくしていけば同様にできます。
 この間に、リズムパターンやコードを変えていくことで、曲に変化をつけることができます。

#曲に変化をつける②ソロからの元の演奏
1.JPG
一度、ソロにしてから、他全部を鳴らすアプローチもよくありますが、これは例えば、**b1.solo()**として演奏しておいて、nextBar(lambda:b1.solo(0))と書くと、次の小節始まりからソロにする前の状態で鳴るようになります。lambdaのところはλでも良いです。ソロから戻りたい場合はこの書き方は覚えておくと良いです。

#曲に変化をつける③転調
1.JPG
 最後のサビの繰り返しで転調するのは、POPSの定番ですが、曲のキーを変えるのは、Root.default=1で数値を指定して変えれます。これは実行して即変わるので、タイミングよく実行しましょう。

 このくらい知識がつけば、あとはYouTubeなどでFoxDotで検索し、うまい人のパフォーマンスに学び、実践していけば、どんどん身につくと思います。

 役立ちそうな技は随時追加、更新していきます。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?