npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

chaosophia

v0.1.7

Published

A recursive musical journey through chaos and wisdom.

Readme

ChaoSophia

A recursive musical journey through chaos and wisdom.

ChaoSophia

Overview

ChaoSophia is an interactive musical application that allows users to explore the relationship between visual glyphs and musical patterns. Each glyph represents a unique melody that can be played, manipulated, and exported.

Features

  • Interactive Glyph Visualizer: Visual representation of musical patterns with real-time animation
  • Multiple Glyphs: Four unique glyphs (Spiral, Puzzle, Feather, Crystal) each with their own melody
  • Instrument Selection: Choose from five different instrument sounds
  • Tempo Control: Adjust playback speed from 40-240 BPM
  • Volume Control: Adjust volume or mute the audio
  • MIDI Export: Export melodies as MIDI files for use in other applications
  • Music Notation: View the musical notation for each glyph melody
  • Responsive Design: Works on desktop and mobile devices
  • Fullscreen Mode: Immersive experience with touch gestures
  • Touch Gestures:
    • Swipe to change glyphs
    • Pinch to zoom the visualizer
    • Double-tap to reset zoom

Getting Started

Prerequisites

  • Node.js 18.0.0 or higher
  • npm or yarn

Installation

  1. Clone the repository: ```bash git clone https://github.com/jgwill/Ava8.git cd Ava8 ```

  2. Install dependencies: ```bash npm install

    or

    yarn ```

  3. Start the development server: ```bash npm run dev

    or

    yarn dev ```

  4. Open your browser and navigate to http://localhost:3000

Command Line Interface

Install globally:

npm install -g chaosophia --legacy-peer-deps

Start the server from any directory:

chaosophia start

The first start will automatically run next build if no production build is found. You can also run the build manually:

chaosophia build

Initialize local music data (creates music-data.json in your current folder):

chaosophia init

Prepare music data for the symphonic player:

chaosophia prepare <output-folder>

Show CLI help:

chaosophia --help

Note: Installing globally may show peer dependency warnings due to React 19 compatibility. Using --legacy-peer-deps suppresses these messages.

When starting the server, chaosophia will use a music-data.json file in the current directory if present. Ensure your MELO_UPSTASH_REDIS_REST_URL and MELO_UPSTASH_REDIS_REST_TOKEN environment variables are set so Redis can seed melodies correctly.

Usage

Playing Melodies

  1. Select a glyph using the tabs or by swiping left/right on mobile
  2. Press the Play button to start the melody
  3. Adjust tempo and volume using the sliders
  4. Change instruments using the dropdown menu

Exporting MIDI

  1. Select the glyph melody you want to export
  2. Set your desired tempo
  3. Click the Download button
  4. The MIDI file will be saved to your device

Fullscreen Mode

  1. Click the Fullscreen button in the top right corner of the visualizer
  2. Use touch gestures to interact with the visualizer:
    • Swipe left/right to change glyphs
    • Pinch to zoom in/out
    • Double-tap to reset zoom
  3. Press ESC or click the Minimize button to exit fullscreen

Technologies Used

  • Next.js: React framework for the application
  • Web Audio API: For sound generation and processing
  • ABCJS: For rendering music notation
  • MIDI Writer JS: For MIDI file generation
  • Tailwind CSS: For styling
  • Lucide React: For icons
  • Radix UI: For accessible UI components

License

This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0). This means you are free to:

  • Share — copy and redistribute the material in any medium or format
  • Adapt — remix, transform, and build upon the material

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made.
  • NonCommercial — You may not use the material for commercial purposes.

CREDITS

Author

Created by Guillaume Descoteaux-Isabelle, (github: jgwill)

Contributors

  • Gerico Tremblay, (github: gerico1007)

Acknowledgments

This project is a fork of the original Ava8 Glyph Symphony, with modifications and enhancements.