PD1: Sequencer
Total Page:16
File Type:pdf, Size:1020Kb
21M.380 Music and Technology Sound Design Pd assignment 1 (pd1) Sequencer Due: Monday, February 22, 2016, 9:30am Submit to: MIT Learning Modules Assignments 5% of total grade 1 Instructions Build a music sequencer in Pure Data. If you do not know what a sequencer is, the Online Sequencer1 will give you a practical under- 1 http://onlinesequencer.net/ standing very quickly. 2 Restrictions • Only Pd objects from Pd vanilla are allowed. Submissions that rely on objects from Pd extended will not be accepted! • Messages, number boxes, GUI elements, symbols, arrays, tables, and comments of all kinds are allowed. • Your patch should not rely on any external hardware besides keyboard and mouse. This rules out any MIDI controllers. 3 Guidelines 3.1 Programming guidelines It might help to think of your sequencer as an engineering problem in three parts and address them in the following order: Sound design Start by trying to build some interesting sounds that can be tested in isolation. Use the three simple sounds from figure 1 as a starting point and create additional sounds by adjusting the parameters in that patch as instructed. Try to introduce variety and come up with something that sounds interesting! 2 Time base Consult our main textbook for inspiration on how 2 Farnell 2010. to provide a time base that organizes the playback of your 1 of 4 21M.380, pd1 assignment HOW TO RUN THIS PATCH: ; 1 Turn on DSP by clicking this in run mode: pd dsp 1 2 In run mode, click either of the two [bang( messages or the square toggle box below 3 Adjust the numbers as instructed to create different sounds. osc~ 500 Change 500 to adjust frequency/pitch bang <- Click in run mode to produce sound Change 0.1 (between 0 and 1) to adjust amplitude/loudness 0.1, 0 200 Change 200 to adjust duration in milliseconds vline~ *~ phasor~ 800 Change 800 to adjust frequency/pitch bang <- Click in run mode to produce sound -~ 0.5 0.1, 0 400 Change amplitude and duration (same as above) *~ 2 vline~ *~ <- Click in run mode to produce sound metro 400 noise~ 0.1, 0 100 Change amplitude and duration (same as above) vline~ *~ dac~ Soundcard output (left and right speaker) Figure 1. Some simple sounds in Pd 2 of 4 21M.380, pd1 assignment previously designed sounds along a timeline. The patch from figure 10.9 in the book provides a good basis along thelines of what we have discussed in class. What is the output of the [select] object in figure 10.9 of the book? How could you connect that output to the sounds you have designed in order to automate their playback? Section 14.3 introduces some advanced concepts that you can use to create a more complex time base for your assignment. User interface What aspects of your sequencer should the user be able to control and how? Can one turn individual elements on and off? Toggle boxes ( Put Toggle ) should be useful to design an interface that can be controled with the mouse. If you feel adventurous, you can also check the help patch of the [key] object and use it together with [select] to build a sequencer that can be controlled with your computer keyboard. Resist the temptation to spend more time on GUI than on sound programming, though. 3.2 Musical guidelines There is no need to restrict yourself to any particular musical genre. However, if you feel that you lack musical inspiration or experience, it might help to think of your sequencer as providing the following layers and then implement them in that order: Rhythm in the form of a loop, comparable to the role of a drum kit in a band. Remember the patch that I built in the very first lecture for inspiration. Harmony in form of less repetitive chords, comparable to the role of keyboards, synthesizers, and rhythm guitars. Melody on top of everything else, comparable to the role of a singer or solo instrument. 4 Assessment criteria Functionality Does your patch work flawlessly on another ma- chine, potentially using a different OS, that runs Pd vanilla? Readability Have you cleanly separated the user interface part of your patch from the rest of the code? Have you cleaned up the code before submission, removing experimental or debugging routines that are not actually required to run it? 3 of 4 ИϹKYДξе. ϿβϺ ΞЅЅϔόϩϨζϩА ?q3 wRn 0R,nL3Nj30 wRna CNj3NjCRNc ,I3aIw $w CN,In0CN< 03c,aCUjCq3 ,RLL3Njc V Smi *QKK2Mi W] B8 wRna Uj,@ a3\nCa3c CNCjCICyjCRN $w j@3 nc3a V3Y<Y. ,IC,GCN< [bang( L3cc<3c. 3j,YW. @q3 wRn ,I3aIw I$3I30 s@C,@ cj3Uc N330 jR $3 ,RLUI3j30 CN Е s@C,@ Ra03a jR <3j Cj jR sRaG] i@3 T0 ,R0CN< ,RNq3NjCRNc Е http://www.earcatching.com/ UaRqC03 nc38nI cn<<3cjCRNc 8Ra a30$CICjw R8 wRna ,R03Y pdconv/ )+RLUnj3a* UaR<aLc Lncj $3 saCjj3N 8Ra U3RUI3 jR a30. N0 RNIw CN,C03NjIIw 8Ra L,@CN3c jR 3u3,nj3Y V$3IcRN N0 bnccLN ϺϮϮЎW +a3jCqCjw ?Rs CNj3a3cjCN< N0 0Cq3ac3 Cc j@3 cRnN0 sRaI0 j@j wRn @q3 ,a3j30] IcR. a3L3L$3a jR 8Ra<3j 3q3awj@CN< wRnȕq3 $33N jRI0 N0 ,a3j3 cRL3j@CN< j@j wRn 3NERw jR UaR<aL N0 ICcj3N jR6 χ bn$LCccCRN 8RaLj bn$LCj wRna ccC<NL3Nj c cCN<I3 .pd ~I3Y bn$Uj,@3c a3 IIRs30. $cja,jCRNc a3 NRjYϊ ϊ B8 wRn 0R NRj GNRs s@j cn$A Uj,@3c Ra $cja,jCRNc a3. 0RNȕj sRaaw. Encj LG3 cna3 wRn cn$LCj `383a3N,3c N0 nc38nI a3cRna,3c cCN<I3 .pd ~I3Y $3IcRN. ?aRI0 N0 ;3aI0 Dw bnccLN VϺϮϮЎWY bjan,jna3 N0 CNj3aUa3jjCRN R8 ,RLUnj3a UaR<aLcY ЙN0 30Y KBi Ta3ccY 7aN3II. N0w VЙзϺзWY /3cC<NCN< bRnN0Y +L$aC0<3. K N0 HRNA 0RN- KBi Ta3ccY Ўοο UUY ϔЅΪϩ- ϮЋοAзAЙЎЙAзϺϊϊϺAзY ϨϔА ϣϔΪЁΞЁЭ- 001782567Y ?a0,RUw N0 3I3,jaRNC, a3cRna,3Y ϊϱυϊ MIT OpenCourseWare http://ocw.mit.edu 21M.380 Music and Technology: Sound Design Spring 2016 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms..