Releases: wit-ai/wit-ios
Language and WitMicButton fixes
Converse API, Tests, Clean Up
Features
- Converse API: Support for the new converse API.
- ULaw Compression Support: On LTE and WiFi, the SDK continues to use uncompressed PCM, but on 3G and below the SDK now uses ULaw compression, which majorly increases speed (x2-3) on slow connections (sound quality loss appears not to affect recognition quality in my tests)
- WitMicButton Color: WitMicButton now respects tintColor property, so you can color it to match the app (used to be #48)
- Uploads Fixed: The old uploader did not enqueue chunks after the stop button was pressed, this fixes this issue
- Recorder Buffer Enqueue Fixed: This solves issue #54
- Fixed Tests: The old tests were completely broken, this now has one working test using XCTest, its not much but can get people started for more tests now. Solves #10, #13
- VadTracker: The VadTracker was broken (sent errors if the user manually stopped recording) so calls to it have been removed. Solves issue #59
- Delegate Callback Order: The record stopping and did grasp intent callbacks were being called in a different order depending on if there was an error or not, this has been fixed.
- Pull Request #68: Includes and improves this pull request (retain cycles, install warnings). This fork now really does cleanly work and install without warnings for new people downloading it.
- Quieter: Less NSLog, more debug.
Caveats
There are a few changes I made that might not make everyone happy:
- iOS 7.0 and above: Previous was 6.0, but the CoreTelephony stuff for connection speed detection is only available in iOS 7. iOS 7,8,9 has a very high adoption rate anyway.
- Pod dependency on GCNetworkReachability: Needed for connection speed detection.
- Context Setter no longer sets user location: I don't know why the SDK did this as it's a privacy issue - if the developer wants to share the location of the user with wit then this should be optional and not "default on" in my opinion. I have had no issues with running the SDK without setting this context.
Fewer permission requests and fixes to mic button
This release makes it so Wit won't ask for location permissions until its needed instead of at startup.
It also fixes two bus with the mic button: one where it wouldn't update while scrolling and another where it could try to start recording without permission.
Big thanks to jeroenvollenbrock and Enceradeira for finding and patching these issues.
Better AVAudioSession management
The framework doesn't touch the AVAudioSession singleton anymore: this is your responsibility. As a result you can play background audio etc. Wit won't mess up with that.
3.1.1
Decreased the length of the audio buffers from 0.5 seconds to 0.05 seconds to greatly increase responsiveness of VAD.
Fixed a power of two error when computing the frame size in the VAD. Thanks to donpark for spotting this.
Added constants kWitAudioSampleRate and kWitAudioBitDepth to Wit.h.
Upgraded Voice Activity Detection
Rewrote the VAD algorithm and exposed two new variables to the user:
-Wit.vadTimeout
allows the user to set the maximum length of messages detected by the VAD
-Wit.vadSensitivity
allows the user to adjust the sensitivity of the VAD
Full documentation can be found at https://wit.ai/docs/ios/3.1.0/api
Support for Location and reference time context + Using the latest Wit API version (20141022)
Auto population for the Wit context:
reference_time
and location
to help the Wit API better resolve some entities like datetime
and location
.
Using the latest version of the Wit API:
- See these two blog posts if you want to know more about the major changes in this version of the API
https://wit.ai/blog/2014/06/27/ambiguity-in-natural-language
https://wit.ai/blog/2014/10/22/new-api-version
- Look at our documentation for the breaking changes in [Wit.delegate witDidGraspIntent]:
https://wit.ai/docs/ios/3.0.0/api
-Adding the possibility to configure the AVAudioSessionOption using `[Wit sharedInstance].avAudioSessionCategoryOption
Full voice activity detection, new API, full documentation, and feature requests
- Full voice activity detection
- New / cleaner API
- Full API reference documentation
- Add support for the following feature requests:
- Get back the confidence
- Get back the message id
- Being able to link a request and a response
Wit IOS SDK 1.3.6
Fix #26 and another non-reported crash related to the NSOutputStream internal bug.
Voice Activity Detection improvement
The voice activity detection algorithm is now more robust to background noise.