A Comparison of the BEST Speech-To-Text AI Services
A Comparison of the BEST Speech-To-Text AI Services

A Comparison of the BEST Speech-To-Text AI Services

Date
Jan 1, 2023
Tags
Recommendation
small-scale
Python

[SaaS] Speech-to-text using AI

There are a number of speech-to-text software options available on the market, each with its own unique features and pricing.
Here are the popular ones:

Google Speech-to-Text:

This is a cloud-based speech-to-text service provided by Google. It supports a wide variety of languages and is generally considered to be highly accurate. Pricing is based on the amount of audio processed and starts at $0.006 per 15 seconds of audio.

Amazon Transcribe:

This is a cloud-based speech-to-text service provided by Amazon Web Services. It supports a variety of languages and has built-in support for transcribing speech with different accents and dialects. Prices starts at $0.0004 per second of audio.

IBM Watson Speech-to-Text:

This is a cloud-based speech-to-text service provided by IBM. It supports a wide range of languages and has a number of advanced features, such as support for speaker diarization and custom language models. Prices starts at $0.02 per minute of audio.

Microsoft Azure Speech Services:

This is a set of cloud-based speech-to-text and speech synthesis services provided by Microsoft. It supports a wide range of languages and has advanced features like speaker identification. Prices starts at $0.01 per minute for transcribing audio.
 

[Open-source: Free] Speech-to-text using AI

Kaldi

Kaldi is an open-source toolkit for speech recognition that is widely used in academia and industry. It's written in C++ and provides a flexible architecture for building different types of speech recognition systems. Kaldi is highly modular and can be used to build a wide variety of different speech recognition models, including those based on GMM-HMM, DNN, and RNN architectures. It also has support for different languages and can be used to build models for languages other than English.

CMU Sphinx

The Carnegie Mellon University's Sphinx group has developed a number of open-source speech recognition tools, including CMU Sphinx. The toolkit is written in C and Java and provides a wide range of functionality, including support for different languages, different acoustic models, and different types of input (such as microphone, telephone, and file input).

Whisper

Open-source text-to-speech (TTS) model developed by OpenAI. It's designed to generate more natural-sounding speech than other TTS models by using a combination of traditional and deep learning-based techniques.
Whisper is available as a pre-trained model on the OpenAI GPT-3 model hub, so you can use it to generate speech from text without having to train it yourself.
 
Note: To use these open-source software, a basic understanding of how to use command line tools, and how to install software from source is necessary.
 

Test: Comparing Google TTS to Whipser TTS

 
Code for using Google Cloud TTS (Python)
from google.cloud import speech_v1 as speech import os os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="./GCP_Cloud_Service.json" # export GOOGLE_APPLICATION_CREDENTIALS = ~/GCP_Cloud_Service.json def speech_to_text(config, audio): client = speech.SpeechClient() response = client.long_running_recognize(config=config, audio=audio) r = response.result() print(r) # print_sentences(response) def print_sentences(response): print(response.result) # for r in response.result: # best_alternative = r.alternatives[0] # transcript = best_alternative.transcript # confidence = best_alternative.confidence # print("-" * 80) # print(f"Transcript: {transcript}") # print(f"Confidence: {confidence:.0%}") config = dict(language_code="ko-KR") # File uploaded to GCS (google cloud storage) uri = f'gs://sansverse/audio_kor_static.wav' audio = speech.types.RecognitionAudio(uri=uri) speech_to_text(config, audio)
 
Code for using Whisper in Python:
import whisper input_file = "audio_kor_static.wav" model = whisper.load_model("base") result = model.transcribe(input_file, fp16=False) print(result['text'])
 

Original text:

대학입시에 실패한 것을 새내기 1년 동안 스스로의 핸디캡으로 가지고 있었던 것입니다. 수능시험 당일 컨디션 저조로 평소보다 30점이 낮은 성적을 받아 원하던 대학에 가지 못했습니다. 하지만 원하던 전공을 포기할 수는 없었고 학교를 조정해 지금의 학교에 진학했습니다. 부모님께 죄송한 마음과 무엇보다 스스로에 대한 실망감으로 1학년 동안 전공 수업은 열심히 들으면서도 학교에 마음을 못 붙이고 있었습니다. 그러던 중 편입을 고민하며 찾아갔던 학교상담실에서 다양한 재학생 지원프로그램을 알게 되었고, 제가 조금만 노력한다면 훨씬 많은 기회를 얻을 수 있다는 것을 알게 되었습니다.
 

Output by Whisper:

“대학 입시의 실패한 것을 3, 4기 1년도만 쓸수록에 핸드 개도를 가지고 있었던 것입니다. 순후시원 당위 condition 저주로 평소보다 30점이나 낮은 성적을 받아 원하던 대학에 가지 못했습니다. 하지만 원하던 정독을 보기할 수 없는, 보기할 수는 없었고 학교를 조정해 지금의 학교에 진하겠습니다. 부모님께 최소한 마음과 무엇보다 수수로에 대한 실망감으로 1학년 동안 정공 수업은 열심히 들으면서 또 학교의 마음을 못 붙이고 있었습니다. 그러던 중 변입을 고민하여 찾아갔던 학교 성담 시회에서 다양한 재학생 지원 프로그램을 알게 되었고 제가 조금만 노력한다면 해외신 많은 기회를 얻을 수 있다는 것을 알게 되었습니다.”
 

Output by Google Speech-to-text:

"대학 입시에 실패 한 것을 새내기 2년 동안 스스로의 핸디캡으로 가지고 있었던 것입니다 수능시험 방귀 컨디션 저절로 문서보다 30점이 나 낮은 성적을 받아 원하던 대학에 가지 못했습니다 하지만 원하던 송금을 포기할 수 없는 포기할수는 없었고 학교를 조정해 지금의 학교에 진학했습니다 부모님께 죄송한 마음과 무엇보다 스스로에 대한 실망감으로 1학년 동안 전공수업을 열심히 들으면서 또 학교에 마음을 못 붙이고 있었습니다 그러던 중 편입을 고민하여 찾아갔던 학교 상담실에서 다양한 재학생 지워 함을 알게 되었고 제가 조금만 노력한다면 훨씬 많은 기회를 얻을 수 있다는 것을 알게 되었습니다”
results { alternatives { transcript: "대학 입시에 실패 한 것을 새내기 2년 동안 스스로의 핸디캡으로 가지고 있었던 것입니다 수능시험 방귀 컨디션 저절로 문서보다 30점이 나 낮은 성적을 받아 원하던 대학에 가지 못했습니다 하지만 원하던 송금을 포기할 수 없는 포기할수는 없었고 학교를 조정해 지금의 학교에 진학했습니다 부모님께 죄송한 마음과 무엇보다 스스로에 대한 실망감으로 1학년 동안 전공수업을 열심히 들으면서 또 학교에 마음을 못 붙이고 있었습니다 그러던 중 편입을 고민하여 찾아갔던 학교 상담실에서 다양한 재학생 지워" confidence: 0.906632423 } result_end_time { seconds: 59 nanos: 970000000 } language_code: "ko-kr" } results { alternatives { transcript: "함을 알게 되었고 제가 조금만 노력한다면 훨씬 많은 기회를 얻을 수 있다는 것을 알게 되었습니다" confidence: 0.886403143 } result_end_time { seconds: 72 nanos: 310000000 } language_code: "ko-kr" } total_billed_time { seconds: 73 }
 

References: