Replies: 1 comment
-
|
Is this AI output? Its hard to read. Please dont post AI slop. Summarize it yourself. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Just thinking...
The "Enhanced Workflow" Pipeline
Phase 1: Harmonic Extraction (The Real Math) Instead of just tracking pitch, you extract the Harmonic Percussive Source Separation (HPSS) from the instrumental wav. This gives you the "grid" of the song—the stable chords that don't drift like a human voice does.
Phase 2: MIDI "Anchor" Generation You generate a MIDI where the notes are perfectly snapped to the 123 BPM tempo found in your derpy_full_score.pdf.
Phase 3: Quantization (The "Sloppy" Eraser) This is where you fix the GitHub #290 issue. You take the jumpy AI vocal MIDI and "force" its notes to align with the start times and pitches of your Anchor MIDI.
Result: A note that was captured at 442Hz for 0.98 seconds becomes a perfect "A" (440Hz) for exactly 1.0 seconds.
Phase 4: Karaoke .txt and Chord Sheet Export
The .txt File: Because the MIDI is now quantized, the timestamps in your UltraStar .txt file will be clean integers (e.g., 10 4 60) rather than the messy decimals that make singing games stutter.
The Song Sheet: Since you have the chords from Phase 1, the script can overlay "C Maj" or "G min" symbols directly above the lyrics, just like a professional lead sheet.
imports think it already in ultrasinger or common in 3.10 python
someone check I'm going to bed
import librosa # The 'Real Math' engine for audio/chord analysis
import pretty_midi # For creating, cleaning, and quantizing MIDI files
import numpy as np # For handling the frequency data arrays
import os # For navigating your /AI_Work/ folders
import aubio # (Optional) Great for precise onset (beat) detection
from tqdm import tqdm # For that progress bar so you know 'it's trying'
ffmpeg can extract the tracks
Extract the Vocals/Piano (Band Pass):
ffmpeg -i song.mp3 -af "highpass=f=200,lowpass=f=3000" mids.wav
ffmpeg -i song.mp3 -af "highpass=f=3000,lowpass=f=10000" strings_only.wav
Beta Was this translation helpful? Give feedback.
All reactions