OpenAI Whisper (tsz. OpenAI Whispers)
Az OpenAI Whisper egy nyílt forráskódú, automatizált beszédfelismerő (ASR - Automatic Speech Recognition) modell, amelyet az OpenAI fejlesztett. Az alábbiakban bemutatom részletesen a modellt, funkcióit, működését és használatát, valamint egy egyszerű Python példát adok hozzá.
Az OpenAI Whisper egy mélytanulási alapú beszédfelismerő modell, amely képes különféle nyelveken szöveggé alakítani hangfájlokat. Támogatja az automatikus nyelvfelismerést, fordítást és feliratozást is.
tiny
, base
, small
, medium
, és large
.
A Whisper egy Transformer-alapú modell, amelyet nagy mennyiségű hangadat segítségével tanítottak. A tréning során a modell:
A működési elv:
A Whisper használatához a következő lépéseket kell követni Python környezetben:
Először telepítsd a openai-whisper
csomagot és a függőségeit:
pip install -U openai-whisper
pip install ffmpeg-python
Az
ffmpeg
csomag a hangfájlok feldolgozásához szükséges. Ha nincs telepítve, letölthető a hivatalos FFmpeg oldalról.
Az alábbi kód bemutatja, hogyan lehet a Whisper segítségével egy hangfájlból szöveget generálni.
import whisper
# Modell betöltése
model = whisper.load_model("base")
# Hangfájl elemzése
result = model.transcribe("minta_hang.mp3")
# Felismert szöveg kiírása
print("Felismert szöveg:", result)
whisper.load_model()
segítségével betöltjük a kiválasztott modellt (tiny
, base
, small
, stb.).transcribe()
metódus elemzi a megadott fájlt és visszaadja a felismert szöveget.result
szótár tartalmazza, amelyből a "text"
kulcs alatt találjuk a szöveget.
A transcribe()
függvény különböző beállításokat támogat:
result = model.transcribe(
"minta_hang.mp3",
language="hu", # Magyar nyelv megadása
verbose=True, # Részletes információk megjelenítése
task="translate" # Fordítás angolra
)
language
: Nyelv manuális megadása (pl.: "hu"
magyar nyelv esetén).verbose
: Ha True
, részletes információkat ír ki a futtatás során.task
: Feladat típusának megadása:
"transcribe"
: Szöveggé alakítás (alapértelmezett)."translate"
: Nem angol nyelvek fordítása angolra.
A transcribe()
metódus eredménye egy szótár, amely az alábbi kulcsokat tartalmazza:
{
"text": "Felismert szöveg...",
"segments": [
{"start": 0.0, "end": 5.0, "text": "Első részlet..."},
{"start": 5.1, "end": 10.0, "text": "Második részlet..."}
],
"language": "hu"
}
A Whisper modellek különböző méretekben érhetők el. A választás függ az erőforrásoktól (CPU/GPU) és a sebesség-pontosság igénytől:
Méret | Sebesség | GPU memória | Pontosság |
---|---|---|---|
Tiny | Nagyon gyors | ~1 GB | Alacsony |
Base | Gyors | ~1.5 GB | Közepes |
Small | Lassabb | ~2.5 GB | Jó |
Medium | Lassú | ~5 GB | Nagyon jó |
Large | Leglassabb | ~10 GB | Kiváló |
A
large
modell a legjobb pontosságot kínálja, de jelentős erőforrásokat igényel.
Az OpenAI Whisper egy sokoldalú, pontos és robusztus beszédfelismerő modell, amely könnyen integrálható különböző alkalmazásokba. Pythonban néhány sor kóddal használható, és támogatja a magyar nyelvet is.