Hogyan állítsa be számítógépét, hogy beszéljen/mondja azt, amit ír

Van egy nagyszerű szolgáltatás a Windowsban(Windows) , amely lehetővé teszi, hogy számítógépe beszéljen vagy beszéljen, amit mond! Ez a módszer kihasználja a Windows XP , Vista , 7, 8 és 10 rendszerekre telepített beépített API -t, az úgynevezett (API)SAPI -t ( Speech Application Programming Interface ).

A Microsoft Speech API a (Microsoft Speech API)Windows beépített szövegfelolvasó kisegítő funkciója . Írhat olyan programokat is, amelyek meghívják az API -t , ami lehetővé teszi, hogy az alkalmazások beszéljenek, de ez a fejlesztőknek szól.

Valójában nagyon egyszerű rávenni a számítógépet, hogy elmondja, amit akar! Ebben a cikkben bemutatom, hogyan hozhat létre VBS - szkriptet, amely átveszi a szövegbevitelt a felhasználótól, majd kimondja. Azt is megemlítem, hogyan kell a kimondani kívánt szöveget keményen kódolni, majd ütemezni, hogy a szkript fusson bizonyos eseményeknél, például a Windows indításakor vagy a kijelentkezéskor.

Szöveg bevitele, üzenet kimondása

Kezdjük egy egyszerű szkripttel, amely felugrik egy párbeszédpanelt, amelybe beírhatja, hogy mit szeretne a Windowstól. Először(First) is nyissa meg a Jegyzettömböt(Notepad) .

1. lépés:(Step 1:)  Illessze be a következő szöveget egy új dokumentumba:

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message

Vegye figyelembe, hogy amikor szöveget másol a webböngészőből, és beilleszti a Jegyzettömbbe(Notepad) , az idézőjelek problémákat okoznak. A fájl mentése előtt minden idézetet (“) át kell mennie, törölnie kell, majd újra be kell írnia az idézetet. Az alábbi példában hat idézet található. Valahogy úgy kell kinéznie, mint az alábbi képen.

beszélni a számítógépet

Most, amikor elmenti a fájlt, adjon meg bármilyen nevet, de ügyeljen arra, hogy a név mögé írja be a .VBS kifejezést(.VBS) . Ezután a Mentés típusa( Save as type) mezőben válassza a Minden fájl lehetőséget az alapértelmezett ( All files)szöveges dokumentumok(Text Documents) helyett .

számítógépes beszélgetéseket indítani

Most kattintson duplán a VBS fájlra, és látnia kell egy beviteli mezőt, ahol beírhatja a kimondani kívánt szöveget! Írjon be valamit, és kattintson az OK gombra.

beszéd párbeszédpanel

Ha mindent jól csinált, akkor egy férfi vagy női hangot kell hallania, amely kimondja a mondatát. Ha bármilyen hibaüzenetet kap, másolja ki és illessze be újra a szöveget, és cserélje ki az idézőjeleket.

Konfigurálja a SAPI Voice beállításokat

Ez jó móka, de a kis beszélő számítógépünket is különböző beállításokkal konfigurálhatjuk. Módosíthatjuk a hangerőt, a beszéd gyorsaságát vagy lassúságát, és módosíthatjuk a nemet férfi és nő között. Íme néhány példakód, ahol hozzáadtam néhány extra sort.

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
Set sapi.Voice = sapi.GetVoices.Item(1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak message

Az alapértelmezett arány 0, a tartomány pedig -10 és 10 között van. A -10 értéknél a hang szuperlassan, a 10-es pedig szupergyorsan szólal meg. A hangerő alapértelmezett értéke 100, a tartomány pedig 0 és 100 között van. A Set sapi.Voice szöveggel kezdődő(Set sapi.Voice) sor lehetővé teszi, hogy másik hangra váltson, ha az telepítve van a rendszerére.

Vegye figyelembe, hogy a választható hangok száma az operációs rendszertől függ. A Windows 7 rendszerben csak egy hang van, a Microsoft Anna .

telepített hangok

A Windows 10 rendszerben két hang szólal meg: Microsoft David és Microsoft Zira , az alábbiak szerint.

microsoft davis hangja

microsoft zira hangja

Ha csak egy hang van telepítve a rendszeren, akkor a sapi.GetVoices.Item(1) szöveget sapi.GetVoices.Item(0) értékre( sapi.GetVoices.Item(0)) kell módosítania , ellenkező esetben hibaüzenetet fog kapni, amikor megpróbálja futtatni a szkriptet. Létrehozhat egy másik Jegyzettömb(Notepad) dokumentumot is, és beillesztheti az alábbi kódot, amely megmondja, hogy milyen hangok vannak telepítve. Mentse el .VBS fájlként a fent látható módon, és futtassa.

Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next

Eddig ezt a felugró párbeszédablakot használtuk szövegbevitelre, de egyszerűen beírhatta üzenetét a szkriptfájlba. Ez akkor hasznos, ha be szeretné ütemezni a szkriptet, hogy automatikusan fusson. Nyilvánvaló, hogy ezt fel lehet használni a barátok és a család megtréfálására, és nagyon jól működik.

Képzelje el, hogy valaki bekapcsolja a számítógépét, és hallja, hogy a számítógép azt mondja neki: „ Hello John , nagyon álmos vagyok, kérem, ne zavarjon ma!” amikor beindul! Tapasztalatból megígérhetem, hisztis, és mindenképp ki kell próbálni.

Az üzenet kódolásához egyszerűen módosítsa az utolsó sort a következőre:

sapi.Speak “Hello John, I am very tired today!”

Ütemezési parancsfájl

Most, hogy az üzenetet a kívánt célponthoz rögzítette, egyszerűen le kell futtatnia, amikor csak akarja. Ha járatos a technikában, használhat egy olyan programot, mint az AutoIt , amely lehetővé teszi olyan extrém dolgok elvégzését, mint például a szkriptfájl futtatása, amikor egy bizonyos program megnyílik, vagy amikor egy ablakot maximalizálnak vagy kicsinyítenek.

Ebben a bejegyzésben nincs időm ebbe az egészbe belemenni, de szerencsére a Microsoft rendelkezik egy beépített funkcióval, a Feladatütemezővel(Task Scheduler) , amellyel könnyedén elvégezhet néhány meglehetősen bonyolult dolgot a szkriptekkel.

Előző bejegyzésem részletesen foglalkozik azzal, hogyan ütemezhetem be a parancsfájl futtatását,(how to schedule a script file to run) ha bizonyos események történnek a Windows rendszerben(Windows) . Ha bármilyen problémája van a szkript működésbe hozásával, nyugodtan írjon megjegyzést, és megpróbálok segíteni. Élvezd!



About the author

Számítógép-programozó vagyok, és több mint 15 éve. Szakértelmem szoftveralkalmazások fejlesztésében és karbantartásában, valamint ezen alkalmazások technikai támogatásában rejlik. Számítógép-programozást is tanítottam középiskolásoknak, jelenleg pedig profi oktató vagyok.



Related posts