Утилита командной строки say
, похоже, не знает о голосах Siri с macOS 10.15 (Каталина):
say -v '?'
не перечисляет голоса Siri.
Точная настройка голоса Siri явно не работает:
say -v NoraSiri hi!
нет найдите голос Nora Siri (который является голосом Siri по умолчанию).
Использование идентификатора пакета (например, com.apple.speech.synthesis.voice.custom.siri.nora.premium
) [1] не вызывает жалоб о неизвестном голосе, но вывод речи прерывается с Open speech channel failed: -86
:
say -v com.apple.speech.synthesis.voice.custom.siri.nora.premium hi!
Казалось бы, любая строка с префиксом com.apple.speech.synthesis.voice.custom
вызывает эту ошибку.
Аналогично, NSSpeechSynthesizer
не отображает голоса Siri как доступные и не отображает ' • не поддерживает выбор одного для речевого вывода.
Сама ОС поддерживает возможность использовать голос Siri для TTS, о чем свидетельствует тот факт, что вы можете выбрать один из них как системный голос в System Preferences > Accessibility > Speech
, например, в сочетании с коротким Функция Speak selected text when the key is pressed
на основе ut-ключа.
К сожалению, похоже, что эта функция не предоставляется через утилиту или API.
- Есть ли способ использовать голоса Siri с
say
или NSSpeechSynthesizer
?
[1] Идентификаторы связок активированных голосов Siri можно определить следующим образом:
ls /System/Library/Speech/Voices/*.SpeechVoice/Contents/Info.plist | grep -i siri | xargs -n 1 /usr/libexec/PlistBuddy -c 'print CFBundleIdentifier'