Thursday, July 23, 2009

Work Progress - Jul 27 to Jul 31

Synthesizer tool - Reference materials
* Java API for music: http://www.jfugue.org/
* Interval can be modelled with Duration: here [p.6]
* Instrument can be changed with I command: here [p.11]
* Model magnitude with frequency: here [p.27]
* Example usage: here
* Frequency of musical note: here
* Reference on drawing line with jogl: here

pCSDT Prototype




In the Synthesizer engine, one can specify the display mode of all the functions (a line showing the function continuously, or dots showing when the note is played - see above screenshots), the music mode (whether exact pitch is to be played, or nearest standard note instead), the tempo (overall speed of the music) and uniscale of the graphical display.

Polynomial (up to degree 4), rational (up to degree 4 for each of numerator and denominator) and exponential functions are the three component pObject implemented. One can specify the start time and end time of each function object separately, so piecewise function can be composed (See the red line in the above screenshot for an example). One can also customize the instrument used, the length of time the note is held (8th note, quarter note, etc), and the time interval between adjacent quarter note.

Musical notes are played on clicking the RUN button. The music can be stopped anytime on clicking the same button again.



The working prototype has been uploaded to the repository.

No comments:

Post a Comment