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.

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" <gerr...@mdenkmann.de> 
> wrote:
> 
> 
>> On 15 May 2014, at 15:53, Gary L. Wade <garyw...@desisoftsystems.com> 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" <gerr...@mdenkmann.de> wrote:
>> 
>> 
>>> 
>>>> On 15 May 2014, at 08:41, Jens Alfke <j...@mooseyard.com> wrote:
>>>> 
>>>> On May 14, 2014, at 6:24 PM, Gerriet M. Denkmann <gerr...@mdenkmann.de>
>>>> 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 (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to