On 15 May 2014, at 22:12, Gary L. Wade <garyw...@desisoftsystems.com> 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" <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