File size: 379 Bytes
345e5f1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
export type NoteEvent = {
  id: string
  midi: number
  start: number // in beats
  duration: number // in beats
  velocity: number
  lyric: string
}

export type TimeSignature = [number, number]

export type ProjectSnapshot = {
  tempo: number
  timeSignature: TimeSignature
  notes: NoteEvent[]
  ppq?: number  // Ticks per quarter note (for preserving original MIDI timing)
}