Tagged: xcode ios objective-c
- This topic has 13 replies, 3 voices, and was last updated 7 years ago by Halle Winkler.
-
AuthorPosts
-
June 20, 2016 at 11:11 am #1030601frostzoneParticipant
I apologize if this is a stupid question. But I was wondering if there was a way to use a different voice for the TTS. For example a male voice or a different voice altogether.
I know in the CMU flite engine you could use setVoice to choose a voice. But is there a way to change voice in OpenEars like that?
I use Objectice-C and xcode 7.3
June 20, 2016 at 11:30 am #1030602Halle WinklerPolitepixWelcome,
There used to be a set of alternate voices, but I’ve removed them starting with OpenEars 2.5 because it was a lot of work maintaining them through every packaging change required by Xcode, and ultimately every developer always ended up using the 16-bit SLT voice after testing the others because it sounded distinctly better than the other voices. You can adjust the Slt voice which ships with OpenEars to a male-sounding voice using the voice parameters available in OEFliteController and it will sound better than the alternate male voices did.
June 23, 2016 at 2:10 am #1030609frostzoneParticipantThank you for your reply!
So there would be no way of switching the voices to something different natively in this API? I was thinking about building my own voice and using it, would using that voice with the OpenEars work?
June 28, 2016 at 6:20 am #1030628frostzoneParticipantSo I’m guessing that is a no. That there would be no way to use custom voices in openears.
June 28, 2016 at 10:15 am #1030631Halle WinklerPolitepixOEFliteController uses Flite 1.4 voices, so if you want to build a voice which is compatible with trunk Flite 1.4 it should be compatible with OpenEars, although I only give technical support for the use of OEFliteController with the shipped Slt.framework voice since I am the party who has packaged it for OpenEars and I have a basis for giving assistance with it.
June 29, 2016 at 2:08 am #1030632frostzoneParticipantOk! Thank you for all your help! And sorry for the trouble!
April 12, 2017 at 8:11 pm #1031732openearsnewbieParticipantHi Halle, am trying to use a different voice for TTS and you had mentioned in the post that ‘You can adjust the Slt voice which ships with OpenEars to a male-sounding voice using the voice parameters available in OEFliteController’. Can you pls guide me on the same on how to achieve this or post a snippet for the same? I tried manipulating with target_mean/target_stddev parameters in OEFliteController, but no luck. I think am not tweaking the right params. Will be helpful if you can provide some guidance. Thanks for your help.
I tried to see for the alternate voices, which used to be available in bitbucket earlier, but they are no longer available.
April 12, 2017 at 9:44 pm #1031733Halle WinklerPolitepixWelcome,
They are properties of the class, so you can set them after instantiating it. If you have done this and managed to change the sound of the voice, but not in the way you intended, please share some specific information about your results and I can try to help.
April 12, 2017 at 10:13 pm #1031734openearsnewbieParticipantHi Halle – Thanks for the quick response.
I tried manipulating with target_mean/target_stddev parameters in OEFliteController, but no luck. I instantiated the class and tried setting different values for them between 0 and 2. But I still keep hearing the TTS voice in female voice. I want to hear it in the male voice.
Can you pls guide me on how to tweak this, to hear TTS in male voice?
April 12, 2017 at 10:34 pm #1031735Halle WinklerPolitepixOK, why don’t you show a specific very short piece of code and tell me the results. target_mean is the only property you need to change to change the pitch of the voice, probably only a small degree below 1.0.
April 13, 2017 at 12:14 am #1031736openearsnewbieParticipantHi Halle – Here is what I tried. tried setting target_mean to 0.9 but still keep hearing the TTS voice in female voice. I want to hear it in the male voice.
self.fliteController = [[OEFliteController alloc] init];
self.fliteController.target_mean = 0.9f;
NSLog(@”self.fliteController.debugDescription::: %@”, self.fliteController.debugDescription);
self.openEarsEventsObserver = [[OEEventsObserver alloc] init];
self.openEarsEventsObserver.delegate = self;
self.slt = [[Slt alloc] init];Am testing in iPhone 6, iOS 10.3
April 13, 2017 at 8:10 am #1031737Halle WinklerPolitepixHi,
Initialize Slt before setting target_mean.
April 13, 2017 at 5:26 pm #1031738openearsnewbieParticipantHi Halle – I have changed to as below. But still am hearing in female voice.
self.fliteController = [[OEFliteController alloc] init];
self.openEarsEventsObserver = [[OEEventsObserver alloc] init];
self.openEarsEventsObserver.delegate = self;
self.slt = [[Slt alloc] init];
self.fliteController.target_mean = 0.9f;Am testing in iPhone 6, iOS 10.3
April 13, 2017 at 7:09 pm #1031739Halle WinklerPolitepixSorry, I’ve tested it and it doesn’t seem to be working currently. I will take a look at why when there is time.
-
AuthorPosts
- The topic ‘Change voice of OpenEars’ is closed to new replies.