My Speech-to-Text App

Overview

This Android application, developed in Kotlin using Jetpack Compose, is designed to convert speech into text. It features functionality to switch between Canadian French and Canadian English languages for speech recognition.

Purpose

My kids have issues with writing and phonetics, and this app is made to allow children to speak to the app comfortably, and read/copy the transcribed speech. I am hoping to get some feedback and improve this app over time.

Features

  • Speech recognition supporting Canadian French and English.
  • UI built using Jetpack Compose.
  • Text field for displaying recognized text.
  • Undo and Redo functionalities for text edits.
  • Custom buttons for various actions including microphone access, backspace, undo, and redo.
  • Dropdown menu for language selection.

How to Use

  • Tap the microphone button and speak in either Canadian French or English.
  • The recognized text will appear in the text field.
  • Use the Undo and Redo buttons to manage text changes.
  • Use the backspace button to delete text.
  • Select the language of your choice from the dropdown menu for speech recognition.

Requirements

  • Android Studio Arctic Fox | 2020.3.1 or newer
  • Kotlin version 1.5 or higher
  • Min SDK Version: 21

Setup

To run the project:

  1. Clone the repository to your local machine.
  2. Open the project in Android Studio.
  3. Sync the project with Gradle.
  4. Run the application on an emulator or physical device.

Libraries Used

  • Jetpack Compose for UI
  • Android Speech Recognition API

ScreenShots

Main Screen

image

Language Drop-Down

image

English Test

image

French Test

image

Combined Result

image

Author

Frederic Devost

License

MIT License

Copyright (c) 2023 Frederic Devost

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.