Description
The project "What's in Your Imagination" draws inspiration from the magical doors of Howl's Moving Castle, where each click transports you to a different place in sound and feeling. Here, an elevator stands in for a sequencer. When the elevator buttons are pressed, they unlock a unique soundscape, filling the silent, often awkward space of the elevator with music and motion. Each button press represents a journey to a different "floor" or "destination," where new sounds and rhythms unfold, inviting users to explore and shape the world in their imagination.
Screenshots
Instruction
chuck go.ck
You can use your mouse to click on button 1-8 to see the difference.
Idea and Inspiration
Inspired by Howl's Moving Castle's magical door concept, my sequencer reimagines an elevator as a musical journey where each button click "opens a door" to a unique soundscape. Elevators often feel awkwardly silent, so this project transforms that space into an interactive, imaginative experience. Each button press plays a different sequence, creating a sense of traveling to new "floors" or destinations in sound. It’s designed to break the silence and bring an element of surprise and wonder to a normally mundane setting.
Code Structure
[Link]
go.ck
: The main file that initializes the elevator and the sequencer.Elevator.ck
: The elevator class that handles the elevator's visual and audio components.Button.ck
: The button class that represents each floor in the elevator.Door.ck
: The door class that controls the opening and closing of the elevator doors.Panel.ck
: The panel class that displays the floor number and button lights.Screen.ck
: The screen class that shows the visualizer for the current floor.Sequencer.ck
: The sequencer class that generates the audio for each floor.Sound.ck
: The sound class that plays the audio samples for each floor.
Reflection
Being a designer is both exciting and challenging. The creative process offers endless possibilities, where each project is a chance to imagine and bring something unique to life. However, design is also hard work, requiring constant problem-solving, adaptability, and attention to detail. A designer must balance creative freedom with real-world constraints, like user needs, deadlines, and technical limitations. It’s a role that demands resilience—concepts are often iterated, tested, and even scrapped. Yet, seeing an idea evolve from a rough sketch to a finished product is incredibly rewarding, making the hard work worthwhile. The journey is truly fulfilling.
Acknowledgments
I refered to lots of past projects and learn how to efficiently generate ChucK codes with readable structure.
Research Comment
In drum_machine.ck
, the design incorporates a step sequencer with a unique grid configuration. The top and bottom borders represent the same drum sound, likely adding rhythmic symmetry. The left and right borders are assigned to hi-hat sounds, creating a consistent percussive framework. Inside the grid, the different pitches are distributed across the rows and columns, where each row corresponds to a particular pitch, and each column corresponds to a specific time step in the sequence. This layout allows the user to easily construct layered and dynamic rhythms by activating or deactivating squares within the grid, adjusting both the pitch and the rhythm of the composition intuitively.
Another inspiration is from last year project, Julia Yu's 256A Project. She used a clock as the visualizer, where the hour hand serves as the key trigger for different sounds. As the hand moves around the clock face, it activates various audio cues at specific positions, making time a central element in the music. This setup creates a rhythmic progression that evolves naturally with the clock’s rotation, offering a seamless blend between the visual representation of time and the changing sounds. Each shift of the hour hand brings a new auditory experience, aligning both visual and audio in sync with the passage of time.
Some Ideas
Digital Clock
The clock would look like a traditional 7-segment display, with each line in the digit lighting up to represent active steps in the sequencer. Each of the 7 lines in the digit represents a unique pitch, and the dynamics (loudness) or envelope could be modulated based on how long the segments stay active. You could have multiple digits (hours, minutes, seconds), each controlling its own instrument layer (e.g., synth for hours, drum for minutes, hi-hat for seconds). Users can interact by manipulating the digits (turning on/off specific segments) in real-time to adjust which pitches are triggered. It could use synthesis to generate the tones associated with each segment or trigger audio samples tied to each pitch. Sequences can be saved in formats like MIDI or JSON, which capture the active steps of each 7-segment display and their timings. Tempo could be controlled by how quickly the digits change, with faster transitions resulting in a higher BPM.
iPhone Apps
Create an iPhone app that emulates the drum machine interface. The app could use the accelerometer to detect the device's orientation, translating the tilt into a change in pitch or volume. Users could shake the phone to clear the sequence or tap the screen to add a new step. The app could also incorporate multi-touch gestures, such as pinching to zoom in/out on the grid or swiping to scroll through different drum kits. The visual design could be inspired by retro drum machines like the Roland TR-808, with a skeuomorphic interface that mimics the physical buttons and sliders of the original hardware. The app could support MIDI output, allowing users to connect it to external synthesizers or DAWs for further sound manipulation.
Scratching Painting Platform
Using a Scratching Painting Platform as a linear music sequencer creates a visually and physically engaging way to compose. Users scratch along a linear canvas, with each scratch representing a note or sound. The height of the scratch dictates the pitch, while the intensity controls dynamics (loudness). Multiple parallel lanes allow for layering different instruments, such as synths or drums. Real-time input comes from directly scratching the surface, triggering sounds through either synthesis or pre-loaded audio samples. Sequences can be saved as digital image files (SVG or PNG) or exported as MIDI for playback. Tempo is adjusted by the speed of scratching or a separate control slider, allowing seamless integration of artistic movement and musical output.