detector song; 
to get the filename
detector lyrics;
extracts lyrics
detector melody;
extracts melody
detector check;
to walk the tree
atom str name; atom str text; atom str note; midi: song; song: file lyrics melody check; file: name; lyrics: text*; melody: note*;

slide: A simple feature grammar for MIDI files