Concert Scribe
Classify audio in concert recordings into segments of silence, talking, music, and applause.
Takes video or audio files as input, extracts the audio, runs it through Google's YAMNet model, and produces a simple text file describing the timeline.
Example output
0.0-3.36: talking
3.36-33.12: silence
33.12-37.44: applause
37.44-50.4: silence
50.4-108.96: music (Cello)
108.96-118.56: silence
118.56-274.56: music (Cello, Piano)
274.56-285.6: silence
285.6-365.76: music (Cello)
365.76-377.28: applause
377.28-381.6: silence
With --verbose, instrument durations are included:
118.56-274.56: music (Cello: 82.6s, Piano: 15.4s)
Install
pip install concert-scribe
Or with pipx:
pipx install concert-scribe
Requires ffmpeg on the system for audio extraction.
Usage
# Single file
concert-scribe recording.mp4
# All videos in a directory
concert-scribe /path/to/videos/
# Custom output directory
concert-scribe recording.mp4 -o /path/to/output/
# Include per-instrument durations
concert-scribe recording.mp4 --verbose
How it works
- Extracts audio from video via ffmpeg (mono, 16kHz)
- Classifies each 0.48s frame using YAMNet (521 AudioSet classes mapped to 4 categories)
- Merges adjacent same-category frames into segments
- Filters out short spurious segments (< 1.5s for music/talking, < 2s for silence)
- Deduplicates music sub-types using the AudioSet hierarchy (keeps only the most specific instrument)
- Writes a
.txtfile per input clip
License
Apache-2.0
Metadata
Release files for concert-scribe 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| concert_scribe-0.2.0.tar.gz | 794.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| concert_scribe-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 812.2 kB
Release files / concert_scribe-0.2.0.tar.gz
| Download URL | concert_scribe-0.2.0.tar.gz |
|---|---|
| Size | 794.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d69297bc513a92a338539bd2951f9b76036ef5906cdc062470dab179535f3761
|
|
BLAKE2b-256 checksum How to use checksums |
6f0afaa3214304c4bc1e081c802b3e683be7ad932a1b5849cebbf0407174215b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / concert_scribe-0.2.0-py3-none-any.whl
| Download URL | concert_scribe-0.2.0-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
63d8dcdbd0b0abe24007f070fccbe90f1ec7c3030947d904034f76a4a3d4d392
|
|
BLAKE2b-256 checksum How to use checksums |
dafc16883039699d98df967082eda919be13ef2b08e8ebdfd0fab5382d93ad58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|