• このエントリーをはてなブックマークに追加

スポンサードリンク

はじめに

最近 perfume がすごく好きになった. 中田ヤスタカ氏の CAPSULE も好き.きゃりーぱみゅぱみゅは好きでない.

そんな中, テクノミュージックの講座を coursera で見つけたので, Try してみた.

この講座の内容は大きく分けて 2 つ.

  • 音楽技術の歴史の紹介
  • テクノミュージックの作曲の実践

中田ヤスタカさんのような曲がいつかつくれるようになる?!

コンピュータと音楽の歴史を学ぶ

この講座のひとつの特徴は, 音楽の技術の歴史を動画を交えて紹介していくところ.

音楽の技術とは, コンピュータと音楽の関わりの歴史. だいたい, 80 年前くらい前から現在までの歴史の紹介.

Youtube で紹介された動画は, 再生リストにまとめてみた. ここの技術については, あとで動画を交えながら紹介.

現代音楽の軌跡をたどる旅

それは, 現代音楽の歴史といってもいいかもしれない.

クラシック音楽がずっと好きだった. しかし, そんな自分も, 最近はクラシック音楽に対する興味をほとんど失ってしまった. 10 年以上きいてきたが, 飽きた.

なぜなら, それはクラシック (古典) だから.新しさがないのだ.

クラシックやオペラの楽しみかたの一つは, 作品に対する指揮者や演出家によって異なる解釈の差異をみつけることだ. 昔は, そういう解釈の違いがおもしろいと思ったが,最近は, 気の毒におもう.

作品という絶対的なルールのなかで, なんとか独自性をだそう, 指揮者や演出家が必死でもがいているように見える.

そんなことを思っている今日この頃に, この講座を受けた.

この講座で紹介される音楽は, 奇妙な音楽なのだが, それらは, 既存の音楽の枠組みから如何にしてはみ出るかという挑戦の記録だ.

クラシック音楽が好きだったころは, 現代音楽はまったく好きになれなかっ たが, この講座を通じて, 現代音楽に好感をもち, 興味が沸いた.

彼らクリエイターは, 古典に頼ろうとせずに, 未来をつくろうとしている!

テクノミュージックの作曲に挑戦

この講座のもう一つの魅力は, テクノミュージックの作曲をするところ. 2 つの課題がだされる.

DAW (Reaper) をつかった作曲

講義では DAW (digital audio workstation) という, テクノミュージックをつくるためのソフトウェアをつかう.

具体的には, Reaper を利用する.これは, 60 日間限定の free 版.

Windows 版と Mac 版しかなくて, Linux では利用できなさそうだったので, Windows 環境で作業することにした.

日本語化パッチ

講義の中では 2 週にわたって, Reaper の使い方が紹介される. それをもちいて, 自分で曲をつくる宿題がだされる.

Perfume の曲も, こんな機材を使いながらつくるんだろうなとおもうと, なんだかうれしくなる.

課題は, じつは提出期限に間に合わなくて, 期限後に 3 時間くらいでやっつけで作成した. 宿題だしわすれて単位を落とすというのは, 非常によくあるパターン…

作成した曲

アルゴリズム作曲 (Algorithmic Composition)

2 つめの課題は, アルゴリズム作曲.

簡単な歴史

大きく, 以下の 3 つにわけられる.

  • Stochastic Process (確率過程)
  • Rule-Based (ルールベース)
  • Artificial Intelligence (人口知能)

今回は, Python を利用してプログラムをかいて, プログラムから音楽を生成する.

EarSketch

音楽をつくるための Python API.

Geogia Tech が開発している. OSS でない. 現段階では教育ようなので, メジャーではない. Web 上で実行できたり, Python だったりするので, 使いやすい.

Hello world

もっとも基本的な記述.

from earsketch import * 

init () 
setTempo (120) 

mySound = TECHNO_CLUB5THPAD_001
fitMedia (mySound, 1, 1, 5)

print 'Hello world!'

finish ()

作成した曲

  • music
  • code
    # script_name: ProjectB.py
    # author     : tsu-nera
    # history    : created 2014.11.04
    from earsketch import *
    from random import *
    from math import *
    
    init ()
    setTempo (140)
    
    end_time = 38
    beat_list = ['0---0---00000+0+',
                 '0---------------',
                 '0+++++++++++++++',
                 '0+++0++++--------']
    
    setEffect (1, VOLUME, GAIN, -10)	
    setEffect (2, VOLUME, GAIN, -10)
    
    for i in range (1, end_time):
    	fitMedia (HOUSE_DEEP_ARPLEAD_001, 1, i, i+1)
    	fitMedia (HOUSE_DEEP_CRYSTALCHORD_001, 2, i, i+1)
    
    setEffect (3, VOLUME, GAIN, -5)
    for i in range (5, end_time):
    	fitMedia (ELECTRO_ANALOGUE_SPACELEAD_001, 3, i, i+1)
    
    setEffect (1, VOLUME, GAIN, -10, 9, -5, 13)	
    setEffect (2, VOLUME, GAIN, -10, 9, -5, 13)
    setEffect (3, VOLUME, GAIN, -5, 9, 0, 13)
    setEffect (4, VOLUME, GAIN, -25)
    
    for i in range (9, end_time):
    	makeBeat (OS_SNARE05, 4, i, beat_list[0])
    
    setEffect (1, VOLUME, GAIN, -5, 13, 0, 17)	
    setEffect (2, VOLUME, GAIN, -5, 13, 0, 17)
    setEffect (3, VOLUME, GAIN, 0, 13, 5, 17)
    setEffect (4, VOLUME, GAIN, -20, 13, -15, 17)	
    setEffect (5, VOLUME, GAIN, -10, 13, -5, 17)
    
    for i in range (13, 25):
    	makeBeat (OS_CLOSEDHAT05, 5, i, beat_list[1])
    	
    setEffect (6, VOLUME, GAIN, -5)
    for i in range (17, end_time):
    	fitMedia (ELECTRO_ANALOGUE_LEAD_002, 6, i, i+1)
    
    setEffect (3, VOLUME, GAIN, 5, 21, 10, 25)
    setEffect (4, VOLUME, GAIN, -15, 21, 0, 25)
    setEffect (7, VOLUME, GAIN, -20, 21, 0, 25)
    for i in range (21, end_time):
    	makeBeat (OS_SNARE06, 7, i, beat_list[0])
    
    setEffect (4, VOLUME, GAIN, 5, 25)
    setEffect (7, VOLUME, GAIN, 5, 25)
    setEffect (8, VOLUME, GAIN, 10)
    
    for i in range (25, end_time):
    	makeBeat (Y45_CRASH_1, 8, i, beat_list[2])
    
    setEffect (3, VOLUME, GAIN, 12, 29)
    setEffect (4, VOLUME, GAIN, 10, 29)
    setEffect (7, VOLUME, GAIN, 10, 29)
    
    for i in range (29, end_time):
    	makeBeat (OS_KICK04, 9, i, beat_list[3])
    	
    soundFolder = DUBDRUM
    
    for i in range (0, 20):
    	sound = selectRandomFile (soundFolder)
    	start = 29+ floor (gauss (5, 2))
    	end = start + randint (2, 2) * 0.25
    	track = randint (11, 20)
    	fitMedia (sound, track, start, end)
    	setEffect (track, VOLUME, GAIN, 12)
    
    fitMedia (TECHNO_WHITENOISESFX_003, 10, end_time, end_time+2)
    
    finish ()
    

印象的な音楽の紹介

最後に, 講義のなかで紹介された動画のなかで, 印象に残っているものをいくつか取り上げる.

THE GREAT ANIMAL ORCHESTRA by Bernie Krause: Water Sounds

サウンドスケープという方法. 音風景, 音景.

採取した音源を組み合わせて音楽をつくる.

Virtual Barber Shop (Audio…use headphones, close ur eyes)

バイノーラルサウンドという方法. 3D 映画のような体験ができる.

以下の動画は, ヘッドホンをつけてきくと, 本当におどろくぞ. 後ろに人が立っているような感覚に陥る.

Antescofo: Live Accompaniment Demonstration

スコアフォローシステム.

ピアノのテンポを自動検出して, 伴奏をつけてくれる. 一人で, ピアノコンチェルトだってできる.音大生が喜びそう.

Kinect でもにたようなことをしている人は結構いる.

Lejaren Hiller – Illiac Suite for String Quartet

世界初, コンピュータが作曲した音楽.イリアック組曲.

Iannis Xenakis- ST/10

確率などの数学を音楽に適用した音楽.

クセナキスが変態的な音楽だってことは, 前から知ってた.

David Cope Emmy Vivaldi

流行りの機械学習 (machine learning) で, ビバルディの音楽を解析して 自動作曲したもの.

人工知能すごい.チェスでもコンピュータが人間より強い時代だからな.

もはや作曲家いらない…??

A Study In Keith

Live Coding というもの. プログラムからリアルタイムで音楽を生成.

Live Coding については, 別記事でまとめた.

Process Music スティーブ・ライヒ

最後に, もっとも好きになった音楽. それは, ミニマル音楽.

これが好き.八重奏曲.