All Projects → codeforequity-at → Botium Speech Processing

codeforequity-at / Botium Speech Processing

Licence: mit
Botium Speech Processing

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Botium Speech Processing

Awesome Ai Services
An overview of the AI-as-a-service landscape
Stars: ✭ 133 (-85.35%)
Mutual labels:  speech-to-text, text-to-speech
web-speech-cognitive-services
Polyfill Web Speech API with Cognitive Services Bing Speech for both speech-to-text and text-to-speech service.
Stars: ✭ 35 (-96.15%)
Mutual labels:  text-to-speech, speech-to-text
Naomi
The Naomi Project is an open source, technology agnostic platform for developing always-on, voice-controlled applications!
Stars: ✭ 171 (-81.17%)
Mutual labels:  speech-to-text, text-to-speech
Openseq2seq
Toolkit for efficient experimentation with Speech Recognition, Text2Speech and NLP
Stars: ✭ 1,378 (+51.76%)
Mutual labels:  speech-to-text, text-to-speech
Athena
A free and open source replacement for Google Assistant on Android devices, meant to integrate with the Sapphire Framework. It contains both speech-to-text and text-to-speech services. It does not require Google services or network connectivity
Stars: ✭ 73 (-91.96%)
Mutual labels:  text-to-speech, speech-to-text
Speech And Text
Speech to text (PocketSphinx, Iflytex API, Baidu API) and text to speech (pyttsx3) | 语音转文字(PocketSphinx、百度 API、科大讯飞 API)和文字转语音(pyttsx3)
Stars: ✭ 102 (-88.77%)
Mutual labels:  speech-to-text, text-to-speech
react-native-spokestack
Spokestack: give your React Native app a voice interface!
Stars: ✭ 53 (-94.16%)
Mutual labels:  text-to-speech, speech-to-text
Go Astibob
Golang framework to build an AI that can understand and speak back to you, and everything else you want
Stars: ✭ 222 (-75.55%)
Mutual labels:  speech-to-text, text-to-speech
spokestack-ios
Spokestack: give your iOS app a voice interface!
Stars: ✭ 27 (-97.03%)
Mutual labels:  text-to-speech, speech-to-text
open-speech-corpora
💎 A list of accessible speech corpora for ASR, TTS, and other Speech Technologies
Stars: ✭ 841 (-7.38%)
Mutual labels:  text-to-speech, speech-to-text
Watbot
An Android ChatBot powered by IBM Watson Services (Assistant V1, Text-to-Speech, and Speech-to-Text with Speaker Recognition) on IBM Cloud.
Stars: ✭ 64 (-92.95%)
Mutual labels:  speech-to-text, text-to-speech
leon
🧠 Leon is your open-source personal assistant.
Stars: ✭ 8,560 (+842.73%)
Mutual labels:  text-to-speech, speech-to-text
Dragonfire
the open-source virtual assistant for Ubuntu based Linux distributions
Stars: ✭ 1,120 (+23.35%)
Mutual labels:  speech-to-text, text-to-speech
Spokestack Python
Spokestack is a library that allows a user to easily incorporate a voice interface into any Python application.
Stars: ✭ 103 (-88.66%)
Mutual labels:  speech-to-text, text-to-speech
Nemo
NeMo: a toolkit for conversational AI
Stars: ✭ 3,685 (+305.84%)
Mutual labels:  text-to-speech, speech-to-text
AmazonSpeechTranslator
End-to-end Solution for Speech Recognition, Text Translation, and Text-to-Speech for iOS using Amazon Translate and Amazon Polly as AWS Machine Learning managed services.
Stars: ✭ 50 (-94.49%)
Mutual labels:  text-to-speech, speech-to-text
bingspeech-api-client
Microsoft Bing Speech API client in node.js
Stars: ✭ 32 (-96.48%)
Mutual labels:  text-to-speech, speech-to-text
musicologist
Music advice from a conversational interface powered by Algolia
Stars: ✭ 19 (-97.91%)
Mutual labels:  text-to-speech, speech-to-text
Transformertts
🤖💬 Transformer TTS: Implementation of a non-autoregressive Transformer based neural network for text to speech.
Stars: ✭ 617 (-32.05%)
Mutual labels:  text-to-speech
Nonocaptcha
An asynchronized Python library to automate solving ReCAPTCHA v2 using audio
Stars: ✭ 744 (-18.06%)
Mutual labels:  speech-to-text

Botium Speech Processing

license pullrequests awesome

Botium Speech Processing is a unified, developer-friendly API to the best available free and Open-Source Speech-To-Text and Text-To-Speech services.

