mirror of
https://github.com/marceloeatworld/Vov-.git
synced 2026-10-27 20:41:11 +00:00
Preservando as composições e memórias do Vovô.
- TypeScript 95.6%
- HTML 4.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Integrates Gemini's capability to extract both ABC Notation and MusicXML from musical scores. Enhances the ScoreDetail component to render MusicXML and provides audio playback controls for filtering instrument voices (e.g., piano, violin). This allows for more comprehensive digital preservation and playback customization. |
||
| components | ||
| services | ||
| .gitignore | ||
| App.tsx | ||
| index.html | ||
| index.tsx | ||
| metadata.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| types.ts | ||
| vite.config.ts | ||
Grandpa's Musical Archive (Acervo Musical do Vovô)
A dedicated mobile-first web application designed to preserve, digitize, and bring to life handwritten musical compositions using Artificial Intelligence.
🎵 Project Goal
The primary goal of this application is to archive a collection of handwritten and printed musical scores composed by the user's grandfather. Since the user does not read music, the app serves as a bridge, translating visual scores into audible music and standard digital formats.
The collection consists mainly of works for Piano and Violin, written with Portuguese annotations.
✨ Key Features
- AI Optical Music Recognition (OMR): Uses Google's Gemini 2.0 Pro model to analyze photos of complex handwritten scores.
- Digital Preservation: Converts images into structured MusicXML (for professional software like MuseScore/Sibelius) and ABC Notation (for web rendering).
- Interactive Playback:
- Listen to the scores directly in the browser.
- Voice Separation: Toggle between instruments (e.g., hear just the Violin, just the Piano, or the full Ensemble).
- Visual cursor tracking during playback.
- Mobile-First Design: Optimized for capturing photos of scores using a smartphone camera.
- Offline-Ready: Scores are saved locally in the browser for quick access.
🛠️ Technology Stack
- Frontend: React 19, TypeScript
- Styling: Tailwind CSS
- AI/LLM: Google GenAI SDK (@google/genai)
- Music Rendering & Audio:
abcjs(Standard library for rendering ABC notation and synthesizing audio) - Icons: Lucide React
🚀 Getting Started
- Clone the repository
- Install dependencies:
npm install - Configure API Key:
Set your Google Gemini API key in your environment variables (
API_KEY). - Run the application:
npm start
📸 Usage
- Open the app on your phone.
- Tap "Nova Foto da Partitura" to take a picture of a sheet music page.
- Wait for the AI to analyze the notes, dynamics, and text.
- Once processed, open the score to see the digital transcription.
- Use the Audio Controls to listen to the composition or isolate specific instruments.
- Download the MusicXML file to save a professional digital copy.
Built with ❤️ to preserve musical heritage.