Boombox Sequencer
Becca Wroblewski 11/11/24 Music 256A / CS476a, Stanford University Boombox is a 90s-themed sequencer where you can play with samples from popular 90s songs across a number of different genres. Video of boombox Select the black bar in the top "radio" bar of the boombox. Use the right and left arrow keys to change the tempo. Select samples using the black buttons beneath the cassette tape case. Once a sample is selected, press the larger grey bars in the radio bar to select when they should be played in the loop. Press the colored buttons above the cassette tape case to change the samples to a different genre. The genres are (from left to right): Pop, R&B, Rock, Electronic, Hip Hop, and Grunge. Chuck Code Samples I was inspired primarily by the Teenage Engineering Medieval sequencer. I thought it would be interesting to take the idea of a sequencer with a time-period theme but focus on the 90s and incorporate into that the ideas of how the technology of the time period influences music. I also thought it would tie in nicely given that the technology of the period allowed for a heavier emphasis on sampling within music. Like with my visualizer, I feel like there are a lot more possibilities that I could have incorporated with more time (eg. adding filters/noise, adding more boombox movement, cleaning up the samples more, a more polished design). There are a few primary classes I used to implement this design. Most were based off of the architecture of drum_machine.ck. I have an instrument class which is used to implement each sample. An instance is created for each sample, the filename must be specified when creating the class instance. Each class has a play_all_full() method used to run the samples as well as an array with 8 entries to keep track of when each sample will be played. In the audio loop, play_all_full() is run for each sample. The GButton class is used to create each of the bottom set of buttons used to select the sample from each genre sample set. The GGenre class is used to create each of the colored buttons that switch between the different genre sets of samples. The GRad class implements the buttons used to select when each sample is played. The GTemp class is used to implement the button that controls the overall tempo. * Note * The names of the things are often inaccurate/misleading. Thank you very much to Kunwoo and Andrew for all your help. I used the drum_machine example heavily as reference. The following songs were sampled: ...Baby One More Time by Britney Spears, Believe by Cher, No Scrubs by TLC, Hey Mr. D.J. by Zhane, Supersonic by Oasis, Kool Thing by Sonic Youth, Creep by Radiohead, Around the World by Daft Punk, Rhythm is a Dancer by Snap!, Mo Money Mo Problems by The Notorious BIG, The Rain (Supa Dupa Fly) by Missy Elliot, Smells Like Teen Spirit by Nirvana, Burden in my Hand by Soundgarden. Video of sequencer milestone Here is a list of sources I looked into/sequencers I thought were cool: Moog synthesizers/sequencers History of synths Video of 960 sequencer Alesis MMT-8 Magazine archive article Use video Akai MPC One+ Website Teenage Engineer Medieval Website Use video I think I'm quite drawn to the look of the older-style kind of machinery-looking type synthesizers, though I also find them more obaque in terms of how they operate and a bit less intuitive to use and thus to quickly iterate and try new things. I think the medieval sequencer is quite fun and I like the idea of constraining the sounds and appearence to fit within a very specific aesthetic. |