Music 256A / CS476a, Stanford University
Homework 3: Sequencer



Milestone 3
Nov 13, 2023

See the video demo here

Screenshot:





How to Run the Program:

1. Please download the zip file and open the folder in IDE of your choice. ChuGL version: 0.1.3 (alpha), ChucK: 1.5.1.8 (chai).
2. Run the following command in terminal: chuck run.ck

Files are here.


Additional Comments

I changed the design of this sequencer quite a bit -- I decied to have stationary circles along the layered circles that the user can click to make sound (rather than the user adding polygons using the mouse). The GUI is used to control gain & tempo. The idea was to also have each circle act as a window so when it is active/clicked on, then the little character should show when the clock ticks to that part of the circle. I struggled to make it look nicer/more aesthetically pleasing with the windows so I just decided to go with ManguUVMaterial, with each circle rotating to create a changing color effect.
Resources I used include: Pages to draw, QuickTime, and thanks to Andrew's drum machine example to create the sequencer mechanics + Tristan's kick/snare adjusted



Milestone 2
Oct 29, 2023

In-progress sequencer here on google drive

For this audiovisualizer, I went with idea #1 from milestone 1. I had most of my trouble with the keyboard and mouse input, but I got it to work recently so I plan on working on that part more before the final milestone. I also had trouble with learning how to sync up the audio with the graphics/when to use sporks but I think I'm getting better at it (for now). I'm aiming for the user to be able to also control the sequencer using a GUI. Maybe also controlling the camera angle?







Milestone 1
Oct 29, 2023

Research on Music Sequencers

Here are some online examples I found of sequencers:

  • Euclidean sequencer 1.1
  • demo of the sequencer
  • I really like this one! I think it passes all the marks of what I would want for an audiovisualizer sequencer. It's very simple and pretty but also customizable.

  • Music Pattern Generator
  • Website version
  • I don't really understand how to use this one yet, but I like the platform/design that they created. I'm not looking to create a platform for this project, but this was an interesting one to look at on how they designed each node structure and the connecting nodes editor.

  • ALMAMPlayer
  • an example I found
  • This one I know from last year because it was all over twitter. This one is a pretty cool midi visualizer which lets you customize parts of the midi player -- icons/bars/colors/background/camera angle. Ideally, I would want to create something like this, which allows for a lot of different customizations while also offering the key parts of a midi/audio visualizer.


Idea #1: Clock sequencer
drawing:
idea #1, clock

For this one, I wanted to use a clock with the arrow being the playhead. There would also be a GUI to customize/add effects/change tempo/play the clock in reverse (anti-clockwise). If I have more time, I'd also like to play with the camera angle.


Idea #2: camera + tunnel

I wasn't sure how to draw this one. The main idea is that the camera will be moving forward along an axis (probably the z-axis) and into a tunnel. Along the tunnel will be changing colors/shapes that will align with the audio to create a sequencing effect. The rate at which the camera is traveling in the tunnel would be the playback rate/tempo. This might be difficult to visualize though so I might add in a playhead at the top of the screen to show the progress/where the camera is at in the length of the tunnel. I'd also have 3d rotating shapes in the tunnel, which the user can add along the way/affected by the audio narrative.
For context, this is the kind of tunnel I'm thinking of.


Idea #3: character traveler

idea #3, character traveler
This one features a character walking along the screen, so I think it'd be in 2d. I haven't figured out what determines the ground that the person is walking on, but I would think that it reflects something in the audio (waveform would probably be too jagged to walk on). The sky would also change depending on where the person is at in the audio file. Or, I was thinking the sky consists of the nightsky with customizable pulsing stars/planets. I'm not sure if I'd keep the playhead at the bottom of the screen but that's the idea for now.