How to cancel Noise in voice call swift - ios

I am doing a calling app using agora in swift. I have implemented voice calls, but I need to cancel the external noise during calls. Can I achieve that? Is that possible? If it is how can I do that?

Noice cancellation will be hardware dependent, but as you are using agora you can check the below link to set the appropriate audio profile and test the audio quality.
Refer this link: https://docs.agora.io/en/Voice/audio_profile_apple?platform=iOS

Related

agora + Photon Voice = bad experience

Agora Video 2.92 Broadcast is being used inside of Unity with Photon Voice on iOS.
We are simply using Agora to broadcast a screen-share from a web app, we do not want any audio from from Agora as it is managed externally.
Upon entering/exiting the app, we now seem to either lose our microphone, or we lose speaker (or both) and can no longer hear other players in photon voice.
Is it possible for Agora to not adjust our audio settings? What should we be setting the default parameters to?
have you tried calling disableAudio? It should cut off your audio and allow you to set your audio to Photon. Here is a link to the documentation about it. https://docs.agora.io/en/Voice/API%20Reference/oc/Classes/AgoraRtcEngineKit.html#//api/name/disableAudio
Note- did you know that using agora for voice is easy to integrate in your project instead of photon voice? You can also have audio effects like voice changing and spatial audio. Also, Agora isn't geofenced like photon, allowing you a truly global low latency solution.

How to Toggle video recording in Twilio

I am trying to add a Toggle recording feature into my web application,
Using Twilio Client version 2.0 and Generating token via Java Server side code.
Toggle(just to be clear)-> Being able to pause/start recording when a call is already underway.
Question : How to implement toggle recording feature in Twilio, If that's possible?
As of now, Pause/Start video recording on a video call is not possible.
Response from Twilio support:
Thanks for reaching out to us! At this time, pausing and resuming a recording isn't possible. This is a feature we're looking to add in the future, but I don't have a specific date to share on when that will be available. I'll add your ticket to the feature request so that we can accurately set a priority for implementing it. Please let me know if you have any questions!

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.

Using video calling with CallKit and Sinch

In sinch for IOS, the SinchCallKit example project can be used to create an audio call between two clients using callkit.
I have been trying to implement video calling in this project by changing it based on the docs
But I could use some pointers from a sinch veteran on wether I should:
modify the callkit example to include video calling,
modify the video calling example to include callkit.
And if it is even possible to combine callkit with video calling in sinch?
No, you must open your own video call screen for calling. callkit not sink with sinch video call.
WhatsApp also open own app screen for call.

Managing text-to-speech and speech recognition at same time in iOS

I'd like my iOS app to use text-to-speech to read to the user some information that it receives from a server, and I'd also like to allow the user to stop such speech by a voice command. I have tried speech recognition frameworks for iOS like OpenEars and I find the problem that it is listening and detecting the information the app itself is "saying" and it intereferes in the recognition of user's voice commands.
Has somebody dealt with this scenario in iOS and found a solution for that? Thanks in advance
It is not a trivial thing to implement. Unfortunately iOS and others record the sound which is playing through speaker. The only choice you have is to use the headset. In that case speech recognition can continue listening for input. In Openears recognition is disabled during TTS unless headset is plugged in.
If you still want to implement this feature which is called "barge-in" you have to do the following:
Store the audio you play though microphone
Implement noise cancellation algorithm which effectively will remove the audio from the recording. You can use cross-correlation to find a proper offset in the recording and spectral subtraction to remove the audio.
Recognize the speech in remaining signal.
It is not possible to do that without significant modification of openears sources.
Related question is Android Speech Recognition while music is playing

Resources