Your go-to solution for effortlessly detecting, analyzing, and labelling spoken audio streams within your Plex media library.
Unlabelled media. At a minimum it frustrates the completionist, and at it's worst it is inaccessible and confusing to those who rely on the comfort of entertainment as an escape. If we're looking to curate a specific composition it's difficult to asses your progress without langauge tags on the audio streams contained therein.
Retrieve a list of unknown audio streams and query Whisper for their language. Systematically update the metadata of the original file and then notify Plex that an analysis is needed.
- Automated language identification
- Fixes the files that are supported, skips those that aren't
- Edits the source file itself so the solution is evident no matter what is accessing the video
If I can do it, so can you!
- Python3.x
- FFmpeg
- mkvtoolnix
- ahmetoner/whisper-asr-webservice
Steps (Using a tteck Ubuntu/Debian installion as an example)
- Install prerequisites
sudo apt update && sudo apt install git ffmpeg mkvtoolnix pip
- Clone the repository and enter it
git clone https://github.com/MrSaiclops/SpokenStreamSleuth && cd SpokenStreamSleuth
- Install Python requirements
pip install -r requirements.txt
- Run Whisper webservice
docker run -d -p 9000:9000 -e ASR_MODEL=medium -e ASR_ENGINE=faster_whisper onerahmet/openai-whisper-asr-webservice:latest
- Set config settings
nano config.txt
Instructions for getting the token here. If whisper is hosted on the same machine you should be fine to use localhost:9000
plexURL=http://192.168.1.187:32400
token=XWpR93-KLfQv5-GHsTb6
library=TV Shows
whisper=192.168.1.122:9000