The project in which Google Sheets is both the frontend and the database. Generates advanced karaoke effects in .ass subtitle files.
Lyricsheets takes song data (lyrics, syllable timings, metadata) stored in a Google Sheet and uses it to populate Aegisub (.ass) files. It generates timed karaoke lines, title cards, and allows for complex effects (KFX) and modifications directly from instructions within the .ass file itself.
- Python 3.x: Ensure Python is installed and accessible from your command line.
- Aegisub: You'll need Aegisub or a compatible
.asseditor to prepare the initial timing file. - Google Sheet: A properly structured Google Sheet containing your song database (lyrics, timings, metadata).
- Google Cloud Credentials: You'll need credentials set up to allow the script to access your Google Sheet via the API.
- Dependencies: Install required Python packages:
pip install -r requirements.txt
-
Prepare your Aegisub file:
- Create an
.assfile with basic karaoke timings for your song(s). - For each song you want Lyricsheets to process, add a
Commentline:- Set the
StyletoSong. - Set the
Starttime to the exact start time of the first timed syllable of the song. - Set the
Textfield to the exact title of the song as it appears in your Google Sheet database.
- Set the
Example
Songcomment line:Comment: 0,0:03:19.27,0:03:19.27,Song,,0,0,0,,Mitaiken HORIZONThis line tells the script to find the song "Mitaiken HORIZON" in the database and start generating its lines based on the timing
0:03:19.27. - Create an
-
Run the script: Execute the
populate_songs.pyscript, passing the.assfile(s) you prepared as arguments:python populate_songs.py input.ass
To process multiple files at once:
python populate_songs.py input1.ass input2.ass input3.ass ...
-
Output: The script will modify the input
.assfile(s) (or create new ones, depending on implementation) to include:- A generated title card for the song.
- Timed Romaji lyric lines with basic effects.
- Timed English translation lines (if available) with basic effects.
--config <config_file_path>: Specify the path to your configuration file (contains Google API credentials, Sheet ID, etc.). Defaults toconfig.jsonin the script's directory.--title <True/False>: Control whether title cards are generated. Defaults toTrue.
For detailed information on customizing the output, applying advanced effects, and overriding database information, please refer to the project Wiki. Topics include:
- Modifiers: Fine-tune line generation (discarding, offsetting, styling, etc.) directly within the
Songcomment line. - Effects (KFX): Apply complex, script-based karaoke effects.
- Detailed Configuration: Explanation of the
config.jsonfile. - Google Sheet Setup: How to structure your database sheet.
(Add contribution guidelines here if applicable)
(Add license information here)