December 2, 2012 at 5:44 am #14392
I’ve gotten NeatSpeech to work on a brand-new iOS project however when I try to get it working on another, more complex project I’m getting the following error when I issue the “say” call.
“HTS_Stream_load_pdf_and_tree: File for duration trees is not specified.”
Without digging into the source I’m not sure what this is but it appears like it’s missing part of the VoiceModel resources. I’ve double-checked and they appear to be included and deployed just like in the project that’s working.
Any tips would be much appreciated.
P.S. I think there’s a typo on this page: https://www.politepix.com/neatspeech/
“Emma *emma = [[Emma alloc]initWithPitch:0.0 speed:0.0 transform:0.0];”
“emma = [[Emma alloc]initWithPitch:0.0 speed:0.0 transform:0.0];”
thanks in advance,
-fsDecember 2, 2012 at 9:27 am #14422
So far, this kind of error has always been due to the wrong settings on the “Add” import dialog such as the ones referenced in this similar issue with acoustic model resources being added or not added:
Basically, the voice resources were not successfully added to your more complex project in the expected location in the bundle, but they were successfully added to the brand-new project in the expected location in the bundle. In the more complex project they are probably in a subfolder inside the app bundle where NeatSpeech can’t find them because they are expected to be at root level. This difference is a result of the setting mentioned here:
Make absolutely sure that in the add dialog “Create groups for any added folders” is selected and NOT “Create folder references for any added folders”December 2, 2012 at 5:12 pm #14423
I thought it might be that. I’ve tried removing references, deleting the folder on the file system and re-adding. No luck.December 2, 2012 at 5:20 pm #14424
You can definitively verify whether this is the issue by selecting your app product under the Products group in the file navigator, right-clicking on it, and selecting show in finder. When you see the app product in the finder, you can right-click on it and request viewing the package contents. Once you are at the root level of the bundle (where your image files are added, etc), if the files were successfully added they will be visible in the app bundle at root level. If they aren’t in there at all, they weren’t added to the app target. If they are in there but they aren’t in the root level (they are inside of a folder that is at the root level) that means that when they are added, the add dialog box settings are incorrect.
I suppose one last option is that it is possible that you are dragging the folder containing the voice data files into a group that already represents a folder within your app bundle. See if you get better results from dragging the folder in to the file navigator right into the project file icon rather than a subfolder.December 2, 2012 at 5:48 pm #14425
Thanks for the reply Halle. Unfortunately none of those things apply to me. I’m doing the same thing with this project as I did with the simpler one.
-fsDecember 2, 2012 at 5:54 pm #14426
What do you see when you look at the inside of your app bundle?December 2, 2012 at 6:24 pm #14427
The app bundle includes the Voices and VoiceData, similar to the working project.
I tried removing the Voices and I get a different error so I don’t think it’s that the voice data is not being included/deployed in the app.
As an experiment, I just re-created my more complex project from scratch in a new project, new XCode window and am getting the exact same error.
-fsDecember 2, 2012 at 6:25 pm #14428
I should mention the regular SLT voice works no problem in this complex project.December 2, 2012 at 6:41 pm #14429
OK, the app bundle should not have folders in it called Voices or VoiceData. If the app bundle has these folders in it, the radio button selection in the “Add” dialog box at the time of importing the voice files is definitely on the wrong setting and the app will not be able to use NeatSpeech voices — you will get the exact error that you received.
The only thing you should see in the app bundle as a result of adding NeatSpeech are the loose files that can be found within the folder VoiceData (but not the folder itself) at the root level of the app bundle. The folder that says Voices has no purpose inside the app bundle since it just contains frameworks which get compiled directly into the app product binary. You should see groups called Voices and VoiceData in your project file navigator, but never in your app bundle.
Just remove the added folders from your project and add them again with the correct settings in the dialog box, exactly as they are described in the tutorial. This is the important line from the tutorial:
Make sure that in Xcode’s “Add” dialog, “Create groups for any added folders” is selected. Make sure that “Create folder references for any added folders” is not selected or your app will not work.
“Create folder references” is selected in your add dialog currently — Xcode only has a single way of creating subfolders within an app bundle, and that radio button selection is it, so it’s the cause of the issue.
SLT will work fine because it doesn’t rely on any data files that need to be found in the app bundle.
If you want, you’re welcome to email me your project (with the classes and resources stripped out) and I can double-check what the issue is. If you want to do that, just send me a note via the contact form and I’ll send you the email address.December 2, 2012 at 6:54 pm #14430
Apologies Halle I mis-communicated. What I meant was the app bundle includes the content from VoiceData – just as you mentioned, e.g. neatspeech_uk1_dur.pdf and all other files flattened, no folder structure. The *.inf files, *.pdf files, *.win1 files and so on are all in there.
-fsDecember 2, 2012 at 7:00 pm #14431
OK, if the files are in there, there shouldn’t be an error that the files can’t be found, so why don’t you send the unhappy project over with any private stuff stripped out and I’ll investigate.
- You must be logged in to reply to this topic.