NSSpeechSynthesizer компактные голоса - PullRequest
1 голос
/ 25 февраля 2012

Я пишу, чтобы задать вам вопрос о NSSpeechSynthesizer. На самом деле он работает идеально для меня, единственное, что я видел, странно (для меня), что все доступные голоса - это голоса премиум-класса.

    NSArray* voices;
    voices = [NSpeechSynthesizer availableVoices];

Когда я печатаю все голоса в массиве, я вижу, например, Silvia и Paolo, но не Silvia Compact и Paolo Compact.

К сожалению, для итальянского языка в премиум-версии есть много ошибок, которых нет у компактных голосов. Поэтому я хотел бы иметь возможность выбрать компактную версию ... кто-нибудь из вас знает, как я могу сделать их доступными?

Большое спасибо ...

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Вы можете установить с помощью идентификатора (Алиса - компактный итальянский голос):

let voiceId : String = "com.apple.ttsbundle.Alice-compact"

speechUtterL1 = AVSpeechUtterance(string: "dì qualcosa in italiano")
speechUtter.voice = AVSpeechSynthesisVoice(identifier: voiceId)

поставить голос после текста, поскольку я видел проблемы, когда параметр голосаустанавливается перед произнесением.

0 голосов
/ 25 июня 2012

Вы можете использовать доступные голоса, и когда голос заканчивается на «.premium», попробуйте заменить «.premium» на «.compact».Это будет работать только с голосами, установленными пользователем, но это не должно удивлять пользователя.

...