Skip to content

Releases: jzsalinas/interstellar_notes

Version 1.0 - Gargantua Final Gold

Choose a tag to compare

@jzsalinas jzsalinas released this 01 Aug 22:01

🌌 Interstellar Notes v1.0.0 — Gargantua Final Gold Release

Welcome to the initial open-source release of Interstellar Notes!

This release introduces Gargantua Final Gold (gargantua_final_gold.pth), our flagship pre-trained model checkpoint for end-to-end Automatic Music Transcription (AMT), multi-channel CQT feature extraction, and DTW score-to-audio alignment.


🌟 Release Highlights

🧠 GargantuaAMT Architecture (gargantua_final_gold.pth)

  • PyTorch Deep CRNN: Combines multi-channel 2D Convolutional layers with a Bidirectional LSTM backbone and attention-weighted logit sharpening.
  • Sparse Bias Initialized: Optimized to minimize false positives by favoring negative logit bias on baseline quiet frames.
  • Multi-instrument Support: Transcribes multiple active note pitches across isolated stem channels (e.g. Bass, Piano/Other).

⏱️ Dynamic Time Warping (DTW) Alignment Engine

  • Automated frame-level score-to-performance alignment between raw .mp3 performances and MusicXML (.mxl) sheet music ground truth.
  • Cost-based filtering and automated sanity check visualizer overlays.

🎨 Spectral Player Web Frontend

  • Interactive React + Vite spectral visualizer web app located in spectral_player/ for real-time playback and inspection of spectro-temporal predictions.

📦 Assets in this Release

File Asset Description Size
gargantua_final_gold.pth Flagship pre-trained PyTorch weights for GargantuaAMT ~118 MB
gargantua_v42_synthetic_gold_history.csv Training loss & validation accuracy history log ~1 KB

🚀 Quick Usage Example

  1. Download gargantua_final_gold.pth from the Assets section below.
  2. Place the file inside the models/ directory of your local clone.
  3. Load the model in Python:
import torch
from src.models.gargantua import GargantuaAMT

# Initialize Gargantua model architecture
model = GargantuaAMT(input_bins=440, n_notes=88, n_inst=3, in_channels=2)

# Load pre-trained weights
checkpoint = torch.load("models/gargantua_final_gold.pth", map_location="cpu")
model.load_state_dict(checkpoint)
model.eval()

print("Gargantua Final Gold successfully loaded!")