Realtempa vocho-al-teksto-transformo de telefonvoko en Esperanto per Twilio kaj VOSK
Aktualigoj:
Ekde Marto 2023 oni povas uzi parolrekonilon Whisper de OpenAI per aplikprograma interfaco (API). Tial — kaj konsidere kelkajn aliajn avantaghojn de Whisper — estas konsiderinde, procedi lau la priskribo de artikolo “Per Whisper transskribi telefonajhon al Twilio-numero”.
La chi tie priskribita realtempa vocho-al-teksto-transformo de telefonvoko en Esperanto bazighas esence sur tiu blogero de Twilio. Oni do bezonas almenau unu telefonnumeron che Twilio.
Por efektivigi la aferon, mi estis haviginta al mi pythonanywhere-konton de unu el la tarifoj kostanta pli, ol po EUR 0 monate, kaj, ensalutinte, iris al la tiea montro Consoles
> Bash console ...
.
Mi endonis jenan serion de komandoj — unu post la alia:
mkdir vosk-live-transcription
cd vosk-live-transcription
python3 -m venv venv
source venv/bin/activate
pip install twilio
pip install vosk
pip install flask
pip install flask-sock
pip install simple-websocket
pip install pyngrok
export TWILIO_ACCOUNT_SID=xxxxxxxxx
export TWILIO_AUTH_TOKEN=xxxxxxxxx
Post sukcesa instalado mi iris alFiles
> Directories
> vosk-live-transcription
kaj perUpload a file
alshutis dosieron nome app_eo_mod_01.py
, en kies kodo antau la alshuto mi tamen estis farinta jenajn shanghojn:
- Anstatau la ret-adreson
https://script.google.com/macros/s/.../exec
mi skribis en linio 57 de la kodo de mia kopio deapp_eo_mod_01.py
la ret-adreson de mia ret-apo, kiu sendas la skriban tekston al mia smartfono.
Por tia sendado estas interalie jenaj ebloj:
a) Per retposhto,
b) per Discord-rethoko au
c) per Viber-babilroboto.
Eblo c) estas la plej oportuna por mi; tial mi aktuale utiligas ghin.
La plej facile efektivigebla eblo kredeble estas a).
Por ghin efektivigi, estas malsupre procedo detale priskribita. - Anstatau la skeme donitan ngrok-shlosilon mi skribis mian ngrok-shlosilon en linio 64 de la kodo de mia kopio de
app_eo_mod_01.py
;
ngrok-konto do estas bezonata.
Miasperte sufichas ngrok-konto kostanta po EUR 0 monate.
La ngrok-shlosilo estas trovebla post ensalutado en la ngrok-retpaghon subGetting Started
>Your Authtoken
.
Por startigi programon app_eo_mod_01.py
kaj teni ghin daure en funkciado, mi iris al Tasks
kaj en la tekstokampon sub Always-on tasks
endonis/home/uzantonomo/vosk-live-transcription/venv/bin/python home/uzantonomo/vosk-live-transcription/app_eo_mod_01.py
.
(Tio chi estas unu longa linio; uzantonomo
estas anstatauigenda per la vera uzantonomo che pythonanywhere.)
Iom dauris, ghis Starting
shanghighis al Running
.
Almenau ekde tiam la smartfono ricevas, kiel tekstan mesaghon, tion, kion en Esperanto diras vokanto je la Twilio-telefonnumero; vidu figurajhon 1.
Jen kelkaj rimarkoj:
- Okaze de pythonanywhere-tarifo kostanta po EUR 0 monate la afero ne funkcias, char ne chiuj instalendaj programpakajhoj povas esti instalataj.
- En tiu pepo mi mencias, ke tutkomence mi faris pip3 install vosk. Tio rilatas al operaciuma shelo alia, ol tiu de pythonanywhere. Sed intertempe mi konjektas, ke tiu tutkomenca komando ghenerale ne estas necesa, char la komando, por instali VOSK, venas kadre de la instalado de aliaj programpakajhoj (vidu supre). Almenau che pythonanywhere mi ne faris tiun komandon tutkomence, kaj tamen la afero funkciis.
- La ngrok-shlosilo estas unu el la neprajhoj, por ke la konekto inter la Twilio-telefonnumero kaj Pitona programo restu stabila.
- Pri linio 65 de programo
app_eo_mod_01.py
:
Mi ne scias, kial che miport = 5000
ne funkciis, kaj
jes funkciasport = 5001
.
Nu, eble mi simple ne atendis sufiche longe la shanghighon deStarting
alRunning
.
Finfine ne estas grave, char la afero funkcias perport = 5001
. - AWS CloudShell kaj la Gugla Cloud Shell Editor estas alternativoj al pythonanywhere, sed ne por mi, char:
Che ili mi ne estas sukcesinta eltrovi manieron facile efektivigeblan kaj oportunan, por teni la Pitonan programon en funkciado, kiam tro longe ne estas aktivado en la operaciuma shelo. - Tiu artikolo priskribas simplan aplikon de vocho-al-teksto-transformo por telefonado en Esperanto. Tiu apliko rezignas pri la Piton-ajharo kaj ngrok-ajharo kaj utiligas la en-Twili-an parolrekonsistemon. Tiu chi ankorau ne estas fasonita rekte por Esperanto. Tial tiu simpla apliko taugas nur por kelkdekoj da elektitaj frazoj.
- Por sondosiero
1)
-al-teksto-transformo — do ne realtempa apliko — estas konsiderinde procedi lau tiu artikolo.1)
Sondosiero kun parolata Esperanto.
Por viaj demandoj, sugestoj kaj sciigo de via preteco testi la realtempan vocho-al-teksto-transformon bonvole kontaktu min tiel:
1) Sendu somoso-on al nul nul kvar nau unu sep ses du ses sep nul du nul kvar kvar kun “esperanto” (sen citiloj kaj sekvata de spaceto) en la komenco (oni ne povas telefoni al tiu numero); au:
2) Kontaktu min per Tvitero (laubezone sekvu min, por ke mi reciproke sekvu vin kaj ni povu intershanghi rektajn mesaghojn).
Jen procedo, por efektivigi eblon a) menciitan supre en listero
pri linio 57 de la kodo de app_eo_mod_01.py
:
- Pasho 1: Malfermu tiun Guglo-Tabelon.
- Pasho 2: Ensalutu en vian Guglo-konton per butono
Anmelden
(Ensaluti). - Pasho 3: En la tabelo iru al
Datei
(Dosiero) >Kopie erstellen
(Krei kopion). - Pasho 4: En via kopio de la tabelo alklaku
Erweiterungen
(Pliaj aferoj) >Apps Script
(Apoj-Skripto). - Pasho 5: Faru la necesajn shanghojn en linioj 4 kaj 8 de la skriptodosiero malfermita en Pasho 4. Pri linio 4: Vi trovas la ID en la adreslinio de la krozilo, kiu montras vian kopion de la Guglo-Tabelo (ne de la skriptodosiero!), nome inter
/d/
kaj/edit
. - Pasho 6: Startigu
function doGet(e)
kaj donu chiujn petatajn permesojn. - Pasho 7: Alklaku
Bereitstellen
(Disponigi) >Neue Bereitstellung
(Nova disponigo) >Web App
(Ret-apo). Certigu, ke laZugriffsberechtigte
(Rajtigito por aliro) estasJeder
(Chiu). - Pasho 8: Kopiu la ret-adreson de la ret-apo disponigita de vi.
Bonvole atentu, ke tiu ret-adreso estas alia, ol tiu de la skriptodosiero. - Pasho 9: En linio 57 de via kopio de la kodo de
app_eo_mod_01.py
anstatauiguhttps://script.google.com/macros/s/.../exec
per la ret-adreso de la ret-apo.
Aldonajho (2022-11-17):
Se mi bone memoras, la du export
-komandoj (vidu supre) ne efikis (kompreneble mi estis anstatauiginta la du xxxxxxxxx
per miaj veraj TWILIO_ACCOUNT_SID
kaj TWILIO_ACCOUNT_TOKEN
), kaj post la unua startigo de app_eo_mod_01.py
estis erarmesagho rilate al ili. Mi elturnighis jene:
Per Files
mi iris en dosierujon
/home/uzantonomo/vosk-live-transcription/venv/lib/python3.10/site-packages/twilio/rest
kaj modifis la kodon de la tiea dosiero __init__.py
jene:
Mi anstatauigis la tiean kodo-partonself.username = username or environment.get('TWILIO_ACCOUNT_SID')
perself.username = "miatwilioaccountsid"
, kaj:
Mi anstatauigis ankau la tiean kodo-partonself.password = password or environment.get('TWILIO_AUTH_TOKEN')
perself.password = "miatwilioauthtoken"
.
Mi trovis miajn verajn miatwilioaccountsid
kaj miatwilioauthtoken
lau la tiurilata priskribo en tiu blogero.