Skip to content

Earendel-lab/better-nothing-music-visualizer

 
 

Repository files navigation

FireBetter Nothing Music Visualizer

Get it on GitHub

🌐 Read this in other languages:

🇮🇳 हिन्दी 🇮🇳 Marathi 🇹🇷 Türkçe

Partying Face The Android App is here!

We have successfully moved from the simple Python script to a powerful Android app! It grabs the live audio stream from your device using Media Projection and processes it directly into the glyphs. This means you can visualize music from Spotify, YouTube Music, and basically any other app without manual processing! No more local files only!

Thinking Face Why does this exist?

For a lot of people (including me), the stock Glyph Music Visualiastion provided by Nothing feels random.
Even if it technically isn’t, the visual response to music just isn’t very obvious. On top of that, the feature isn’t really using the full potential of the Glyph Interface. So that’s why I made my own music visualizer.

⚖ Stock vs Better Music Visualizer

Feature Nothing Stock Better Music Visualizer
Light levels ~2-bit depth (3 light levels) 12-bit depth (4096 light levels)
Frame Rate ~25 FPS 60 FPS
Precision Feels random, it's hard to acually see how it's synced Uses FFT analysis to precisely determine the intensity of each light
Zones Standard, full physical glyphs are used Each glyph segment and sub-zone is used and controlled independently
Visualisation method Real-time only Realtime with down to 20ms latency, or pre-processed audio files

See the difference in action! Click here to easily browse our video demos!

📲 Supported Nothing Phone Models

Currently these models are supported:

  • Nothing phone (1)
    • Needs glyph debug mode ON for the app, set through an ADB command: adb shell settings put global nt_glyph_interface_debug_enable 1. This will be fixed once Nothing gives us their API key.
  • Nothing phone (2)
  • Nothing phone (2a)
  • Nothing phone (2a plus)
  • Nothing phone (3a)
  • Nothing phone (3a pro)
  • Nothing Phone (4a)

partial support:

  • Nothing Phone (4a pro)
  • Nothing phone (3)

⚙ How it works (technically)

  • A high quality audio stream is captured
  • FFT (Fast Fourier Transform) is used to analyze frequencies in a 20 ms window for each 16.666 ms frame (60 FPS), making the visualization more accurate
  • Frequency ranges for each glyph zone are defined in zones.config and are fully customizable.
  • The brightness of each glyph is defined by the peak magnitude found in its assigned frequency range
    This measures how loud different frequency “zones” are
  • Downward-only smoothing is applied to make the animation smoother while preserving responsiveness (this is the secret sauce)
  • Then it's ready to be displayed on the glyphs!

📖 How to use the App?

  1. Download the latest APK from the releases.
  2. Grant Permissions: The app needs Screen Capture (Media Projection) and Notification access.
  3. Start Visualizing: Hit the "Start" button and play music from any app!
  4. Adjust Latency: If the lights aren't perfectly synced with your Bluetooth speaker or headphones, use the Audio tab to add or remove delay.
  5. Change Presets: Explore different visualization styles in the Glyphs tab, and tune the values to your liking!

📖 How to use the python script?

The usage is pretty simple and straightforward. Nevertheless, we made a detailed wiki page which explains the installation, usage, configuration files in detail and a troubleshooting section. You can also find out how to make new presets(not yet tho). Just click here to see how to use musicViz.py as a python script. You know what's cool? You can convert an unlimited number of files in bulk without any trouble!

Handshake Join our community

You want to talk or discuss? Bugs, feature requests? Feel free to jump in and join us in the official discord thread in the Nothing server!

🏗️ Contributing

Come and help us! Contributions are very welcome! You can:

  • Open issues
  • Submit pull requests
  • Suggest improvements
  • Experiment with new visualization ideas
  • Create new presets
  • Disscuss with the developpers

🔒 Security

The link to the VirusTotal scan can be found here:
https://www.virustotal.com/gui/url/c92c1ff82b56eb60bfd1e159592d09f949f0ea2d195e01f7f5adbef0e0b0385b?nocache=1

Copyright Credits:

Here are the people involved in this project:

StarStar History

Star History Chart

About

This script should be used in conjunction with SebiAi's glyph tools to have better music visualization on nothing phones. Because the one that nothing made is not that good after all.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Kotlin 56.7%
  • Java 28.7%
  • Python 14.6%