Unformatted text preview:

PLT Final Report Analog Additive Synthesis Language AASL A programming language for the creation of original sounds Vaishnav Janardhan Rob Katz Carlos Rene Perez Albert Tsai May 7th 2007 Aasl Project Report 1 May 7th 2007 Table of Contents 1 Introduction 3 1 1 Abstract 3 1 2 A Brief History 3 1 3 Bibliography 5 2 Language Tutorial 6 2 1 Running the compiler 6 2 2 Example Program HelloWorld 6 2 2 1 Program Sections 6 2 2 2 Main Function 7 2 3 Example 2 7 2 3 1 Oscillator Banks 8 2 3 2 Envelopes 8 2 3 3 Mixers 9 2 4 Example 3 10 2 4 1 Segments 11 2 4 2 if for loops 11 2 4 3 User Defined Functions 12 3 Language Manual 13 4 Project Plan 26 4 1 Engineering Process 26 4 2 Programming Style Guide 26 4 3 Project Timeline 26 4 4 Team Roles and Responsibilities 27 4 5 Programming Guide and Software Development 27 5 Architectural Design 30 5 1 Architecture of aasl compiler 30 5 1 1 Lexical Analysis 31 5 1 2 Parsing 32 5 1 3 Tree walking Static semantic analysis 32 5 1 4 Code Generation 34 5 2 Structure of the source program 35 5 2 1 Header Section 36 5 2 2 User defined functions 36 5 2 3 Main function 36 6 Test Plan 37 6 1 Automation 37 6 1 1 String Comparison 37 6 1 2 JDF s JUnit ANTLR Framework 37 6 1 3 Code Generation Tests 38 6 1 4 Sample AASL Code tests 38 7 Lessons Learned 42 8 Appendix 43 Aasl Project Report 2 May 7th 2007 Chapter 1 Introduction Abstract The purpose of AASL is to simplify the creation of original sounds by allowing users to easily generate and combine the fundamental elements of sound composition oscillators mixers and envelopes without needing to create their own data structures and methods to do so In short the goal is to present those elements as atomic data types which are then manipulated by intuitive operators or functions A Brief History A synthesizer refers to a device that can create electronic signals for use as sounds The history of such devices begins with the Telharmonium in 1876 an electromechanical instrument Its inventor Thaddeus Cahill wanted to amplify electrical signals to produce audible noise To do so he created tonewheels wheels with raised bumps These tonewheels were held close to magnetic coils and the tonewheels were spun by an electric motor When the bumps were close to the coil electricity was generated through induction In the distance between the bumps little electricity was generated This produced an alternating current which when piped to a telephone receiver could be heard as a steady pitch By altering the number of bumps on the tonewheel the angular velocity and the distance of the magnetic coil to the tonewheel a wide range of pitches could be created And by combining multiple tone wheels the Telharmonium became polyphonic Cahill designed the machine so that the tonewheels could be controlled by a combination of a keyboard and foot pedals Unfortunately the volume of the sound depended on the size of the generator Eventually Cahill s Telharmoniums ended up several tons in size The first programmable electronic synthesizer arrived in 1957 the RCA Mark II Sound Synthesizer by Vladimir Ussachevsky and Peter Mauzey It was programmed with punch paper roll which specified the frequency octave envelope timbre and volume for 24 variable vacuum tube oscillators The Mark II would read in the paper tape and output sound to a synchronized shellac record lathe next to the machine Sophisticated mathematical musical operations were available such as high and low pass filtering noise glissando tremelo and patchable resonance and attenuation sections Alas the analog circuitry often had to be rewired before playing a program And because it couldn t be played in real time and little effort was made to make the programming accessible to layman composers the Mark II failed to achieve mass popularity Nevertheless not just technologically but musically the Mark II was significant because it granted composers the freedom to write music using rhythms and tempos that were not Aasl Project Report 3 May 7th 2007 practical or possible with acoustic instruments This precision was seen as a mark of aesthetic progress and contributed to the increased awareness of electronic music as a viable new art form The RCA Mark II can currently be seen at the Columbia Princeton Electronic Music Centre Analog synthesizers really came of age when Robert Moog introduced his synthesizers in 1964 The invention of the transistor had revolutionized computing machines by reducing power and size requirements and synthesizers followed suit With transistors replacing the vacuum tubes a keyboard interface and voltage controlled oscillators and envelope generators operated by knobs the Moog synthesizers brought the capabilities of the Mark II and more to the average composer Notably Moog s synthesizers were modular in design the output of one oscillator could be connected to the frequency amplitude of another oscillator At last the world had a synthesizer whose weight wasn t measured in tons It fueled an explosion of music incorporating or wholly composed with synthesized sounds This history is one of engineers and musicians trying to create novel new sounds and compositions with the newest technological developments Modern synthesizers are basically electronic instruments easily learned and played by anyone with familiarity to musical instruments in general However we believe it would be fruitful to explore a niche area where the fields of computer science and music converge This class in compilers gives us the opportunity to create a programming language orientated to the synthesis of new sounds With it precise sounds can be made by specifying frequencies and amplitudes with integers instead of knobs and mathematical relationships expressed in music What does Pythagorean s Theorem sound like Well if one oscillator was at frequency a 2 another oscillator at frequency b 2 and a third at a b 2 you could find out or you could create compositions that were not humanly playable or you could create normal pieces as well of course These are but toy examples but they do express the possibilities with our language We can see common musical components in all synthesizers Oscillators beginning with Cahill s tonewheels produce electronic signals which are described by three attributes a waveform a frequency and amplitude These synthesized signals are combined with mixers to produce a final sound in modern language this process is called additive synthesis as compared to subtractive synthesis These


View Full Document

Columbia COMS W4115 - PLT Final Report Analog Additive Synthesis Language

Documents in this Course
YOLT

YOLT

13 pages

Lattakia

Lattakia

15 pages

EasyQL

EasyQL

14 pages

Photogram

Photogram

163 pages

Espresso

Espresso

27 pages

NumLang

NumLang

6 pages

EMPATH

EMPATH

14 pages

La Mesa

La Mesa

9 pages

JTemplate

JTemplate

238 pages

MATVEC

MATVEC

4 pages

TONEDEF

TONEDEF

14 pages

SASSi

SASSi

16 pages

JTemplate

JTemplate

39 pages

BATS

BATS

10 pages

Synapse

Synapse

11 pages

c.def

c.def

116 pages

TweaXML

TweaXML

108 pages

Load more
Loading Unlocking...
Login

Join to view PLT Final Report Analog Additive Synthesis Language and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view PLT Final Report Analog Additive Synthesis Language and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?