Используем встроенный синтезатор речи MacOS в Ruby скриптах
Say - это команда синтезатора речи встроенного в macOS. При помощи этой команды можно пользоваться функцией чтения текста. По умолчанию используется тот голос, который указан в настройках операционной системы macOS.
Читаемый текст может быть передан в строке или в файле. В перечне опций команды "say" - выбор голоса; выбор файла для чтения; запись звукового файла; скорость чтения; и еще ряд более тонких настроек.
Для запуска команды из Ruby-скрипта можно воспользоваться записью с обратными косыми кавычками (backticks):
`say "Hello Nerdy Person!"`
Если символ грависа (обратной кавычки) не нравится, можно использовать альтернативную запись, которая также исполняет системные команды "%x":
%x(say "Hello Nerdy Person!")
Если не использовать синтаксис вызова системных команд из Ruby-скрипта, мы получим ошибку:
say "Hello Nerdy Person!" undefined method `say' for main:Object (NoMethodError)
Не стоит забывать о том, что мы можем использовать переменные внутри воспроизводимых строк.
Например воспроизведем имя передаваемое через аргумент при запуске скрипта. При помощи ARGV[0] получим первый элемент из массива аргументов.
%x(say "Hello #{ARGV[0]}!") sayhello.rb Siri