Music Compiler: An Exercise in the Use of Coroutines
Location
CSU 202
Start Date
23-4-2007 3:00 PM
End Date
23-4-2007 5:00 PM
Student's Major
Computer Information Science
Student's College
Science, Engineering and Technology
Mentor's Name
Leon Tietz
Mentor's Department
Computer Information Science
Mentor's College
Science, Engineering and Technology
Description
Conventional music players typically use either interpreters or streamed sound samples. This project presents an alternative to these by compiling a Protracker music file into a stand-alone binary program. The first goal was to create a program that is smaller than a music file that uses a statically-linked interpreter. A secondary goal was to require less overhead than an interpreter or a streamed audio file. The technique of music playback used here is based on coroutines. One coroutine is used for the main music score and additional coroutines are used to perform time indexed special effects for each of the voices. Both the programming language used to implement this compiler and the language of the programs it generates are ANSIC 1989.
Music Compiler: An Exercise in the Use of Coroutines
CSU 202
Conventional music players typically use either interpreters or streamed sound samples. This project presents an alternative to these by compiling a Protracker music file into a stand-alone binary program. The first goal was to create a program that is smaller than a music file that uses a statically-linked interpreter. A secondary goal was to require less overhead than an interpreter or a streamed audio file. The technique of music playback used here is based on coroutines. One coroutine is used for the main music score and additional coroutines are used to perform time indexed special effects for each of the voices. Both the programming language used to implement this compiler and the language of the programs it generates are ANSIC 1989.
Recommended Citation
Crow, Samuel. "Music Compiler: An Exercise in the Use of Coroutines." Undergraduate Research Symposium, Mankato, MN, April 23, 2007.
https://cornerstone.lib.mnsu.edu/urs/2007/oral-session-08/5