Skip to main content

Classify audio segments in concert recordings

Project description

Concert Scribe

Classify audio in concert recordings into segments of silence, talking, music, and applause.

Takes video files as input (typically output from SoundGraft), 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

concert_scribe-0.1.11.tar.gz (28.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

concert_scribe-0.1.11-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file concert_scribe-0.1.11.tar.gz.

File metadata

  • Download URL: concert_scribe-0.1.11.tar.gz
  • Upload date:
  • Size: 28.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for concert_scribe-0.1.11.tar.gz
Algorithm Hash digest
SHA256 35b84624ae45d7e3d71ea70b92c1e5c863ab85dcce83c89994c487774ea45d15
MD5 f551a26652cd14de2af78f50743a4695
BLAKE2b-256 838f601fcc8bc735c236ac7d3f462d2393b842bba7690066bf2aad9899329680

See more details on using hashes here.

File details

Details for the file concert_scribe-0.1.11-py3-none-any.whl.

File metadata

File hashes

Hashes for concert_scribe-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 bbec3ba40521d4a210a4387ca1a4d875adc6c4f51d40727f000f06eb60199879
MD5 9f2fe6abed2c04e227b1158b7b3a2c00
BLAKE2b-256 35506ba25ebebdd70c1f311616da29e18eaec47fed510f3ef2858d3a21f6df6d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page