Re: How to speak Chinese on 10.9.2
Re: How to speak Chinese on 10.9.2
- Subject: Re: How to speak Chinese on 10.9.2
- From: "Gerriet M. Denkmann" <email@hidden>
- Date: Thu, 15 May 2014 22:38:24 +0700
On 15 May 2014, at 22:12, Gary L. Wade <email@hidden> wrote:
> If you need the phonemes, look at the willSpeakPhoneme delegate method. You can use it in conjunction with the other delegates in a manner like NSString enumerates sentences and words—not a perfect comparison, but it should help you conceptually.
Unfortunately the documentation says about speechSynthesizer:willSpeakPhoneme:
"This method is not sent for modern voices." And this seems indeed to be the case.
Another problem with: speechSynthesizer:willSpeakWord:ofString: - while it works fine for German or Chinese, it gives complete garbage for Thai.
>
> If I recall, the feedback window solves a very narrow need, one that didn't help me much, so I didn't explore it, especially since the delegate methods gave me what I needed.
>
> I wouldn't doubt that NSSpeechSynthesizer gets deprecated in favor of the AV variety based on the way Apple has historically ported underlying technologies between platforms, but if not or you need to support older OSes, be careful about some of its property retrieval methods, especially the phoneme dictionary per voice, since in at least one OS and earlier it returned a retained object vs an autoreleased object against the Objective-C memory naming contract.
> --
> Gary L. Wade (Sent from my iPhone)
> http://www.garywade.com/
>
>> On May 15, 2014, at 5:53 AM, "Gerriet M. Denkmann" <email@hidden> wrote:
>>
>>
>>> On 15 May 2014, at 15:53, Gary L. Wade <email@hidden> wrote:
>>>
>>> Also, I haven’t tried this sequence myself, but I noticed in your sample code you’re
>>> calling phonemesFromText: right after startSpeakingString:. Maybe
>>> phonemesFromText: is short-circuiting the speaking?
>>
>> Right on!
>> Putting phonemesFromText: BEFORE startSpeakingString: finally gets me to hear all my new voices.
>>
>> But: phonemesFromText: still returns an empty string.
>> This is a pity, because getting the phonemes is the goal of the whole exercise.
>>
>> With or without delegate.
>>
>> Another thing: setUsesFeedbackWindow: YES has no visible effect whatsoever with any voice.
>>
>>
>>> It’s been a while
>>> since I’ve worked on my app, but I remember some calls will stop any
>>> current speaking.
>>> --
>>> Gary L. Wade
>>> http://www.garywade.com/
>>>
>>> On 5/14/2014, 11:15 PM, "Gerriet M. Denkmann" <email@hidden> wrote:
>>>
>>>
>>>>
>>>>> On 15 May 2014, at 08:41, Jens Alfke <email@hidden> wrote:
>>>>>
>>>>> On May 14, 2014, at 6:24 PM, Gerriet M. Denkmann <email@hidden>
>>>>> wrote:
>>>>>
>>>>>> But the only thing in 10.9.2 I found was NSSpeechSynthesizer, which
>>>>>> has 24 voices (which is nice) but all 24 have VoiceLanguage =
>>>>>> VoiceLocaleIdentifier = en_US (which seems rather odd).
>>>>>
>>>>> The non-English voices are optional downloads — you can get them via
>>>>> the Dictation/Speech system pref pane. Pull down the System Voice pop-up
>>>>> and choose Customize…
>>>>
>>>> Thanks. Just did that.
>>>>
>>>> Did set System Voice to "Anna" (a German voice).
>>>> Now, when I select some (German) text and do Control-Click → Speech →
>>>> Start Speaking it just works. Very good.
>>>>
>>>> But this:
>>>>
>>>> NSString *voiceIdentifier =
>>>> @"com.apple.speech.synthesis.voice.anna.premium";
>>>> NSString *text = @"Der Osten ist rot.";
>>>> NSSpeechSynthesizer *syn = [ [ NSSpeechSynthesizer alloc ]
>>>> initWithVoice: voiceIdentifier ]; // non-nil
>>>> BOOL ok = [ syn startSpeakingString: text ]; // returns YES, but does
>>>> NOT speak
>>>> NSString *pp = [ syn phonemesFromText: text ]; // returns empty string
>>>>
>>>> does not work as expected.
>>>> Same problem with all other voices I just downloaded. Only the default
>>>> (en-US) voices work as they should.
>>>>
>>>> What am I missing?
>>>>
>>>> Gerriet.
>>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden