Skip to main content

Concert Scribe

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

  1. Extracts audio from video via ffmpeg (mono, 16kHz)
  2. Classifies each 0.48s frame using YAMNet (521 AudioSet classes mapped to 4 categories)
  3. Merges adjacent same-category frames into segments
  4. Filters out short spurious segments (< 1.5s for music/talking, < 2s for silence)
  5. Deduplicates music sub-types using the AudioSet hierarchy (keeps only the most specific instrument)
  6. Writes a .txt file 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)

Source distribution for concert-scribe 0.2.0
File Size Uploaded
concert_scribe-0.2.0.tar.gz 794.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for concert-scribe 0.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page