Releases: oplS15projects/The-Sherman-Keyboard
Final Submission
Milestone2
Milestone 2
For milestone 2, we have integrated both a volume slider and an attack slider into the GUI, added tones created through portaudio, and gotten further into researching how to properly edit the sine waves to create certain effects.
Stu:
keyboard.rkt:
The sounds that Kevin and Eamon have been working on are implemented into the keyboard, as opposed to the basic rsound tones which sounded much worse. I also added the fully functioning volume slider and attack slider that Kevin wrote. My next step is to add an animation for when the keys of the synth are pressed.
Eamon:
additive.rkt
This file was extended to create fundamental frequencies with a single procedure call and mock the qualities of piano timbre and clarinet timbre. Using hash tables to store and retrieve the fundamental frequencies, generated audio vectors, and properties of individual timbres.
Kevin:
effect-runner.rkt and all files under effects folder
Added two GUI sliders that allow a user to adjust the properties of sine waves. One slider is a volume slider that adjusts the amplitude of the tone. Another slider is an attack slider. The attack slider adjusts how fast a tone takes to reach max amplitude (volume). There are some minor issues regarding being able to hear lower frequency notes that I need to resolve and some performance issues. The procedures I created have been merged into the GUI that stu had written. My main task for now is to implement more audio effects and to add some presets a user can select.
Milestone1
All files should run as directed and all the parts of milestone 1, as drafted in the proposal, are completed. Currently different portions of the project are not merged together, this will be done as part of the next milestone.
Stu:
keyboard.rkt:
Load this file into drracket and select run. A GUI should appear allowing you to play basic tones through the use of either the mouse or the keyboard. Bindings for the keyboard match up to the "default" position on the keyboard (a - f keys for the left half of the keyboard, j - ; for the right half).
Eamon:
additivesynth.rkt:
Loading and running this file in drracket will produce a tone that shows some of the research that has been done into manipulating the synth audio to produce different sounds. Sine waves with different properties are overlaid to create a complex sound.
Kevin:
note_effect_tester.rkt:
Loading and running this file in drracket will produce a tone that increases in amplitude over time and then once it reaches a max amplitude it will gradually decrease in amplitude over time. This will serve as a sound preset that the user can select to illustrate the different sounds properties that can be manipulated by the interface.