JUNO-G の音色定義ファイルを作る

初版 2019/09/02 18:19

改訂 2019/09/03 21:35

JUNO-Gを演奏させるプログラムを作りやすくするため、音色定義ファイルを作ってみる。


完成したデータ(JUNO-G.h)がこれです。全部で768行あります。


サクラの音色指定(プログラムチェンジ)は次のように書きます。


@(PC#,MSb,LSB)


この( )の中に書いてある配列に名前を付けておけば、プログラムも書きやすくなりますし、音色のイメージもわかりやすくなります。


まずはプリセット音色の定義がか書いてあるマニュアルのページから、コピペしてグループ毎のテキストデータを作ります。グループAだと、こんな感じのデータになります。


awkで整形してCSVデータ(pr-set_1.csv)を作ります。


[pr_convert.awk]


BEGIN{

   OFS=","

}

{

   if (NF==7){ct=$(NF-1) "." $NF; nm=$2 $3 $4;}

   if (NF==6){ct=$NF; nm=$2 " " $3 " " $4;}

   if (NF==5){ct=$NF; nm=$2 " " $3;}

   if (NF==4){ct=$NF; nm=$2;}

   sn=nm

   gsub("& ","",sn)

   gsub(/['!?().\/]/,"",sn)

   gsub(/[ +&-]/,"_",sn)

   if (substr(sn,1,1)<="9"){sn="_" sn}

   print st,NR,nm,sn,ct

}


$1 グループ

$2 PC#

$3 音色名

$4 サクラ用の音色変数名

$5 カテゴリー


awk -f pr_convert.awk -v st="A" PR-A.txt > pr-set.csv

awk -f pr_convert.awk -v st="B" PR-B.txt >> pr-set.csv

awk -f pr_convert.awk -v st="C" PR-C.txt >> pr-set.csv

awk -f pr_convert.awk -v st="D" PR-D.txt >> pr-set.csv

awk -f pr_convert.awk -v st="E" PR-E.txt >> pr-set.csv

awk -f pr_convert.awk -v st="F" PR-F.txt >> pr-set.csv


連番を振っておきます。


awk '{print NR "," $0}' pr-set.csv > pr-set_1.csv



このCSVデータから音色の定義ファイルを作ります。


[JUNO-G_PR.awk]


{

   if ($2=="A"){lsb=64}

   if ($2=="B"){lsb=65}

   if ($2=="C"){lsb=66}

   if ($2=="D"){lsb=67}

   if ($2=="E"){lsb=68}

   if ($2=="F"){lsb=69}

    print "Array " $5 "=(" $3 ",87," lsb ")   // " $4

}


awk -f JUO-G_pr.awk pt-set_1.csv > JUNO-G.h



サクラで内容をチェックしてみます。


音色名の重複がかなりあるので、重複しているほうの名前の前に"_"を付けて、名前が一意になるようにします。


ということで、サクラではこんな感じのプログラムが書けるようになります。



Include(JUNO-G.h)


System.RandomSeed=0001

@(Warm_Strings)

Tempo=30

v.Random=24 t.Random=240 q(Random(90,160))

[(16*16) Time(Random(16)+1:Random(4)+1:0) n(Random(12,96))]


Int TM=Time/TimeBase*(600000/Tempo)/10000 Print("演奏は "+TM/60+" 分 "+ TM%60+" 秒)




CSVデータを表計算ソフトに読み込めば、簡易な音色データベースになります。音色を探したり、音色名をコピペしたりと、便利に使えます。


テキスト処理ならawkですよ。awkは大好きな言語です。



#プログラミング #JUNO-G #サクラ #awk

様々なプログラミング言語を使って、音楽を自動作曲しています。

使用している言語

・awk
・COBOL
・JavaScript
・R
・サクラ
・ドリトル
・なでしこ


山澤昭彦 音楽関係プロフィール

山形県鶴岡市出身。1946年生まれ。尺八を学生時代に青木静夫(二代青木鈴募)・横山勝也の各氏から学ぶ。退職後にリコーダーを細岡ゆきに師事。
ブログラム言語を使って音楽を生成する「Generative Music」のアルバムを多数制作、近年はコンビュータを使った映像作品と生成音楽を組み合わせた「実験音楽工房展」を東京などて開催したほか、尺八古典本曲の演奏や多ジャンルのミュージシャンやダンサーとのコラボレーションなど、複合的なアート活動にも取り組んている。

2011年「実験音楽工房 A・COMPANY」プログラムによる生成音楽 制作開始
2012年「音系・メディアミックス同人即売会 M3」出展(2012 - 2015年)
2015年「厚木リコーダーオーケストラ」入団(2019年退会)
2015年「実験音楽工房展 2015」東京・山形
2016年「実験音楽工房展 2016」東京・山形・鶴岡
2017年「実験音楽工房展 2017」東京・鶴岡
2018年「県立鶴岡南高等学校吹奏楽研究会 50周年記念コンサート」企画開催
2018年「大人のリコーダーアンサンブル」(NHK文化センター 庄内教室)講師
2019年「鶴岡水上の音楽祭」芸術監督
2019年「尺八と生成映像による 観音」ライブシリーズを開始
2020年「佳興の会」をプロデュース 現在も年4回の邦楽ライブを開催中
2020年「アンサンブル・チコーニア」結成 活動開始
2020年「K×I×Y 三人展 vol.1 - 時の断片 -」SoundScape 2020
2021年「酒井家庄内入部400年記念事業 七絃琴復興プロジェクト」代表
2022年「K×I×Y 三人展 vol.2 - 時の戯れ -」フラクタルの樹・家具の音楽
2022年「酒井家庄内入部400年記念事業 芸術祭参加」音楽絵巻 その2
2023年「K×I×Y 三人展 vol.3 - 時の覚醒 -」四字熟語・ピアノのための響
2023年「鈴木順子×山澤昭彦 二人展 MindScape」@ 鶴岡アートフォーラム
2023年「山澤昭彦とその界隈」@ TACTおとアート2023
2024年「鈴木順子×山澤昭彦 二人展 CosmicEgg」@ 御茶ノ水 Gallery 蔵
2024年「Sa・Kura Music Week 2024」@ 御茶ノ水 Gallery 蔵
2025年「祈りの残照:尺八古典本曲演奏会」@ 東京大学東洋文化研究所




https://yamazawa.bandcamp.com/

Default