Takk for innspill begge to. Fra før hadde jeg CMU Sphinx og Mozilla DeepSpeech på radaren og gjorde litt forsøk i går på å få kompilert opp https://github.com/cmusphinx/sphinxtrain men noe med installasjonen fungerte ikke, fikk masse feil ala
Can not open the dictionary (___BASE_DIR___/etc/___DB_NAME___.dic) at /opt/sphinxtrain/share/sphinxtrain/scripts/00.verify/verify_all.pl line 58.
For https://github.com/cmusphinx/pocketsphinx har Fedora allerede en pakke (med ubrukelig tynn dokumentasjon på hvordan det skal brukes). Men takket være dette spørsmålet, https://unix.stackexchange.com/questions/252938/redirect-output-of-pocketsph... fant jeg ut av hvordan parameterene skulle være (tror jeg). Det ble ingen success, Linus sin velkjente språkprøve lot seg ikke dekode:
$ sox -v 0.85 english.au -r 16000 -b 16 english.wav $ time pocketsphinx_continuous -samprate 16000 -nfft 2048 -hmm /usr/share/pocketsphinx/model/en-us/en-us -lm /usr/share/pocketsphinx/model/en-us/en-us.lm.bin -dict /usr/share/pocketsphinx/model/en-us/cmudict-en-us.dict -infile english.wav 2>/dev/null a what'd
real 0m3.209s user 0m3.071s sys 0m0.113s $ time pocketsphinx_continuous -samprate 16000 -nfft 2048 -hmm /usr/share/pocketsphinx/model/en-us/en-us -lm /usr/share/pocketsphinx/model/en-us/en-us-phone.lm.bin -dict /usr/share/pocketsphinx/model/en-us/cmudict-en-us.dict -infile english.wav 2>/dev/null
real 0m3.883s user 0m3.799s sys 0m0.063s $
Så over til de nye forslagene som jeg ikke kjente til fra før.
Siden whisper ser mest interessant ut begynte jeg med den. Noe tynn beskrivelse på hvordan man kompilerer men med litt gjetting på hvordan et pythonprosjekt virker så gikk byggingen greit nok. Kjøringen derimot:
OSError: libcublas.so.11: cannot open shared object file: No such file or directory
Så etter litt undersøkelse finner jeg at nvidia har noe cuda bibliotek for GPU-bruk som hvistnok er populært i bruk, men er helt og holdent bundet til deres maskinvare (det er da ganske krise for fri programvaremiljøet at man blir utelåst hvis man ikke har maskinvare fra et firma som har en "uoptimal" historikk mhp linux drivere).
Det eneste jeg har av maskin med noe nvida basert skjermkort er en gammel server som kjører Centos 7. Etter en ganske god del om og men (manglende *-devel pakker, og for sikkerhets skyld krevde noe av det som kompileres python >= 3.8 så jeg måtte installere en ekstra version av det også og legge til ekstra i front av PATH (og første forsøk med seneste 3.11 feilet fordi openssl var for gammel for den...), libcublas.so.11 og libcudnn.so.8 måtte tilbys med ekstra LD_LIBRARY_PATH, etc) fikk jeg endelig kompilert og installert.
Dette gikk derimot ganske bra, om ikke akkurat lynkjapt:
$ time whisper --model medium.en --language en english.wav 100%|█████████████████████████████████████| 1.42G/1.42G [02:25<00:00, 10.5MiB/s] .../venv/lib/python3.8/site-packages/whisper-1.0-py3.8.egg/whisper/transcribe.py:78: UserWarning: FP16 is not supported on CPU; using FP32 instead warnings.warn("FP16 is not supported on CPU; using FP32 instead") [00:00.000 --> 00:04.480] Hello, this is Linus Torvalds and I pronounce Linux as Linux.
real 4m55.444s user 5m46.631s sys 0m30.117s $
Så i størrelsesorden et minutt prossesering per sekund input... Riktignok på en gammel maskin med 4x Xeon E5-2603@1.80GHz, GeForce 8500 GT og nouveau driver (så høyst usannsynlig noe maskinvarestøtte).
Svensk gikk også, dog med feil etternavn:
$ time whisper --model medium --language sv swedish.wav 100%|█████████████████████████████████████| 1.42G/1.42G [02:38<00:00, 9.63MiB/s] .../venv/lib/python3.8/site-packages/whisper-1.0-py3.8.egg/whisper/transcribe.py:78: UserWarning: FP16 is not supported on CPU; using FP32 instead warnings.warn("FP16 is not supported on CPU; using FP32 instead") [00:00.000 --> 00:03.440] Hej det här är Linus Storvalds och jag uttalar Linux Linux.
real 5m8.442s user 5m47.596s sys 0m30.712s
Jeg klonet wav2vec2-xlsr-300m-norwegian2 også som inneholdt ingen instruksjoner på hvordan bygge. Her er det jeg fant ut:
git checkout -b build echo >> .gitignore git add .gitignore git commit -m "Add missing EOL" echo venv/ >> .gitignore git add .gitignore git commit -m "Ignore venv" python -m venv venv source venv/bin/activate venv/bin/python -m pip install --upgrade pip pip install datasets pip install torch pip install bitsandbytes pip install transformers python run_speech_recognition_ctc_bnb.py --no_cuda --help
Så langt for bygging. For kjøring så ligger det en run.sh der men
1) det har ikke et fnugg av hint til hva som skal være input 2) komandooposjoner som --use_auth_token og --push_to_hub er ikke i nærheten av å passe til scenarioet å kjøre mot en lokal fil.
så jeg har ingen ide hvordan ting henger sammen. Etter litt graving i kildekoden virker det som input skal være en form for datasets, https://pypi.org/project/datasets/, jeg har ikke gjort noe forsøk på å sette opp noen tjener for dette.
On Thu, 12 Jan 2023 at 10:25, Kevin Brubeck Unhammer unhammer@mm.st wrote:
Nasjonalbiblioteket har laga https://huggingface.co/NbAiLab/wav2vec2-xlsr-300m-norwegian2 Aner ikkje kor god den er, men https://blog.deepgram.com/benchmarking-top-open-source-speech-models/ påstår at wav2vec2 ikkje er så gale korrekt i forhold til Whisper, men krev mindre ressursar. _______________________________________________ E-postlista l10n-no http://lister.huftis.org/listinfo.cgi/l10n-no-huftis.org