Skip to content

Instantly share code, notes, and snippets.

@atsushieno
Last active May 27, 2017 05:05
Show Gist options
  • Select an option

  • Save atsushieno/aec55acde5ac9969bb2edc6406bbbb9c to your computer and use it in GitHub Desktop.

Select an option

Save atsushieno/aec55acde5ac9969bb2edc6406bbbb9c to your computer and use it in GitHub Desktop.
ALDA評価メモ

What is alda?

  • 音楽記述言語 https://github.com/alda-lang/alda/
  • PPMCKと LilyPondとChucKにインスパイアされている(つもりらしい)
  • text to MIDI / scores
  • clojureで実装 一部clojurescriptにもある?

Syntax notes

  • note命令: cdefgab
    • ♯: c# d# e#
    • ♮: c_ d_ e_ // 変数代入構文で=を使っているらしく、ナチュラルには使えない。
      • _はタイ・スラー・ポルタメントの類で使いたいのに、これで使えなくなってしまった
  • length: c c4 c4. c500ms c2s
    • これではmsを別の命令に割り当てられない
  • markers: named positions
  • その他の表現要素はclojure attributes: (octave 4) (panning 50) ...
    • これではまともに入力する気になれない
  • 制御構文
    • ループ: [ ]
  • 和音の入力方式が独特?
    • c/e/g が基本和音構文
      • オクターブ指定(相対のみ?)は挟み込める
      • エクスプレッションが異なる和音はどうするの? 対応不能?
    • 音長指定があった場合は、最も短いものが和音指定全体の長さとして使用され、続く音は続行している他の音に重なる
      • アルペジオ奏法が楽に指定できるはず

評価

  • good
    • APLでもここまで人気が集められる
    • MIDIだけでなくサウンドエンジンまで計画していて野心的
      • でも実現性あるの? 不明
  • bad
    • lilypondとの相互運用?が主眼になっている(時期があった?)っぽく、演奏用としての音楽記述言語は機能が薄くびみょい
    • 構文設計が甘い。1文字単位で命令を処理しなければならないMMLで安易にアルファベット識別子を導入すると利用可能な命令語が減る
    • 手入力を前提にするなら、もっと命令を豊富に用意するべきだし、そうでないならもっと手入力しやすいDSLが必要(もとがMMLなので手入力を前提にしていると思うが…)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment