[Mac OS X] Используем голосовые возможности OS X в командной строке
Пользователи OS X знают о голосовых возможностях системы. Суть этих возможностей — преобразование текста в голос. Обычно они доступны во многих Cocoa-приложениях через меню Правка — Проговаривание текста.
Вот пример из TextEdit.app:
К сожалению, поддержки русского языка в голосовой системе не реализовано. И именно поэтому русскоговорящие пользователи обычно не используют этот сервис.
Но голосовые возможности иногда бывает полезно использовать в командной строке, несмотря на языковые ограничения. С английским-то языком, у сервиса все в полном порядке. 🙂
Реализуется это при помощи команды say
.
Самое простое применение — попробуйте ввести команду:
say Hello my friend!
Есть опция -v
, позволяющая выбрать голос, которым будет произносится введенный текст. Посмотреть список всех имеющихся в системе голосов можно по команде:
say -v?
Некоторые из них достаточно забавны. Выбирайте в списке любой голос и пробуйте, например:
say -v Bells Hello my friend!
Второе простое применение — чтение текстового файла. Использование:
cat filename | say
где вместо filename — имя файла, текст из которого нужно прочитать.
Еще одно простое применение — произнесение вводимого с клавиатуры текста. Для этого просто введите команду say
без каких либо аргументов и начинайте вводить текст, по завершению вводимой строки нажимайте как обычно Enter и именно в этот момент строка будет произнесена.
Попробуйте, как на картинке ввести текст «Mac OS X«. Будете приятно удивлены, тем, что система произнесет последнюю букву «Х» именно как «тэн», а не как можно было бы ожидать «экс». 😀
Так же можно озвучить, то, что выводит любая команда на экран терминала. Например:
ls | say
или вообще послушать man на какую-либо команду :):
man ls | say
А теперь рассмотрим реальный пример, когда использование этого сервиса может быть действительно полезно. Идея проста — нам никто не мешает использовать голосовые оповещения по завершению какой-либо долго выполняющейся команды.
В предыдущих заметках о создании из командной строки установочного диска OS X Lion в виде DVD-диска и в виде USB-флешки как раз и используются такие достаточно долго выполняющиеся команды. И вот как раз их можно очень легко модифицировать, дописав в конец:
; say All done
Пример модификации команды для USB-флешки:
asr restore --source /Applications/Install\ Mac\ OS\ X\ Lion.app/Contents/SharedSupport/InstallESD.dmg --target /dev/disk1s2 --erase --noprompt; say All done
Пример модификации команды для DVD-диска:
hdiutil burn /Applications/Install\ Mac\ OS\ X\ Lion.app/Contents/SharedSupport/InstallESD.dmg; say All done
Тогда, после завершения выполнения этих команд, вы услышите фразу All done, что и будет сигналом о завершении записи диска. Это действительно удобно.
Удачи!