Giter Club home page Giter Club logo

muvis-v0.9's Introduction

MuVis

MuVis is an open-source multiplatform app (using SwiftUI, Swift, and Xcode) for music visualization. It renders informative (and musically useful) graphical displays in real time from music files being played - or from the device's microphone. Further details are provided in the project's User Guide, Developer Guide, Audio Processing Guide, and Visualizations Guide documents. (See here.)

This app runs on macOS, iOS, and iPadOS devices.

Real-time music visualization is an exciting endeavor - providing the user with dynamic visual and aural stimulation and edification. I am hoping that others will benefit from my research - and perhaps build upon what I have started. I will strive to continuously improve this app as time allows. Feel free to contact me if you wish to contribute or collaborate. (I am new to GitHub and Swift programming, so I would appreciate any help from experienced-others who can improve my code.)

When the MuVis app first opens, the on-screen display should look somewhat like:

OpeningScreen

and the computer's speakers should be playing music from a pre-loaded royalty-free music file. (Currently, the song file is "The Elevator Bossa Nova" from Bensound.com.) The on-screen display shows a real-time dynamic visual representation of the audio that you are hearing.

Click-and-drag any corner of this window to freely re-size it to any width and height you wish.

On a Mac, the menu bar at the top shows the app's title "MuVis - Music Visualizer", and the toolbar beneath it shows the name "Spectrum" of the particular visualization selected for display. (These are omitted on an iPhone or iPad, to allow more screen space for the visualizations.) The bottom toolbar contains buttons and sliders to allow you to control what you see.

At the bottom right are two buttons labelled "Prev Vis" (Previous Visualization) and "Next Vis" (Next Visualization) which allow you to cycle through the twenty-or-so visualizations currently provided by the app.

At the bottom left is a button labelled "Light" which when-clicked toggles the app's window to Light Mode. (Alternatively, if the window is currently in Light Mode, the button label will be "Dark" and when-clicked will toggle the window into Dark Mode.)

The adjacent button is labelled "Turn Mic On". When pressed it stops playing the audio from the selected song file (and also stops it's visualization), and starts playing the live audio from the microphone (and starts it's visualization). The label then becomes "Turn Mic Off" - which, when pressed, performs the reverse actions.

The next button is labelled "Select Song". When clicked, a sub-window pops up to allow you to select whatever songs you want from your own Music folder. Selecting a song (by navigating your Artist and Album structures and clicking on its name) causes that song to play - and the visualization to render its dynamic attributes.

The bottom toolbar also contains two sliders - one labelled "Visualization Gain" and the other labelled "Visualization Treble Boost". As their names imply, sliding them adjusts the gain and slope of the visual data representation.

muvis-v0.9's People

Contributors

keith-43 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

treata11

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.