kirustar14/notes2song
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Repository files navigation
π΅ Chameleon Tutor Studio Turn study notes into full songs. Chameleon Tutor Studio is a Streamlit-based app that transforms PDF study notes into catchy AI-generated lyrics, lays them over real instrumentals (from YouTube or reused beats), synthesizes vocals, and produces a polished final mix β all in one workflow. β¨ What It Does π Upload PDFs (study notes, summaries, textbooks) βοΈ Generate English-only song lyrics using Groq LLMs π€ AI voice synthesis with adjustable speed πΆ Instrumental extraction from YouTube using Demucs ποΈ Audio mixing & effects (reverb, compression, delay) πΎ Save finished songs to a local libraryβΆοΈ Playlist playback inside the app π§ How It Works (High Level) PDF β Lyrics Extracts text from uploaded PDFs Uses Groqβs LLaMA model to write catchy English-only lyrics Automatically verifies lyrics for symbols / non-English characters Beat Selection Download audio from YouTube or Reuse previously processed beats Separates vocals & instrumentals using Demucs Voice & Mixing Generates vocals using Microsoft Edge TTS Applies effects via Pedalboard Mixes AI vocals + beat (+ optional ghost vocals) Export Renders a final MP3 Saves audio + lyrics into a reusable library π οΈ Tech Stack Frontend: Streamlit LLM: Groq (LLaMA 3.3 70B) TTS: edge-tts Audio Processing: Demucs (source separation) Pydub Pedalboard YouTube Audio: yt-dlp PDF Parsing: PyPDF Environment Management: python-dotenv π Project Structure notes2song/ βββ app.py βββ .env βββ temp_audio/ # Downloaded YouTube audio βββ separated/htdemucs/ # Vocal / instrumental stems βββ output/ # Intermediate + final renders βββ final_library/ # Saved songs + lyrics βββ README.md π Environment Setup 1. Clone the repo git clone https://github.com/your-username/notes2song.git cd notes2song 2. Create a virtual environment python -m venv venv source venv/bin/activate 3. Install dependencies pip install -r requirements.txt 4. Add environment variables Create a .env file: GROQ_API_KEY=your_groq_api_key_hereβ οΈ .env should never be committed to GitHub.βΆοΈ Running the App streamlit run app.py Then open the browser link Streamlit provides. ποΈ Controls Overview Mixer (Sidebar) AI Voice Volume Beat Volume Ghost Vocal Volume Voice Speed Reverb Echo Main Actions Refresh / Write Lyrics Render Audio Save to Library πΎ Library & Playlists Saved songs are stored in final_library/ Each song includes: .mp3 audio .txt lyrics Build playlists and loop them directly in the sidebarβ οΈ Notes & Limitations Demucs runs on CPU by default (can be slow for long tracks) YouTube downloads may require cookies for age/region-restricted videos Large PDFs are truncated to avoid token limits This app is intended for educational and personal use π§ͺ Future Ideas Multiple voice selection Genre/style controls for lyric generation GPU acceleration for Demucs Cloud deployment BPM matching & auto-chorus detection β€οΈ Why This Exists Studying doesn't have to be boring. If your brain remembers lyrics better than notes β this is for you.