# aldakit Architecture

# Input
alda: Alda Source
py-api: Python API
midi-in: MIDI Input {
  style.stroke-dash: 3
}

# Core
ast: AST

# Output
midi-out: MIDI Playback
midi-file: MIDI File

# Flows
alda -> ast: parse()
py-api -> ast: to_ast()
py-api -> alda: to_alda()
midi-in -> ast: transcribe() {style.stroke-dash: 3}

ast -> alda: export()
ast -> midi-out: play()
ast -> midi-file: save()

midi-file -> ast: import() {style.stroke-dash: 3}