アルバム「Temperature」制作ノート

2004年から2013年までの10年間の気温データを素材に使った作品。 1年間で1曲、 全部 10曲で構成。 録音音源はフリーシンセ (Oatmeal) です。

[生成アルゴリズム ]

鶴岡市における過去10年間の気象データから、 日別の最高気温と最低気温の数値 ( +60) データを音程として使っています。 音の長さは西暦年を乱数の種にしてランダムに決定し ました。 曲のテンポには、 年毎の日別最高降水量の数値を使っています。

[プログラム ] (RScript)

# Temperature
mus_1=function(tempo=120,length=4,fluc=0,inst=c(1,1),year=2013){
data=subset(k06203,yy==year)
nnum=length(data$yy)
not1=round(data$kmx+60)
not2=round(data$kmn+60)
mml1=""; mml2="";
for(i in 1:nnum){
mml1=paste(mml1,"l",length,"n(",not1[i],")",sep="")
mml2=paste(mml2,"l",length,"n(",not2[i],")",sep="")
}
seed=paste("System.RandomSeed=",year,sep="")
titl=paste("TrackName={Temperature ",year,"}",sep="")
tmpo=paste("Tempo=",tempo,sep="")
trk1=paste("TR=1 P=64-24"," @",inst[1]," v.Random=80 t.Random=",fluc," ",mml1,sep="")
trk2=paste("TR=2 P=64+24"," @",inst[2]," v.Random=80 t.Random=",fluc," ",mml2,sep="")
return(list(seed,titl,tmpo,trk1,trk2))
}
play=function(score){
write(paste(score[1:length(score)],sep="¥n"),file="tmp.mml")
shell("cSakura -p tmp.mml> nul")
}
play(mus_1(year=2004,tempo=97,length="(RandomSelect(4,4,8))"))
play(mus_1(year=2005,tempo=72,length="(RandomSelect(4,8,8))"))
play(mus_1(year=2006,tempo=68,length="(RandomSelect(8,4,8))"))
play(mus_1(year=2007,tempo=83,length="(RandomSelect(4))"))
play(mus_1(year=2008,tempo=67,length="(RandomSelect(4,8,8))"))
play(mus_1(year=2009,tempo=82,length="(RandomSelect(2,4,4))"))
play(mus_1(year=2010,tempo=90,length="(RandomSelect(2,2,4))"))
play(mus_1(year=2011,tempo=189,length="(RandomSelect(4,4,8))"))
play(mus_1(year=2012,tempo=83,length="(RandomSelect(4,8,8))"))
play(mus_1(year=2013,tempo=107,length="(RandomSelect(4,4,2))"))

[アートワーク ]

2013年の日別の最高気温と最低気温、これを+60 した音程 (ノート番号)のグラフを{R} で作り、これをそのまま使ってみました。

この記事が気に入ったらサポートをしてみませんか?