Jak sprawić, by komputer mówił/mówił to, co piszesz?

W systemie Windows(Windows) jest fajna funkcja , która pozwala komputerowi mówić lub mówić, cokolwiek mu powiesz! Ta metoda wykorzystuje wbudowany interfejs API(API) zainstalowany w systemach Windows XP(Windows XP) , Vista , 7, 8 i 10 o nazwie SAPI ( Interfejs programowania aplikacji mowy(Speech Application Programming Interface) ).

Interfejs API Microsoft Speech(Microsoft Speech API) jest używany do funkcji ułatwień dostępu zamiany tekstu na mowę wbudowanej w system Windows(Windows) . Możesz także pisać programy, które wywołują API , co pozwoliłoby przemówić Twoim aplikacjom, ale to jest dla programistów.

Sprawienie, by komputer powiedział, czego chcesz, jest całkiem proste! W tym artykule pokażę, jak utworzyć skrypt VBS , który pobiera tekst od użytkownika, a następnie go wypowiada. Wspomnę również o tym, jak na stałe zakodować tekst, który chcesz wypowiedzieć, a następnie zaplanować uruchomienie tego skryptu w określonych zdarzeniach, takich jak uruchamianie systemu Windows(Windows) lub wylogowanie.

Wprowadź tekst, wypowiedz wiadomość

Zacznijmy od prostego skryptu, który wyświetli okno dialogowe, w którym możesz wpisać, co ma mówić system Windows. Najpierw(First) przejdź dalej i otwórz Notatnik(Notepad) .

Krok 1:(Step 1:)  Wklej następujący tekst do nowego dokumentu:

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

Pamiętaj, że gdy skopiujesz tekst z przeglądarki internetowej i wkleisz go do Notatnika(Notepad) , cytaty spowodują problemy. Zanim zapiszesz plik, musisz przejrzeć i usunąć każdy cytat („) i ponownie wpisać cytat. W poniższym przykładzie jest sześć cudzysłowów. Powinno wyglądać jak na poniższym obrazku.

spraw, aby komputer przemówił

Teraz, gdy idziesz do zapisania pliku, nadaj mu dowolną nazwę, ale upewnij się, że wpisałeś również .VBS po nazwie. Następnie w polu Zapisz jako typ( Save as type) wybierz Wszystkie pliki( All files) zamiast domyślnych Dokumentów tekstowych(Text Documents) .

spraw, aby komputer rozmawiał

Teraz kliknij dwukrotnie plik VBS i powinieneś zobaczyć pole wprowadzania, w którym możesz wpisać tekst, który chcesz wypowiedzieć! Wpisz coś i kliknij OK.

mów okno dialogowe

Jeśli zrobiłeś wszystko dobrze, powinieneś usłyszeć męski lub żeński głos wypowiadający twoje zdanie. Jeśli pojawi się jakikolwiek komunikat o błędzie, skopiuj i wklej tekst ponownie i zastąp te cudzysłowy.

Skonfiguruj ustawienia głosu SAPI

To zabawne, ale możemy też skonfigurować nasz mały mówiący komputer z różnymi ustawieniami. Możemy zmienić głośność, szybkość lub spowolnienie mowy głosowej oraz zmienić płeć między mężczyzną a kobietą. Oto przykładowy kod, w którym dodałem kilka dodatkowych linii.

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

Domyślna częstotliwość to 0, a zakres to -10 do 10. -10 sprawi, że głos będzie mówił bardzo wolno, a 10 będzie mówił bardzo szybko. Głośność jest domyślnie ustawiona na 100, a zakres wynosi od 0 do 100. Wiersz rozpoczynający się od Set sapi.Voice umożliwia zmianę głosu na inny, jeśli jest zainstalowany w systemie.

Pamiętaj, że liczba głosów, z których możesz wybierać, zależy od systemu operacyjnego. W Windows 7 jest tylko jeden głos, Microsoft Anna .

zainstalowane głosy

W systemie Windows 10(Windows 10) istnieją dwa głosy: Microsoft David i Microsoft Zira , jak pokazano poniżej.

głos microsoft davis

głos microsoft zira

Jeśli w twoim systemie jest zainstalowany tylko jeden głos, musisz zmienić sapi.GetVoices.Item(1) na sapi.GetVoices.Item(0) , w przeciwnym razie przy próbie uruchomienia skryptu zostanie wyświetlony komunikat o błędzie. Możesz także utworzyć kolejny dokument Notatnika(Notepad) i wkleić poniższy kod, który powie Ci, jakie głosy są zainstalowane. Zapisz go jako plik .VBS, jak pokazano powyżej i uruchom go.

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

Do tej pory używaliśmy tego wyskakującego okna dialogowego do wprowadzania tekstu, ale możesz też po prostu wpisać swoją wiadomość do pliku skryptu. Byłoby to przydatne, gdybyś chciał zaplanować automatyczne uruchamianie skryptu. Oczywiście można to wykorzystać do robienia żartów znajomym i rodzinie i działa naprawdę dobrze.

Wyobraź sobie, że ktoś włącza komputer i słyszy, jak komputer mówi: „ Cześć John(Hello John) , jestem bardzo śpiący, proszę, nie przeszkadzaj mi dzisiaj!” kiedy się uruchamia! Obiecuję z doświadczenia, to histeryczne i zdecydowanie powinieneś spróbować.

Aby zakodować wiadomość na stałe, po prostu zmień ostatnią linię na coś takiego:

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

Zaplanuj plik skryptu

Teraz, gdy masz już zakodowaną wiadomość dla zamierzonego celu, po prostu musisz ją uruchomić, kiedy chcesz. Jeśli jesteś obeznany z technologią, możesz użyć programu takiego jak AutoIt , który pozwoli ci robić ekstremalne rzeczy, takie jak uruchamianie pliku skryptu, gdy określony program jest otwarty lub gdy okno jest zmaksymalizowane lub zminimalizowane.

Nie mam czasu, aby zagłębić się w to wszystko w tym poście, ale na szczęście Microsoft ma wbudowaną funkcję o nazwie Harmonogram zadań(Task Scheduler) , która pozwala łatwo robić dość skomplikowane rzeczy za pomocą skryptów.

Mój poprzedni post szczegółowo opisuje, jak zaplanować uruchomienie pliku skryptu, gdy w (how to schedule a script file to run)systemie Windows(Windows) wystąpią określone zdarzenia . Jeśli masz problemy z uruchomieniem skryptu, napisz komentarz, a postaram się pomóc. Cieszyć się!



About the author

Jestem inżynierem oprogramowania z ponad 10-letnim doświadczeniem w branży Xbox. Specjalizuję się w tworzeniu gier i testowaniu bezpieczeństwa. Jestem także doświadczonym recenzentem i pracowałem nad projektami dla największych nazwisk w branży gier, w tym Ubisoft, Microsoft i Sony. W wolnym czasie lubię grać w gry wideo i oglądać programy telewizyjne.



Related posts