Project #7 Autobiographical Game - Theremin Night
Twinkle, twinkle, little star. How I wonder what you are!
Proposal
Ideation
Music is a hobby that I am very passionate about, but I do not have many “accomplishments” in this field.
But every time I look back through my memories or mention autobiographical, there was an experience when I was in high school which I am always proud of.
And this experience has also built my motivation for music now. Here is a brief narrative:
It was a class-based choral competition, so each class needed to have a piano accompanist. Unfortunately, I was the only one in my class who played the piano before,
but I had not continued practicing for three to four years. The date of the competition was very tight, which made me feel very stressed.
I used two or three hours every night to practice this one accompaniment, and it was very difficult to regain muscle memory. The cooperation with my other chorus students was also delayed.
In the end, I made it, without any mistakes! But I still remember that my legs were shaking on stage and I could not even keep the reverb pedal stable.
The best part was that after I got off the stage, some other students came up to congratulate me and asked me if I had ”revised“ the score to make the melody better.
Even more surprisingly, I won the award for best accompanist! This has once again rekindled my passion for playing music!
Although I play the guitar more than the piano now, that one accompaniment is still stored in my fingers. Oh, that piece is from the musical Cats and is called Memory.
I want to convert this intense, purposeful and impressive experience of mine into a game. And the interaction features of mouseX and mouseY remind me of another type of instrument,
a very rare but fun instrument, Theremin. The theremin is controlled by the position of your hands in the air. And such sound effect is unique. More about Theremin (Wikipedia).
Storyboard
I have designed a short plot for this new story, with three parts as shown above.
Design Process
Theremin Sound Interaction
Controlled by mouseIsPressed, mouseX, mouseY. Horizontally match the frequency (pitch), vertically match the volume. The sound is generated by the p5.Oscillator. The type of oscillation is triangle. Also, the reverb and delay effects are attached to the sound, in order to simulate the tone of a theremin.
Theremin Grid System
I create a grid of dots to match the specific notes we can play. I map the frequency from C4 (261.626Hz) to B4 (493.883Hz) to the overall width. Then the whole width is divided into semitones according to the Equal Temperament. The Equal Temperament divides the octave into 12 parts, all of which are equal on a logarithmic scale, with a ratio equal to the 12th root of 2 (12√2 ≈ 1.05946). So the for loop of this grid follows this isometric series. In addition, the grid system is written in to an array, for the connivence of retrieving location information when creating those notes.
Visual Design
I design the graphic of the theremin, the hand (mouse), and decorative elements in pixel style. Also, I load the font of “PressStart2P” from the Google font library.
Theremin Simulator
Reflection
The approach used to develop this game was very comprehensive and used all the techniques and methods I have learned this semester. Also, I reviewed many mathematical calculations that I had almost forgotten.
At the same time, I also found some disadvantages or limitations about p5. Although p5's javascript-based properties make HTML webpages very easy to load, once complex interactions and effects are involved, it can cause some chaos on the code side. But I know there are text editors other than the p5 editor that can organize this kind of confusion. This is also something I can explore in the future.
Credits
N/A