サクラトップ 掲示板トップ ログイン

CHORDで作曲2 for PICOSAKURA - サクラ曲掲示板6

曲掲示板6にエディタ機能が追加されました!気軽に曲を作成してみましょう!
森と泉

CHORDで作曲2 for PICOSAKURA

森と泉ピコ対応
MML先頭 2000 文字だけ表示していますダウンロード全文を見る
  1. //コード進行
  2. Array CD=("Am","Dm","E7","Am","A7","Dm","G7","C","E7","Am","Dm","G7","C","E7","Am","Dm","E7","Am");
  3.  
  4. RandomSeed=1234
  5.  
  6. Print("CD=",CD)
  7.  
  8. //音符パターン(拍ごとのタイの確率)
  9. Array TT0=(0,33,33,33,33,33,33,33) //ほぼ8部音符
  10. Array TT1=(0,66,33,66,33,66,33,66) //ほぼ4部音符
  11. Array TT2=(0,66,66,66,33,66,66,66) //ほぼ2部音符
  12. Array TT3=(0,66,66,66,66,66,66,66) //ほぼ全音符
  13.  
  14. Int CD1=SizeOf(CD)
  15. Array TT   //音符パターン
  16. Array ZZB  //ノート(n表記)
  17. Int RR    //乱数
  18. Int R1    //乱数
  19. Int NN   //ZZBのsize
  20. Int ZZ0
  21. Int Z9=67 //旧ノート(n表記)
  22. Int VV //velocity
  23. Int V9=100 //旧velocity
  24. Str MM="" //MMはMML、M1は小節毎のMML
  25. Str M1="TrackName={'CHORDで作曲2 PICOSAKURA'}
  26. Copyright={'Moritoizumi'}"
  27. Print(M1);MM=MM+M1;M1=""
  28. M1="Tempo=120 TR=1 CH=1 @(NewAgePad) V(100) v100 l8 q98 TrackKey=6 P.onNoteWave(32,96,!4)"
  29. Print(M1);MM=MM+M1;M1=""
  30.  
  31. For(Int I=0; I<SizeOf(CD); I++){
  32.  
  33. IF(CD(I)="A+7"){ZZB=(58,70,82,50,62,74,53,65,77,56,68,80)}//コード内のノートはn表記の
  34. IF(CD(I)="A7"){ZZB=(57,69,81,49,61,73,52,64,76,55,67,79)} //48~83とし、9音または12音に
  35. IF(CD(I)="Am"){ZZB=(57,69,81,48,60,72,52,64,76)} //してください。
  36. IF(CD(I)="B"){ZZB=(59,71,83,51,63,75,54,66,78)} //ここにないコードは作って下さい。
  37. IF(CD(I)="B7"){ZZB=(59,71,83,51,63,75,54,66,78,57,69,81)}
  38. IF(CD(I)="C"){ZZB=(48,60,72,52,64,76,55,67,79)}
  39. IF(CD(I)="C+7"){ZZB=(49,61,73,53,65,77,56,68,80,59,71,83)}
  40. IF(CD(I)="C+dim"){ZZB=(49,61,73,52,64,76,55,67,79,58,70,82)}
  41. IF(CD(I)="C7"){ZZB=(48,60,72,52,64,76,55,67,79,58,70,82)}
  42. IF(CD(I)="Caug"){ZZB=(48,60,72,52,64,76,56,68,80)}
  43. IF(CD(I)="Cdim"){ZZB=(48,60,72,51,63,75,54,66,78,57,69,81)}
  44. IF(CD(I)="Cm"){ZZB=(48,60,72,51,63,75,55,67,79)}
  45. IF(CD(I)="D+7"){ZZB=(51,63,75,55,67,79,58,70,82,49,61,73)}
  46. IF(CD(I)="Dxm"){ZZB=(51,63,75,54,66,78,58,70,82)}
  47. IF(CD(I)="D7"){ZZB=(50,62,74,54,66,78,57,69,81,48,60,72)}
  48. IF(CD(I)="Dm"){ZZB=(50,62,74,53,65,77,57,69,81)}
  49. IF(CD(I)="Dm7"){ZZB=(50,62,74,53,65,77,57,69,81,48,60,72)}
  50. IF(CD(I)="E7"){ZZB=(52,64,76,56,68,80,59,71,83,50,62,74)}
  51. IF(CD(I)="Em"){ZZB=(52,64,7
作者からのコメント
先の「自作コード進行から作曲してみよう」を改良してPIKOSAKURAで動くようにしました。コード進行を変えてみてください。
同じコード進行でもRandomSeedを変えると曲が変わります。
コードは種類がたくさんあって書ききれないので、C調かAm調のコード進行を使って、後はTrackKeyで移調すれば良いのではと思います。
作曲者
自作
ライセンス
🌐パブリックドメイン商用利用 ○改変 ○改変も転載も自由
転載
許可
推奨音源
soundfont
ピコサクラ対応
対応
ピコサクラバージョン
0.1.38
動画
なし
投稿日時
2025-01-15 15:26
更新日時
2025-01-15 16:26
お気に入り
てれふたる
ダウンロード数
141
→この曲(id:2712)に問題がある場合こちらへ

感謝のコメント

森と泉2025/01/18
てれふたるさん、有り難うございます。いろんなコード進行を入れてみてください。下側タブにMMLが出力されます。
サクラで使用する場合、RandomSeedの行を削除してください。なしで毎回曲が変わります。
てれふたる2025/01/18
森と泉さん、素晴らしいツールをありがとうございます。場合により次の小節のコードを、半拍先取りして入ってくるところもすごいですね。
昨日からハマっています。「こんな感じで使ってみました(^^)」みたいなスクリプトをアップしてもよろしいでしょうか。
森と泉2025/01/18
てれふたるさん、どうぞどうぞご自由にアップしてください。楽しみにしています。半拍先取りは意識してませんでした。
森と泉2025/01/20
全くのランダムだと音の変化が最大約36半音(3オクターブ)となり、とても聴けません。そこで、MMLを工夫しました。
下から12行目のスクリプト・・・
ZZ0<37は前後の音の変化を6半音以内にしています。
ZZ0<50とすれば前後の音の変化を7半音以内にします。
ZZ0<26とすれば前後の音の変化を5半音以内にします。
この曲に「ありがとう」を伝えませんか?
ひとことの感想が、作った人にとって何よりの励みになります。
定型文のボタンもあるので、キーボードが苦手でも大丈夫です。