• To create a Midi file using the computer keyboard or a USB (Piano like) keyboard and play it using the sound card. Reads and saves files as well. Records sound as wav file.
    Midi Editor

    To parse Midi at the byte level consult the Vogan poetry found here
    Midi Specification
    Midi Msg Summary

    or in human readable form convert a Midi file to text using:
    Midi to CSV and back

    a b c d e f g
    0 0 Header 1 7 384
    1 0 Start_track
    1 0 Text_t "Creator: GNU LilyPond 2.6.4.3 "
    1 0 Text_t "Generated automatically by: GNU LilyPond 2.6.4.3 "
    1 0 Text_t "at Mon Mar 6 20:16:27 2006 "
    1 0 Text_t "at Mon Mar 6 20:16:27 2006 "
    1 0 Title_t "Track 0"
    1 0 End_track
    2 0 Start_track
    2 0 Key_signature -1 "minor"
    2 0 Time_signature 2 1 18 8
    2 0 Title_t "\new"
    2 0 Tempo 500000
    2 6144 Note_on_c 0 69 127
    2 6912 Note_off_c 0 69 64
    2 6912 Note_on_c 0 74 127
    2 7680 Note_off_c 0 74 64

    One thought was to adapt the following to Espruino. It uses square, sine and triangle waves.
    Is there an easy way to get theses waveforms using PWM?

    Sonic Pi Mario Tune

    When using the DAC to play a sound sample it would be useful to be able to stop the sample output at some point mid stream. Is there a way to do this?

    As time allows I'll setup and record the sound from the code above and post it.

    Is there a synthesizer or sound chip that uses I2C or SPI that Espruino could control?

About