Listings bij artikelen spraakherkenning met Whisper en workshop Docker deel 2 in Linux Magazine 2 van 2025

Spraakherkenning met Whisper

Listing 1: Installatie Whisper


sudo apt install python3-venv git ffmpeg
mkdir ~/whisper
cd ~/whisper
python3 -m venv whisper
source whisper/bin/activate
pip install git+https://github.com/openai/whisper.git
deactivate
rm -r ~/whisper
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git

Listing 2: Voorbeelden omzetten tekst

cd ~/whisper
source whisper/bin/activate
mkdir ~/bin
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o ~/bin/yt-dlp
chmod a+rx ~/bin/yt-dlp
~/bin/yt-dlp -f bestaudio -x --audio-format mp3 https://www.youtube.com/watch?v=xve3EC1bVhs
mv "60 jaar NOS Journaal 17_00 uur: Pia Dijkstra [xve3EC1bVhs].mp3" 60jaarnosjournaal1700uurPiaDijkstra.mp3
whisper --model_dir ~/whisper/taalmodellen 60jaarnosjournaal1700uurPiaDijkstra.mp3
whisper --model_dir ~/whisper/taalmodellen --Language Dutch 60jaarnosjournaal1700uurPiaDijkstra.mp3
whisper --model_dir ~/whisper/taalmodellen --model base 60jaarnosjournaal1700uurPiaDijkstra.mp3
whisper --model_dir ~/whisper/taalmodellen --model small --output_dir ~/whisper/uitvoer/small 60jaarnosjournaal1700uurPiaDijkstra.mp3
whisper --model_dir ~/whisper/taalmodellen --model tiny --output_dir ~/whisper/uitvoer/tiny --output_format txt 60jaarnosjournaal1700uurPiaDijkstra.mp3
whisper --model_dir ~/whisper/taalmodellen --model tiny --output_dir ~/whisper/uitvoer/tiny/en --output_format txt --task translate 60jaarnosjournaal1700uurPiaDijkstra.mp3

Listing 3: Een bestand gesproken tekst omzetten naar geschreven tekst

#!/bin/bash
SECONDS=0
whisper --model large --model_dir ~/whisper/taalmodellen --output_format txt $1
tijd=$SECONDS
uren=$((tijd / 3600))
minuten=$(((tijd % 3600) / 60))
seconden=$((tijd % 60))
printf "Omzetten van spraak van %s naar tekst duurde %02d:%02d:%02d seconden.\n" $mp3bestand $uren $minuten $seconden

Listing 4: Alle mp3 bestanden in een directory omzetten naar geschreven tekst

#!/bin/bash
for mp3bestand in *.mp3; do
	whisper --model large --model_dir ~/whisper/taalmodellen --output_format txt $mp3bestand
done

Docker workshop deel 2

Listing 1: alle commando’s uit workshop

mkdir ~/docker/apache-alpine-eigensite
cd ~/docker/apache-alpine-eigensite
mkdir apache_data
echo "<html><body><h1>Testwebsite</h1></body></html>" > apache_data/index.html
nano dockerfile
docker build -t apache-alpine-eigensite:v1 .
docker run -d -p 8080:80 --name=mijnapache-alpine-eigensite --restart=always apache-alpine-eigensite:v1
docker stop mijnapache-alpine-eigensite
docker rm mijnapache-alpine-eigensite
nano compose.yaml
docker compose up -d
docker compose down
mkdir ~/docker/apache-alpine-zonderdownload
cd ~/docker/apache-alpine-zonderdownload
docker run -d -p 8080:80 --name mijnapache2 httpd:2.4.59-alpine3.19
docker stop mijnapache2
docker rm mijnapache2
nano compose.yaml
docker compose up -d
docker exec -it apache-alpine-zonderdownload-mijnapache2-1 /bin/sh
docker run -it --rm httpd:2.4.59-alpine3.19 /bin/sh
docker exec apache-alpine-zonderdownload-mijnapache2-1 ls -al
docker run -it --rm httpd:2.4.59-alpine3.19 ls -al

Listing 2: Dockerfile met statische site

FROM httpd:2.4.59-alpine3.19
COPY apache_data/index.html  /usr/local/apache2/htdocs/

Listing 3: Compose.yaml

services:
  mijnapache-alpine-eigensite:
    image: apache-alpine-eigensite:v1
    restart: always
    ports:
    - 8080:80
    volumes:
    - ${PWD}/apache_data:/usr/local/apache2/htdocs

Listing 4: dockerfile met aanroepen image van dockerhub

services:
  mijnapache2:
    image: httpd:2.4.59-alpine3.19
    restart: always
    ports:
    - 8080:80