AVSpeechSynthesizer to AVAudioUnitReverb - avaudioengine

Using the default AVSpeechSynthesizer source code from Apple, is it possible to route the audio through an AVAduioUnit?
The idea is to get text-to-speech running through the AVAudioEngine.

We just introduced a speech synthesizer into AudioKit, which can route the speech through any of our numerous processors, or a custom one of your own. One caveat - its currently only on macOS, not iOS.
https://github.com/AudioKit/AudioKit/tree/master/Examples/macOS/SpeechSynthesizer

Related

How to modify a recorded voice to playback and sound "funny" in iOS?

I am creating one application which requires recording voice and then funny voice will play.
Is there any library to use this work function better?
The SpeakHere sample application provided from the SDK site has a working example of how to use the microphone to record the voice.
Now how to play funny voice.
For that there are no built-in iOS APIs that will do independent time-pitch modification.
There is open source code that implements time-pitch stretching in Audacity, but I don't know whether this code has been ported to iOS. Same with SoundTouch.
There is a Time-Pitch Stretch Tutorial on the DSP Dimensions site.
Some more blogs on it
http://purplelilgirl.tumblr.com/post/9377269385/making-that-talking-app
http://maniacdev.com/2011/08/tutorials-how-to-change-pitch-instantenously-without-changing-tempo-like-the-talking-tom-app/
http://dirac.dspdimension.com/Dirac3_Technology_Home_Page/Dirac3_Technology.html

How to recognize the human voice by code in iphone?

I want to integrate voice detection in my iPhone app. The iPhone app allow the user to search the word by using their voice. But, i don't know a single info about Voice Recognition in iPhone. Can you please suggest me any ideas,tutorials or sample code for this?
You can also use Google Chrome API to integrate voice recognition on your application, but there is a big problem : the API works only with FLAC encoded files, but this encoding isn't supported natively on iOS... :/
You can see those 2 links for more information :
http://www.albertopasca.it/whiletrue/2011/09/objective-c-use-google-speech-iphone/
http://8byte8.com/blog/2012/07/voice-recognition-ios/
EDIT :
I realized an application including voice recognition using Nuance SDK, but it's not free to use. You can register for free and get a developer key that allows you to test your application for 90-days. An application example is included, you can see the code, it's very easy to implement.
Good luck :)
The best approach will probably be to:
Record the voice on the phone
Send the recording to a server that runs the speech recognition software
Then return something to the phone to indicate what it should do
This approach is favorable as there are a number of open source voice to text softwares out there & you are not limited by computing power in the backend.
Having said that, iOS has OpenEars which is based on Pocket Sphinx. It looks promising...
Well voice recognition is not correlated with iphone. All you can do is record the voice in iphone. Once done, you can either code your one voice recognition module, or find a third party API and reuse it.
You can do google search on that.

iPhone: Speech Recognition is in IOS SDK available?

Does anyone knows that if "speech to text" and "text to speech" api's used in Siri are accessible in IOS 5 or IOS 6 SDK?
I researched but couldn't find anything about it in documentation, so if thats not included in SDK are there any "Siri" quality libraries in market?
Siri is not available in API form yet, however, any UITextField or UITextArea can be dictated to using the built-in option for speech-to-text.
Check out Openears at: http://www.politepix.com/openears I've used it experimentally and it worked great. It will recognize preset vocabularies very well. There is a slight pause of 1/2 second or so before it recognizes the word and it gets confused in an environment with a lot of voices (a crowded restaurant), but in a reasonably quiet setting I found it works great.
iOS 10 introduces a new speech recognition API - SFSpeechRecognizer.
https://developer.apple.com/videos/play/wwdc2016/509/
Siri is only available as a beta on iPhone 4S, not sure if the plan is to spread it to all iOS 5 capable devices. Open source libraries for voice recognition are hard to come by. You could look into Nuance (dragon) developer gateway here.
You might also want to check out ispeech's text to speech and speech recognition APIs. They already allow you to include it in your apps without much trouble and actually are a bit better than what Siri has. Siri's big strength is the NLP, not so much the underlying speech tech.
After iOS 10 you can use
Speech.framework
It is very simple to use.Just import Speech into your class
import Speech
let speechRecogizer = SFSpeechRecognizer(locale: Locale.init(identifier: "en-US"))! //locale whatever you want to use
let recognitionRequest = SFSpeechAudioBufferRecognitionRequest()
let recognitionTask:SFSpeechRecognitionTask = speechRecogizer.recognitionTask(with: recognitionRequest, resultHandler: { (result, error) in
print(result?.bestTranscription.formattedString) //here you can get your text
})
You can also check https://github.com/PKrupa94/SpeechManager for it.
Siri is not available to Developers yet.
We've made an SDK for isolated words (or small phrases) recognition, CeedVocal SDK. We use it in our own app Vocalia. It's not free though (but there's free trial), more information at: http://www.creaceed.com/ceedvocal
For speech recognition you can use OpenEars (http://www.politepix.com/openears/) which works offline and provide good accuracy.OpenEars is free to use in an iPhone or iPad app.
Yes OpenEars handles Speech to Text function.

how to synthesize audio in iPhone

I need to synthesize a voice so that it can be used to speak the text that is supplied to it. how can it be done in iPhone. I went through Sphinx voice synthesizer and other voice synthesizers, but they have some predefined voice for converting text to speech. In my app I require the voice provided by me to respond back.
Any suggestions in this regarding where to start with, is very helpful.
Thanks in advance.
I am looking for the same thing. It looks that apple doesn't provide any library for that, despite the fact the iPhone uses for speech during auto-text. The only way I have found till now is using 3rd party http://www.ispeech.org/developers/iphone. I havent tested yet.

Simple embeddable MidiSynth for iOS?

I have a guitar diagram app for Android that I am porting to iOS. Android has a embedded midi synthesizer (sonivox), so I can generate midi files and let Android handle the playback.
Is there a way to do this on iOS? Or are there very lightweight embeddable synths for iOS?
Since iOS 5 there's now the AUSampler audio unit for which you can load a sound bank (apple preset and soundfonts) and then control the sampler/synth via MIDI messages.
Seee this example app:
https://developer.apple.com/library/ios/#samplecode/LoadPresetDemo/Listings/ReadMe_txt.html
It works great!
Update: My answer is out-of-dated. #lukebuehler's answer is much appropriate.
If you don't mind non-opensource solution, try FMOD. Being a commercial audio engine for games, fmod equips a simple MIDI synth. I've tried the free evaluation version. It plays GM MIDI files correctly on my iPhone 3G.
If what you want is not just a SMF file player, you want a full function GS/GM softsynth, which can response individual midi events in realtime. You can try the midisynth from CrimsonTech. Its license fee is fair. Crimsontech provides several demo apps in the appstore. Besides, it also provides an evaluation SDK for free. You don't need to pay a penny for the license until you're really going to publish your app.
I don't think MIDI support in iOS 4.2 allows playback of MIDI data from the phone itself. It is merely for sending and receiving MIDI commands to other MIDI devices.
From the recent iOS 4.2 docs, it seems that you can use the MIDI support to send MIDI commands to other devices for playback. You can also receive commands from other devices and make changes to these commands, or to save it in a file. However I can't find any support to actually play MIDI file from the phone directly. Someone please correct me if I'm wrong (I wish I'm wrong!!).
There is MIDI support in iOS 4.2. If it is the same as what OS X provides then trhere will also be a basic synth included. Check it out.