A real-time visualizer for the 9 nineeq frequencies
Project description
9eq
Real-time audio visualizer.
[!NOTE] The CLI command is
nineeq(nine-e-q) and the Python package is9eq
Features
- Real-time Visualization - Live frequency spectrum analysis with colorized bars
- Precise Detection - FFT-based frequency detection with configurable tolerance
- Audio File Analysis - Analyze pre-recorded audio files
- Tone Generation - Generate pure nineeq frequency tones
- Color Mapping - Each frequency has a unique color based on chakra theory
- Multiple Visualization Modes - Bar chart and waveform displays
- CLI Interface - Easy command-line usage
- Modular Design - Use as a library in your own projects
| Frequency | Color |
|---|---|
| 174 Hz | Deep Red |
| 285 Hz | Orange Red |
| 396 Hz | Orange |
| 417 Hz | Gold |
| 528 Hz | Green |
| 639 Hz | Blue |
| 741 Hz | Purple |
| 852 Hz | Deep Pink |
| 963 Hz | White |
Installation
Quick Install
# Clone the repository
git clone https://github.com/clxrityy/9eq.git
cd 9eq
# Install with pip
pip install -e .
From PyPI
pip install 9eq
Manual Installation
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
Usage
Command Line Interface
List all frequencies
nineeq list
Real-time visualization
# Basic visualization
nineeq visualize
# Choose visualization mode
nineeq visualize --mode wave
# Specify audio device
nineeq visualize --device 1
Analyze an audio file
nineeq analyze path/to/audio.wav
# Analyze only first 30 seconds
nineeq analyze path/to/audio.wav --duration 30
Generate a tone
# Generate 528 Hz tone (5 seconds)
nineeq generate 528
# Custom duration and output
nineeq generate 528 --duration 10 --output miracle_tone.wav
Python Library Usage
import importlib
# Import the package (note: package name is 'nineeq')
_nineeq = importlib.import_module('nineeq')
FrequencyVisualizer = _nineeq.FrequencyVisualizer
FrequencyDetector = _nineeq.FrequencyDetector
ToneGenerator = _nineeq.ToneGenerator
# Real-time visualization
visualizer = FrequencyVisualizer(mode='bar')
visualizer.start()
# Analyze audio file
visualizer.analyze_file('meditation.wav')
# Detect frequencies in audio data
import numpy as np
detector = FrequencyDetector()
audio_data = np.random.randn(4096) # Your audio data
detected = detector.detect_frequencies(audio_data)
# Generate a tone
generator = ToneGenerator()
generator.save_tone('528hz.wav', frequency=528, duration=5.0)
Frequency Detection
The visualizer uses Fast Fourier Transform (FFT) to convert time-domain audio signals into frequency-domain data. For each target nineeq frequency:
- Windowing: Applies a Hann window to reduce spectral leakage
- FFT Analysis: Computes the frequency spectrum
- Peak Detection: Identifies magnitude peaks within ±5 Hz of target frequencies
- Normalization: Scales magnitudes for visualization
Running Tests
pytest tests/
Code Formatting
black nineeq/
Requirements
- Python 3.8+
- NumPy >= 1.21.0
- SciPy >= 1.7.0
- Matplotlib >= 3.5.0
- sounddevice >= 0.4.5
- soundfile >= 0.11.0
pip install -r requirements.txt
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file 9eq-0.1.0.tar.gz.
File metadata
- Download URL: 9eq-0.1.0.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3c8e99f6d0ed6c1bf2e3a92bad2868a838d72dded382fae085cb2285be6da74
|
|
| MD5 |
5b2a38cf8058cb6e4649055e8dd512c6
|
|
| BLAKE2b-256 |
a3d3da8e4f8667587bc7ac8ce2a1c20822295ef291d02285daa5478770e81663
|
Provenance
The following attestation bundles were made for 9eq-0.1.0.tar.gz:
Publisher:
publish.yml on clxrityy/9eq
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
9eq-0.1.0.tar.gz -
Subject digest:
a3c8e99f6d0ed6c1bf2e3a92bad2868a838d72dded382fae085cb2285be6da74 - Sigstore transparency entry: 676718525
- Sigstore integration time:
-
Permalink:
clxrityy/9eq@4b5e9b1a3aff6f59eba21bb2ea50b18c7f49c699 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/clxrityy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4b5e9b1a3aff6f59eba21bb2ea50b18c7f49c699 -
Trigger Event:
release
-
Statement type:
File details
Details for the file 9eq-0.1.0-py3-none-any.whl.
File metadata
- Download URL: 9eq-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2578a74d0978b5ad5a16cf977e2c358d2bfc7764a33dfc94ce2702b965952b2a
|
|
| MD5 |
9b9e4f965d750e547696045985271a94
|
|
| BLAKE2b-256 |
cb17b4aa8b02903e6c62169c4c9bfcff2c228ffc8bec7a45a93e37984786ace0
|
Provenance
The following attestation bundles were made for 9eq-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on clxrityy/9eq
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
9eq-0.1.0-py3-none-any.whl -
Subject digest:
2578a74d0978b5ad5a16cf977e2c358d2bfc7764a33dfc94ce2702b965952b2a - Sigstore transparency entry: 676718529
- Sigstore integration time:
-
Permalink:
clxrityy/9eq@4b5e9b1a3aff6f59eba21bb2ea50b18c7f49c699 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/clxrityy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4b5e9b1a3aff6f59eba21bb2ea50b18c7f49c699 -
Trigger Event:
release
-
Statement type: