say() { if [[ "${1}" =~ -[a-z]{2} ]]; then local lang=${1#-}; local text="${*#$1}"; else local lang=${LANG%_*}; local text="$*";fi; mplayer "http://translate.google.com/translate_tts?ie=UTF-8&tl=${lang}&q=${text}" &> /dev/null ; }
Команда say() позволяет использовать Google Text-to-Speech на локальном языке или языке по выбору. При вызове команды с текстом на определенном языке, создается звуковой файл, содержащий аудио-запись этого текста на выбранном языке. Затем файл проигрывается через mplayer без вывода информации в консоль. Если язык не указан явно через аргументы командной строки, то текст озвучивается на языке, установленном в системе. Команда может быть полезна для эффективного использования голосового интерфейса или для озвучивания текстовых сообщений. Альтернативами могут быть другие библиотеки и утилиты для генерации и проигрывания аудио-файлов с помощью командной строки.