What is it ?

Botium Speech Processing is a get-shit-done-style Open-Source software stack, the configuration options are rudimentary: it is highly opinionated about the included tools, just get the shit done.

  • With Kaldi a reasonable speech recogniction performance is available with freely available data sources.
  • MaryTTS is currently the best freely available speech synthesis software
  • SoX is the swiss army-knife for audio file processing

While the included tools in most cases cannot compete with the big cloud-based products, for lots of applications the trade-off between price and quality is at least reasonable.

Read about the project history here

Possible Applications

Some examples what you can do with this:

Installation

Software and Hardware Requirements

  • 8GB of RAM (accessible for Docker) and 40GB free HD space
  • Internet connectivity
  • docker
  • docker-compose

Note: memory usage can be reduced if only one language is required - default configuration comes with two languages.

Use Prebuilt Docker Images

Clone or download this repository and start with docker-compose:

> docker-compose up -d

This will download the latest released prebuilt images from Dockerhub. To download the latest developer images from Dockerhub:

> docker-compose --env-file .env.develop up

Point your browser to http://127.0.0.1 to open the Swagger UI and browse/use the API definition.

Optional: Build Docker Images

You can optionally built your own docker images (if you made any changes in this repository, for instance to download the latest version of a model). Clone or download this repository and run docker-compose:

> docker-compose -f docker-compose-dev.yml up -d

This will take some time to build.

Configuration

This repository includes a reasonable default configuration:

  • Use MaryTTS for TTS
  • Use Kaldi for STT
  • Use SoX for audio file conversion
  • Languages included:
    • German
    • English

Configuration changes with environment variables. See comments in this file.

Recommendation: Do not change the .env file but create a .env.local file to overwrite the default settings. This will prevent troubles on future git pull

Securing the API

The environment variable BOTIUM_API_TOKENS contains a list of valid API Tokens accepted by the server (separated by whitespace or comma). The HTTP Header BOTIUM_API_TOKEN is validated on each call to the API.

Caching

For performance improvements, the result of the speech-to-text and text-to-speech calls are cached (by MD5-hash of audio or input text). To enforce reprocessing empty the cache directories:

  • frontent/resources/.cache/stt
  • frontent/resources/.cache/tts

Testing

Point your browser to http://127.0.0.1/ to open Swagger UI to try out the API.

Point your browser to http://127.0.0.1/dictate/ to open a rudimentary dictate.js-interface for testing speech recognition (for Kaldi only)

Attention: in Google Chrome this only works with services published as HTTPS, you will have to take of this yourself. For example, you could publish it via ngrok tunnel.

Point your browser to http://127.0.0.1/tts to open a MaryTTS interface for testing speech synthesis.

Real Time API

Available for Kaldi only

There are Websocket endpoints exposed for real-time audio decoding. Find the API description in the Kaldi GStreamer Server documentation.

The Websocket endpoints are:

  • English: ws://127.0.0.1/stt-en/client/ws/speech
  • German: ws://127.0.0.1/stt-de/client/ws/speech

File System Watcher

Place audio files in these folders to receive the transript in the folder watcher/stt_output:

  • watcher/stt_input_de
  • watcher/stt_input_en

Place text files in these folders to receive the synthesized speech in the folder watcher/tss_output:

  • watcher/tts_input_de
  • watcher/tts_input_en

API Definition

See swagger.json:

Contributing

To be done: contribution guidelines.

We are open to any kind of contributions and are happy to discuss, review and merge pull requests.

Big Thanks

This project is standing on the shoulders of giants.

Changelog

2021-01-26

  • Added several profiles for adding noise or other audio artifacts to your files
  • Added custom channel for usage with Rasa

2020-12-18

  • Adding support for Google Text-To-Speech
  • Adding support for listing and using available TTS voices
  • Added sample docker-compose configurations for PicoTTS and Google

2020-03-05

  • Optional start/end parameters for audio file conversion to trim an audio file by time codes formatted as mm:ss (01:32)

2020-02-22

  • Additional endpoint to calculate the Word Error Rate (Levenshtein Distance) between two texts
  • When giving the hint-parameter with the expected text to the STT-endpoint, the Word Error Rate will be calculated and returned
  • When multiple STT- or TTS-engines are configured, select the one to use with the stt or tts parameter (in combination with the Word Error Rate calculation useful for comparing performance of two engines)

2020-01-31

  • Using pre-trained models from Zamia Speech for speech recognition
  • Using latest Kaldi build
  • Added file system watcher to transcribe and synthesize audio files
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].