From: Georgi Gerganov Date: Sun, 6 Nov 2022 07:22:50 +0000 (+0200) Subject: examples : add simple script for generating Karaoke video X-Git-Tag: upstream/1.7.4~1847 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=c71363f14cb0d31efe5c74f148b268da649050d9;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp examples : add simple script for generating Karaoke video --- diff --git a/examples/generate-karaoke.sh b/examples/generate-karaoke.sh new file mode 100755 index 00000000..c5e7c445 --- /dev/null +++ b/examples/generate-karaoke.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +executable="./main" +model="base.en" +model_path="models/ggml-$model.bin" + +# require sox and ffmpeg to be installed +if ! command -v sox &> /dev/null +then + echo "sox could not be found" + exit 1 +fi + +if ! command -v ffmpeg &> /dev/null +then + echo "ffmpeg could not be found" + exit 2 +fi + +if [ ! -f "$executable" ]; then + echo "'$executable' does not exist. Please build it first." + exit 3 +fi + +if [ ! -f "$model_path" ]; then + echo "'$model_path' does not exist. Please download it first." + exit 4 +fi + +# record some raw audio +sox -d rec.wav + +# resample to 16kHz +ffmpeg -y -i ./rec.wav -ar 16000 -ac 1 -c:a pcm_s16le ./rec16.wav > /dev/null 2>&1 + +# run Whisper +echo "Processing ..." +./main -m models/ggml-base.en.bin rec16.wav -owts > /dev/null 2>&1 + +# generate Karaoke video +echo "Generating video ..." +source rec16.wav.wts > /dev/null 2>&1 + +# play the video +echo "Playing ./rec16.wav.mp4 ..." +ffplay -loglevel 0 -autoexit ./rec16.wav.mp4 + +echo "Done" +exit 0