This app demonstrates how to use the Google Cloud Speech API and Apple on-device Speech library to recognize speech in live recorded audio.

Overview

SpeechRecognitionIOS

This app demonstrates how to use Google Cloud Speech API and Apple on-device Speech library to recognize speech in live audio recording.

Prerequisites

  • An API key for the Cloud Speech API (See the docs to learn more)
    • Create a project (or use an existing one) in the Cloud Console
    • Enable billing and the Speech API
    • Add your iOS bundle identifier to project (e.g com.SpeechRecognition.joshuvi.SpeechRecognitionIOS in my case)
    • Create an API key, and save this for later
  • An OSX machine or emulator
  • Xcode 13 or later - tested with Xcode 13.2
  • Cocoapods version 1.0 or later

QuickStart

Ensure you have pods installed on your machine, to check use pod --version

Do not run this command pod install because pods already exist, see Podfile & Podfile.lock

  • clone this repo git clone https://github.com/Josh-Uvi/SpeechRecognitionIOS.git
  • cd into this directory SpeechRecognitionIOS
  • Open SpeechRecognitionIOS.xcworkspace with Xcode
  • In Speech/SpeechRecognitionService.swift, replace YOUR_API_KEY with the API key obtained above.
  • Build and run the app.
    • Use command cmd + R to build and run on iOS simulator/device
    • Alternatively, press the play button from xcode to start the build process
    • The build process will start up and run on Xcode simulator if you have one configured or on a device if connected
    • Say a few words and wait for the display to update when your speech is recognized.

DONE

  • Apple Speech on-device library
  • Google Speech-to-text API
  • Life audio recording/streaming
  • Offline live audio recording/streaming

TODO

  • Pre-recorded audio file
  • Display live audio recording on an OLED device
  • Embed python script/program in the app, visit Python-Apple-support docs for more info
  • Add some test cases i.e unit or E2E test cases
  • Add self-hosted Speech Recognition server/engine, visit Kaldi Speech Recognition Server docs for more info
  • Add CI/CD pipelines
You might also like...
A Neumorphism UI NetEase Cloud Music With SwiftUI
A Neumorphism UI NetEase Cloud Music With SwiftUI

A Neumorphism UI NetEase Cloud Music With SwiftUI

YiVideoEditor is a library for rotating, cropping, adding layers (watermark) and as well as adding audio (music) to the videos.

YiVideoEditor YiVideoEditor is a library for rotating, cropping, adding layers (watermark) and as well as adding audio (music) to the videos. YiVideoE

Beethoven is an audio processing Swift library
Beethoven is an audio processing Swift library

Beethoven is an audio processing Swift library that provides an easy-to-use interface to solve an age-old problem of pitch detection of musical signals.

Subsonic is a small library that makes it easier to play audio with SwiftUI
Subsonic is a small library that makes it easier to play audio with SwiftUI

Subsonic is a small library that makes it easier to play audio with SwiftUI

AIB indicates for your app users which audio is playing. Just like the Podcasts app.
AIB indicates for your app users which audio is playing. Just like the Podcasts app.

Audio Indicator Bars for iOS and tvOS Indicates for your app users which audio is playing. Just like the Podcasts app. Index Requirements and Details

Voice Memos is an audio recorder App for iPhone and iPad that covers some of the new technologies and APIs introduced in iOS 8 written in Swift.
Voice Memos is an audio recorder App for iPhone and iPad that covers some of the new technologies and APIs introduced in iOS 8 written in Swift.

VoiceMemos Voice Memos is a voice recorder App for iPhone and iPad that covers some of the new technologies and APIs introduced in iOS 8 written in Sw

Recording Indicator Utility lets you turn off the orange microphone recording indicator light for live events and screencasts.
Recording Indicator Utility lets you turn off the orange microphone recording indicator light for live events and screencasts.

Recording Indicator Utility Recording Indicator Utility lets you turn off the orange microphone recording indicator light, making it ideal for profess

App for adding and listening audio files
App for adding and listening audio files

SomeSa SomeSa (самса) – приложение, позволяющее загружать и воспроизводить произвольные аудиофайлы. Протестировано на форматах файлов .wav и .mp3, раз

FDWaveformView is an easy way to display an audio waveform in your app
FDWaveformView is an easy way to display an audio waveform in your app

FDWaveformView is an easy way to display an audio waveform in your app. It is a nice visualization to show a playing audio file or to select a position in a file.

Owner
Josh Uvi
Software Developer
Josh Uvi
Meow-Speech - IOS app - Text to Speech

Meow-Speech IOS app - Text to Speech All licensed code belongs to the respective

Shivam Mishra 2 Jul 30, 2022
Audite - My SwiftUI app that is using Google's text to speech API

Speech My SwiftUI app that is using Google's text to speech API. Goal is to list

null 1 May 23, 2022
The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to.

Important Notice: The Amazing Audio Engine has been retired. See the announcement here The Amazing Audio Engine The Amazing Audio Engine is a sophisti

null 523 Nov 12, 2022
AudiosPlugin is a Godot iOS Audio Plugin that resolves the audio recording issue in iOS for Godot Engine.

This plugin solves the Godot game engine audio recording and playback issue in iOS devices. Please open the Audios Plugin XCode Project and compile the project. You can also use the libaudios_plugin.a binary in your project.

null 3 Dec 22, 2022
A speech recognition framework designed for SwiftUI.

SwiftSpeech Speech Recognition Made Simple Recognize your user's voice elegantly without having to figure out authorization and audio engines. SwiftSp

cayZ 297 Dec 17, 2022
Swift Xcode Project that demonstrates how to set up a microphone input via AudioKit verions 5.

AudioKit Mic Input Swift Xcode Project that demonstrates how to set up a microphone input via AudioKit verions 5. Be sure to plug in headphones in ord

Mark Jeschke 0 Oct 23, 2021
TTSLanguage: Text To Speech commandline executable for macOS

TTSLanguage Text To Speech commandline executable for macOS. It can detect sentence language and read it using proper voice. example: $ TTSLanguage "H

Mateusz Szlosek 2 Jan 17, 2022
Automated Apple Music Lossless Sample Rate Switching for Audio Devices on Macs.

LosslessSwitcher switches your current audio device's sample rate to match the currently playing lossless song on your Apple Music app, automatically.

Vincent Neo 371 Dec 27, 2022
AudioPrism implements the `AnalyserNode` functionality defined in the Web Audio API.

AudioPrism AudioPrism implements the AnalyserNode functionality defined in the Web Audio API. https://webaudio.github.io/web-audio-api/#AnalyserNode U

Yu Ao 2 Dec 20, 2021
A drop-in universal library allows to record audio within the app with a nice User Interface.

IQAudioRecorderController IQAudioRecorderController is a drop-in universal library allows to record and crop audio within the app with a nice User Int

Mohd Iftekhar Qurashi 637 Nov 17, 2022