Skip to content

Originally created as a visualizer project for the Uvic class CSC 475, cube.space is a 3D visualizer that uses audio input and primitive-object transformation to create visually interesting images.

Notifications You must be signed in to change notification settings

GraemeClarke/CSC_475_Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cube.space

An audio visualizer project intially designed for "CSC 475 - Musicial Information Retrieval Techniques", no longer in development.

alt text

How to run:

Download project .zip to run on macOS, Windows (untested), or Linux (untested).

For quick-launch/viewing, run "cube.space (demo version)".

Mac: cube.space (demo version).app
Windows: cube.space(demo version).exe
Linux: cube.space(demo version).x86

To run the built-in microphone, input-based version (MacOS only) run "cube.space(mic version).app"

To run the wav file input version (MacOs only), run "cube.space (wav version)" located in the folder "WAV Reading Version". This application file can be ran in any directory that has wave files, and it will recognize/visualize them in sort order. Note that this version is experimental, music is unpausable and wont be played until initial hitting of space key.

alt text

Controls

-Left/Right: Change song.
-Up/Down: Change visualizer.
-Space: Play/Pause
-H: Show/hide song/visualizer title.
-J: Enable/disable "auto swap" between visualizers.

alt text

Visualizations Included (In order of appearance)

Tunnel_Scale: Continuous rings composed of 70 cubes each move towards the screen while being uniformly scaled based on audio input (sample).

Tunnel_Transform: Continuous rings composed of 80 cubes each move towards the screen while being transformed towards the "center" of the ring based on audio input (sample).

Spectogram_Line: A standard spectogram visualization that transforms a line of 30-cubes vertically based on audio input, while a second line of cubes move/fall based on real-time physics.

Spectogram_Line_Flow: A spectogram visualization that places 30-cube lines based on audio input (sets height), then transforms them towards a deletion point.

Spectogram_Circle: A spectogram visualization that transforms the height of a circle of 30 cubes vertically based on audio input. A second circle of cubes move/fall based on real-time physics.

Sphere_Cubes: A spectogram visualization that places 250 cubes in the shape of a sphere, transforming them towards the center of the sphere based on audio input.

Sphere_Spheres: A spectogram visualization that places 250 spheres in the shape of a sphere, transforming them towards the center of the sphere based on audio input.

Sphere_Cubes_75: A modified version of Sphere_Cubes that uses 70 cubes instead of 250, thus using less audio samples and favouring lower frequencies.

Spectogram_Line_1024: A modified version of Spectogram_Line that visualizes based on every single sample in a given audio file (experimental)

Spectogram_Line_1024_Balanced: A modified version of Spectogram_Line_1024 that linearly scales up higher frequencies in an attempt to give a more "balanced" visualization (experimental)

Spectogram_Line_Avg: A modified version of Spectogram_Line_1024 that averages/divides each bin at a sample rate of 1024 into 100 cubes, and scales accordingly.

About

Originally created as a visualizer project for the Uvic class CSC 475, cube.space is a 3D visualizer that uses audio input and primitive-object transformation to create visually interesting images.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published