Can we use Sirikit for voice recognition - ios

I have implemented voice recognition in my application for voice to text conversion using Nuance Dragon SDK. I have also tried Open Ears but couldn't get it to work properly. Once conversion is completed I use that text as command to trigger action in my application.
I am wondering if using Sirikit we can do it within application. I was not able to understand it while checking the WWDC16 Sirikit Introduction. May be my interpretation of the intent is not clear but as for as I understood, there's no custom intent to trigger some action inside the application.
Plus is sirikit available for objective C as well or just Swift?

SiriKit is for integrating with Siri outside of the context of your application. However, Apple did releases a Speech Recognition API for iOS 10 as well that sounds more like what you want. You can learn more about it here: https://developer.apple.com/videos/play/wwdc2016/509/
All Apple Frameworks are usable by Objective-C and Swift.

Related

Siri full sentence order, like sending message via whatsApp

I have been searching for days about Siri integration with an IOS app.
I know about the Siri shortcuts/intents etc.
How do I have Siri take a full sentence such as "Text John I'm on my way" or "Text John via WhatsApp I'm on my way"
Is this something exclusive to Apple apps, is it limited to messaging only or are there other ways to integrate with Siri?
I'm not looking to integrate messaging app, but i'm looking to integrate the full sentence with parameters order/question.
Apple provides SiriKit which gives your application the ability to requests that originate from Siri.
You can look at the Human Interface Guidelines to learn more about designing an interface to interact with Siri.
Do some searcing on SiriKit examples. There are quite a few sources that show how do to an integration with your app.
If you are looking for information about speech recognition within your app, then you may want to look at the Apple Speech Framework
This framework gives you lower level voice recognition and parsing capabilities and may have the flexibility you need.
Hope this helps!
Messaging is not specific to Apple apps.
You can make your application to behave similar to Message app. You need to implement the app extension specific to message intent and add resolve param methods to the handler to handle user input.
Reference for Messaging with SiriKit
https://developer.apple.com/documentation/sirikit/messaging?changes=latest_minor
https://developer.apple.com/documentation/sirikit/insendmessageintent
Sample source - https://www.techotopia.com/index.php/An_iOS_10_Example_SiriKit_Messaging_Extension
https://medium.com/ios-os-x-development/extending-your-ios-app-with-sirikit-fd1a7ef12ba6

Vidyo.io Integration in Swift4

I'm new in IOS. I'm working on a Video Call project in swift. i'm using vidyo.io SDK for video Call and message chat. But I have some questions
If my app is in kill state or my phone is locked. how can I receive call Notification.
Some SDK's have VoIP support for Call notification in locked State. vidyo.io have support for VoIP? If yes how can I implement.
vidyo.io Documentation have some methods for use camera, microphone, Customize UI etc can we implement all these methods in swift?
if any one have good tutorials or helping materials please share.
You can find a Vidyo.io sample app built with Swift here: https://github.com/Vidyo/customview-swift-ios
Vidyo.io is a CPaaS focused on video chat. You can use the service for voice only, but you probably have better options if that is what you want to achieve.

Voice Command without Pressing a Button on iOS

Currently, I am working on developing the iOS App that triggers an event upon voice command.
I saw a camera app, where a user says "start recording," then the camera starts to the recording mode.
This is an in-app voice control capability, so I am thinking it is different from SiriKit or SpeechRecognizer, which I have already implemented.
How would I achieve it?
My question is NOT the voice dictation where a user has to press a button to start dictation.
App needs to passively wait for a keyword, or intent, which is something like "myApp, start recording" or "myApp, stop recording", then the app starts/stop that event function accordingly.
Thanks.
OpenEars : Free speech recognition and speech synthesis for the iPhone.
OpenEars makes it simple for you to add offline speech recognition in many languages and synthesized speech/TTS to your iPhone app quickly and easily. It lets everyone get the great results of using advanced speech app interface concepts.
Check out this link.
http://www.politepix.com/openears/
or
Building an iOS App like Siri
https://www.raywenderlich.com/60870/building-ios-app-like-siri
Thank you.
How would I achieve it?
There's an iOS 13 new feature called Voice Control that will allow you to reach your goal.
You can find useful information in the Customize Commands section where all the vocal commands are available (you can create a custom one as well):
For the example of the camera you mentioned, everything can be done vocally as follows:
I showed the items names to understand the vocal commands I used but they can be hidden if you prefer (hide names).
Voice Control is a built-in feature you can use inside your apps as well.
The only thing to do as a developer is eventually adapting the accessibilityUserInputLabels properties if you need specific names to be displayed for some items in your apps.
If you're looking for a voice command without pressing a button on iOS, the Voice Control is THE perfect candidate.

Can we use sirikit for record audio?

I want to implement audio recording functionality in one of my application. is it possible using sirikit ? I don't find any tutorial for recording through sirikit right now.
Is someone can provide good tutorial on sirikit?
Right know you cannot do this in way: "Hey Siri, start voice recording" or similar way.
SiriKit Programming Guide says:
SiriKit support is divided into domains, each of which defines one or
more tasks that can be performed. In order to support SiriKit, apps
must support one of the following domains:
VoIP calling
Messaging Payments
Photo
Workouts
Ride booking
CarPlay (automotive vendors only)
Restaurant reservations (requires additional support from Apple)
NOTE that you cannot create a Siri extension for a macOS projects right know (for the time of writing this answer), despite that INIntent supports macOS.
Is someone can provide good tutorial on sirikit?
IMHO, the best tutorial on SiriKit right know is an official documentation and projects:
SiriKit
SiriKit Programming Guide
Intents Framework
IntentsUI Framework
IntentHandling: Using the Intents framework to handle custom Siri request
UnicornChat: Extending Your Apps with SiriKit
You can't record audio using sirkit. However, you can add a button in your application by pressing which you can start recording the audio, there is limit of max 1 minute per instance

Siri to speak push notification in Objective-C

Can we use Siri to read push notifications in iOS 10 using Objective-C?
Probably not. I'd recommend diving more into the documentation to find out how it works. SiriKit supports a limited set of functions that it categorises into "domains". The idea is that Siri is prepared to do all the work (for multiple languages) but they have to design how we interface with it, so there's only a few things it does at the moment.
More here.

Resources