Our Flying Friends

Halle's latest posts

OpenEars and all plugins now updated to version 1.64 with 64-bit compatibility

12 December

It’s my pleasure to introduce OpenEars, RapidEars, NeatSpeech, Rejecto and SaveThatWave version 1.64. With this version, OpenEars and all of its plugins are 64-bit compatible. I would have loved to have released this sooner, but it was a big port and everything had to be released together, and a couple of the frameworks were a little…resistant to 64-bit code (I’m looking at you, NeatSpeech), so it took some time. Thanks for your patience.

[politepix-blog-inline-text-ad]

Release notes for 1.64:

* There is now a 64-bit slice for OpenEars and all of its plugins, so you can use them in native 64-bit development.
* Since 64-bit building is only supported back to 5.1.1, that is now the minimum iOS version compatible with OpenEars, so you must stick with your current versions of OpenEars and its plugins if you need to support older OSes than 5.1.1. If you aren’t sure whether you want to stop supporting iOS 4.x, make and keep a backup of your current frameworks before experimenting since the up-to-date version is the only one which will be available on the site. It wasn’t my first choice to drop 4.x support right now, but continuing to provide it for the 1% of devices running it while providing 64-bit compatibility would have required a new build system to be created. The reality that so much 4.x era audio code is deprecated that 4.x support was going to have to be retired before iOS8 regardless means that such a new build system would have only been in use for a matter of months between being completed and becoming superfluous, and in the meantime it would have delayed the release of 64-bit OpenEars.
* On 64-bit devices, recognition will be more accurate in PocketsphinxController and with RapidEars, and NeatSpeech voices will be a bit smoother.
* Some small bugs have been fixed in PocketsphinxController and RapidEars for rare recognitions of very long phrases that could result in indefinite hanging or even crashes but will now resolve with a returned hypothesis even if the recognition is of an extremely long utterance.
* Returned scores in RapidEars have been fixed so they are now a probability again rather than a very large int.
* The timeout for all plugins has been standardized to 3 minutes since the variation in timeouts was inconvenient for developers trying out multiple plugins in a single install.
* A couple of situations in which RapidEars could exit due to very rare exceptions will now log the exceptions to stdout for your troubleshooting but should continue operating to the extent possible after the exception.
* Some stability refinements for rare issues in language model generation have been added.
* The all_load linker flag is no longer supported. The new slice requirements prevent all_load from working with OpenEars.
* You may notice that the libraries are bigger — that’s because there are more architectures included (the 64-bit slice and two forms of simulator compatibility). You only need to link as many of them as your app actually needs and the compiler will link to just the modules your app uses — the size of the library does not correlate to the size of your eventual app, so don’t worry about the library size. Your app will be bigger if you are supporting armv7, armv7s and arm64 devices because you will be linking to more slices, but even in that case it won’t be as much bigger as the frameworks are. The usual steps for slimming down an OpenEars app will help here.
* You may notice on 64-bit devices that more memory is used. This is because 64-bit architectures use more memory. That’s their shtick, basically.

This is a big release, so please feel free to let me know about any issues you encounter in the forums: https://www.politepix.com/forums