このサイト
コードで使うテンション(リディアン・クロマチック・コンセプト) : ジャズ理論
を読んで理解する予感を得て,原著を参照し一応理解した.
そして,soundquestのLCCのページを読んで,自身の理解と一致することを確認した.
さらに,原著のChart Aに,自身が理解した内容が含まれていることを確認し,
Chart Aが示すコードとスケールの対応の読み方が分かった.
このサイト
コードで使うテンション(リディアン・クロマチック・コンセプト) : ジャズ理論
を読んで理解する予感を得て,原著を参照し一応理解した.
そして,soundquestのLCCのページを読んで,自身の理解と一致することを確認した.
さらに,原著のChart Aに,自身が理解した内容が含まれていることを確認し,
Chart Aが示すコードとスケールの対応の読み方が分かった.
Five Graphic Music Analysesの"Ich bin's, ich solle büssen"の分析を見た.
Url.Tafelから3.Schicht, 2.Schicht, 1,Schicht, Ursatzと見比べていくと,
VossのアルゴリズムでfBm信号を生成する過程の逆に似ていると思った.
VossによるfBm生成過程は,あるサンプルと直後のサンプルとの中点に乱数を加算し,サンプルを増やしていくことだ.
シェンカー分析において表層から深層にたどる過程は,増えていったサンプル(=労作された音符)を取り除いていくことだ.
旋律生成のために頭音を労作する方法が同書の分析から読み取れる.
以上のような労作の方法は『調性音楽のシェンカー分析』に網羅的に示されていたが,感覚的にわかりにくかった.
Five Graphic Music Analysesでは,1曲全体を複数の構造レヴェルで分析した結果が示されており,感覚的にわかりやすい.
出典:若林敦. 理工系の日本語作文トレーニング. 朝倉書店, 2000.
(i) 図書を示す場合([ ] は書かない場合もある):
著(編)者名 | 書名 | [版表示] | 出版社(者)またはシリーズ記載 | [出版地] | 出版年 | [ページ] |
[版表示]=初版は不要.改訂版・増補版及び第2版以後の版は必ず表示する.
[ページ]=引用箇所,参照箇所を特に指定する場合に表示する.
[出版地]=日本語の文章では,書かないことが多い.
(ii) 図書収蔵論文を示す場合:
論文の著者名 | 論文名(表題) | 所収図書の編(著)者名 | 書名 | …途中は,上の図書を示す場合に同じ… | [ページ] |
[ページ]=記載する場合は所収論文の掲載されているはじめのページとおわりのページを記す.おわりのページは省略してもよい.
(iii) 雑誌論文,雑誌記事を示す場合:
著者名 | 記事タイトル,論文名(表題) | 誌名 | 巻(号) | 発行年 | [ページ] |
[ページ]=記載する場合は論文,記事の掲載されているはじめのページとおわりのページを記す.おわりのページは省略してもよい.
function sig=voss(hurst,len) %Vossのアルゴリズムによってフラクショナルブラウン運動を生成する. %husrt:Hurst指数 %len:出力するデータ長 %2^n+1>=lenとなる最小のnを求め,その長さでfBmを生成する lenFbm=2^ceil(log(len-1)/log(2))+1; %初期化 fBm=zeros(lenFbm,1); %fBmの終点と始点の値を決める. fBm(lenFbm)=0; s2_0=1; %fBm(lenFbm)の値を決める乱数の分散.このパラメタによりfBm全体の振幅が変わる. fBm(lenFbm)=randn()*sqrt(s2_0); %再帰的に残りの点を決める. fBm=calcmidpoint(1,1,lenFbm,fBm,hurst,s2_0); %出力するデータの長さを指定された長さで打ち切る sig=fBm(1:len); end function fBm=calcmidpoint(n,a,b,fBm,hurst,s2_0) %n:再帰の深さ %a:区間の左端要素の添字 %b:区間の右端要素の添字 %fBm:フラクショナルブラウン運動の時系列データ %hurst:ハースト指数 %s2_0:fBm(end)の値を決めるのに使った乱数の分散 %中点の添字を計算 mid=(b-a)/2+a; %中点が整数番目の添字を持つなら中点の値を計算する. if mid==fix(mid) %s2:分散 s2=( ( 1-2^(2*hurst-2) )*s2_0 )/( 2^(2*hurst*n) ); %中点の値=区間の両端の値の平均値+分散 fBm(mid)=(fBm(b)+fBm(a))/2+randn()*sqrt(s2); fBm=calcmidpoint(n+1,a,mid,fBm,hurst,s2_0); fBm=calcmidpoint(n+1,mid,b,fBm,hurst,s2_0); end end
matlabプログラムで分散特性に対する時間間隔を両対数グラフにプロットする.
Hurst指数がHのフラクショナルブラウン運動(fBm)の信号に対して分散-時間間隔をプロットすると,
両対数グラフ上で傾きが2Hの線形となる範囲が現れる.
フラクショナルブラウン運動の生成プログラム - 雑感等に記載したプログラムを用い,
Hurst指数H=0.2, 0.5, 0.8のfBm信号を生成し,分散-時間間隔をプロットした.
が小さい領域では線形にプロットされる.
H=0.2
H=0.5
H=0.8
分散-時間間隔をプロットするmatlabプログラム
%使用例 %fBm=csvread('fBm.csv'); %dif_time(fBm) %第二引数は空で良い function dif_time(sig,fs) if 1~=exist('fs') fs=length(sig); end ts=1/fs; loopMax=length(sig); meanMoment=zeros(loopMax,1); subplot(211) for k=1:100:loopMax diffSquareSig=(sig(k+1:end)-sig(1:end-k)).^2; loglog((k*ts), ( mean(diffSquareSig)) ,'o') hold on end ylabel('<|f (t+\tau)-f (t)|^{2}>','FontSize',16) xlabel('\tau','FontSize',16) subplot(212) plot(sig) ylabel('amplitude','FontSize',16) xlabel('time','FontSize',16) set(gca,'FontSize',12) end