.mid(MIDI) 파일을 파싱하여 아두이노 부저로 재생할 수 있는 C 코드를 자동 생성해주는 프로그램입니다. 중학생 때 아두이노로 이것저것 만들면서, 부저로 음악을 연주하고 싶었는데 일일이 음계와 박자를 손으로 입력하는 게 너무 비효율적이어서 만들었습니다.
아두이노 부저로 음악을 연주하려면 각 음의 주파수와 지속 시간을 하나씩 코드로 작성해야 합니다. 짧은 멜로디도 수십 줄이 필요했는데, MIDI 파일에는 이미 이 정보가 들어있으니 자동 변환하면 되겠다는 생각에서 시작했습니다.
MIDI 파일에서 각 음표의 피치, 길이, 타이밍 정보를 읽어서 아두이노의 tone() 함수 호출로 변환합니다. 변환된 코드를 아두이노에 업로드하면 피에조 부저를 통해 음악이 재생됩니다.