iMagazine

Powiadomienie głosowe o przywróceniu internetu

01/12/2013, 21:33 · · · 6

Wszystko nad czym pieczę trzyma człowiek ma to do siebie, że może czasem się popsuć. Tak też jest z internetem. Nie wiadomo od jak dobrego dostawcy będziemy go mieli, zawsze może nadejść ten dzień, gdy zabraknie dostępu do sieci. W takim przypadku czekamy oczywiście na jego powrót. A zamiast co chwilę sprawdzać ręcznie, czy wszystko zostało już naprawione, możemy posłużyć się sprytnym skryptem.

OS X wyposażono w syntezator mowy. Narzędzie to od wielu lat „siedzi” sobie na naszych komputerach, w większości przypadków nieużywane. Czas jednak poprosić Pana Aleksa (który jest domyślnym głosem w języku angielskim) lub Ewę albo Zosię (oczywiście polskie głosy), aby nam pomogli.

Trik polega na połączeniu trzech narzędzi w pewnego rodzaju pętlę. Całość jest dość prosta i można zawrzeć ją w jednej linijce (bo będzie to polecenie do wykonania w Terminalu):

Teraz krótkie objaśnienie:

  • ping -W1 -c1 google.com – pingujemy adres google.com jeden raz z czasem oczekiwania na pakiet wynoszącym 1 milisekundę;
  • sleep 5 – wstrzymanie przez 5 sekund;
  • until … do … done – to jest nasza pętla, która wywołuje pierwszą opisaną komendę, a gdy nie nadejdzie odpowiedź jest wstrzymywana na pięć sekund (druga opisana komenda), po czym wykonuje operację od nowa;
  • && say internet już wrócił – jeśli narzędzie ping otrzyma odpowiedź, pętla się skończy, a po niej (oznaczenie &&) zostanie wywołane właśnie to polecenie nakazujące uruchomienie syntezatora mowy, który ma wypowiedzieć słowa „internet już wrócił” (oczywiście tekst można zmienić na inny).

Odnośnie polecenia say. Tak jak wspomniałem na początku, domyślnym głosem jest Alex, który niekoniecznie umie w naszym rodzimym języku czytać. Aby to zmienić musimy pobrać dodatkowy pakiet syntezatora mowy którejś z pań: Ewy lub Zosi. W tym celu uruchamiamy Preferencje systemowe i wybieramy Dyktowanie i mowa.

Następnie przechodzimy do zakładki Synteza mowy, a z zakładki Głos systemowy wybieramy opcję Dostosuj….

W oknie wybierania mowy wskazujemy którąś z wymienionych wcześniej pań (bądź zaznaczamy obie).

Po zatwierdzeniu rozpocznie się pobieranie pakietu mowy (ponad 100 MB na pakiet). Po tym polecenia wykonywane za pomocą say będą odczytywane w języku polskim, kobiecym głosem.


Polecenie informowania o przywróceniu internetu warto zapisać jako skrypt wykonywalny, aby nie było potrzeby zapamiętywania całej komendy. W tym celu w edytorze tekstowym (np. TextEdit) wklejamy poniższy tekst:

Następnie zapisujemy plik z rozszerzeniem .command, np. internet.command w jakimś wygodnym dla nas miejscu (np. w katalogu domowym). Następnie w Terminalu wpisujemy poniższą komendę dającą prawa do wykonywania skryptu:

Teraz wystarczy, że dwukrotnie klikniemy plik internet.command w Finderze, a Terminal sam się otworzy i uruchomi polecenie sprawdzające połączenie.

Źródło: OS X Daily


Maciej Skrzypczak

Użytkownik sprzętu z nadgryzionym jabłkiem, grafik komputerowy, nałogowy gracz ARK: Survival Evolved. Redaktor iMagazine.pl.


Dodaj komentarz

Tomasz Żuk napisał(a):

a mi się zapisuje .rtf i nie chce się zapisać .command

Maciej Skrzypczak napisał(a):

A w jakim edytorze zapisujesz? Jeśli w TextEdit, to wejdź w menu Format i tam wybierz Zamień na tekst zwykły. Teraz wciśnij Shift+Alt+Cmd+S i jeszcze raz nadaj nazwę i rozszerzenie .command. Powinno zadziałać.

Tomasz Żuk napisał(a):

dziękuję,

rycek napisał(a):

Fajne.

disqus_ipXHAJI5Bq napisał(a):

Komenda say ma też opcję -v [nazwa głosu] co pozwala „w locie” zmieniać głosy i języki (o ile są zainstalowane) bez konieczności zmiany ustawienia standardowego głosu. Zakładając więc, że ktoś ma ustawiony jako standardowy głos Agaty (która umie czytać po polsku), może dla urozmaicenia końcówkę powyższego polecenia zapisać:
&& say -v Alex the internet is back

Arek Kożuch napisał(a):

Fajnie, że ktoś ma tak szybki internet, żeby google.com odpowiedział w 1ms, lepiej 30 ustawić ;)