W systemie Windows jest fajna funkcja, która pozwala sprawić, by komputer mówił lub mówił cokolwiek mu powiesz! Ta metoda wykorzystuje wbudowany interfejs API zainstalowany w systemach Windows XP, Vista, 7, 8 i 10 o nazwie SAPI (Speech Application Programming Interface).
Interfejs Microsoft Speech API jest używany przez funkcję ułatwień dostępu zamiany tekstu na mowę wbudowaną w system Windows. Możesz także pisać programy, które wywołują API, co pozwoliłoby twoim aplikacjom mówić, ale to dla programistów.
Spis treści
- Wprowadź tekst, wypowiedz wiadomość
- Skonfiguruj ustawienia głosowe SAPI
- Zaplanuj plik skryptu
Sprawienie, by komputer powiedział, czego chcesz, jest w rzeczywistości całkiem łatwe! W tym artykule pokażę, jak utworzyć skrypt VBS, który pobierze tekst od użytkownika, a następnie go wymówi. Wspomnę również, jak zakodować tekst, który chcesz wymówić, a następnie zaplanować uruchamianie tego skryptu w przypadku określonych zdarzeń, takich jak uruchomienie systemu 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 otwórz Notatnik.
Krok 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 kiedy skopiujesz tekst z przeglądarki internetowej i wkleisz go do Notatnika, cudzysłowy będą powodować problemy. Przed zapisaniem pliku należy przejrzeć i usunąć każdy cytat („”), a następnie wpisać go ponownie. W poniższym przykładzie jest sześć cytatów. Powinno to wyglądać mniej więcej tak, jak na obrazku poniżej.
Teraz, kiedy idziesz, aby zapisać plik, nadaj mu dowolną nazwę, ale upewnij się, że po nazwie wpisałeś także .VBS . Następnie w polu Zapisz jako typ wybierz Wszystkie pliki zamiast domyślnych Dokumentów tekstowych.
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.
Jeśli wszystko zrobiłeś 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 cytaty.
Skonfiguruj ustawienia głosowe SAPI
To jest fajne, ale możemy też skonfigurować nasz mały gadający komputer z różnymi ustawieniami. Możemy zmienić głośność, jak szybko lub wolno mówi głos i zmienić płeć między męską i żeńską. 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 szybkość to 0, a zakres wynosi od -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żliwi zmianę na inny głos, jeśli jest zainstalowany w systemie.
Pamiętaj, że liczba głosów do wyboru zależy od systemu operacyjnego. W Windows 7 jest tylko jeden głos, Microsoft Anna.
W systemie Windows 10 dostępne są dwa głosy: Microsoft David i Microsoft Zira, jak pokazano poniżej.
Jeśli w systemie jest zainstalowany tylko jeden głos, musisz zmienić sapi.GetVoices.Item(1) na sapi.GetVoices.Item(0) , w przeciwnym razie podczas próby uruchomienia skryptu pojawi się komunikat o błędzie. Możesz także utworzyć inny dokument Notatnika 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 żartowania znajomym i rodzinie i działa to naprawdę dobrze.
Wyobraź sobie, że ktoś włącza swój komputer i słyszy, jak komputer mówi do niego: „Cześć John, jestem bardzo śpiący, proszę, nie przeszkadzaj mi dzisiaj!” kiedy się uruchamia! Mogę ci obiecać z doświadczenia, że to histeria i zdecydowanie powinieneś tego 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 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 otwierany lub gdy okno jest maksymalizowane lub minimalizowane.
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ń, która pozwala łatwo wykonywać dość skomplikowane rzeczy za pomocą skryptów.
Mój poprzedni post szczegółowo opisuje, jak zaplanować uruchomienie pliku skryptu , gdy wystąpią określone zdarzenia w systemie Windows. Jeśli masz problemy z uruchomieniem skryptu, napisz komentarz, a postaram się pomóc. Cieszyć się!