Change voice of OpenEars

Home Forums OpenEars Change voice of OpenEars

Viewing 14 posts - 1 through 14 (of 14 total)

  • Author
    Posts
  • #1030601
    frostzone
    Participant

    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

    #1030602
    Halle Winkler
    Politepix

    Welcome,

    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.

    #1030609
    frostzone
    Participant

    Thank 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?

    #1030628
    frostzone
    Participant

    So I’m guessing that is a no. That there would be no way to use custom voices in openears.

    #1030631
    Halle Winkler
    Politepix

    OEFliteController 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.

    #1030632
    frostzone
    Participant

    Ok! Thank you for all your help! And sorry for the trouble!

    #1031732
    openearsnewbie
    Participant

    Hi 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.

    #1031733
    Halle Winkler
    Politepix

    Welcome,

    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.

    #1031734
    openearsnewbie
    Participant

    Hi 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?

    #1031735
    Halle Winkler
    Politepix

    OK, 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.

    #1031736
    openearsnewbie
    Participant

    Hi 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

    #1031737
    Halle Winkler
    Politepix

    Hi,

    Initialize Slt before setting target_mean.

    #1031738
    openearsnewbie
    Participant

    Hi 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

    #1031739
    Halle Winkler
    Politepix

    Sorry, I’ve tested it and it doesn’t seem to be working currently. I will take a look at why when there is time.

Viewing 14 posts - 1 through 14 (of 14 total)
  • The topic ‘Change voice of OpenEars’ is closed to new replies.