0.2
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Super powers of Google wrapped in a nice Ruby interface
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0
>= 0
 Project Readme

Speech2Text¶ ↑

Using the power of ffmpeg/flac/Google and ruby here is a simple interface to play with to convert speech to text.

Using a new undocumentd speech API from Google with the help of this article: mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/

We’re able to provide a very simple API in Ruby to decode simple audio to text.

The API from Google is not yet public and so may change. It also seems to be very fragile as more times than not it will return a 500, so the library has retry code built in - for larger audio files 10+ failures may return before a successful result is retrieved…

It also appears that the API only likes smaller audio files so there is a built in chunker that allows us to split the audio up into smaller chunks.

Installation¶ ↑

Add this line to your application’s Gemfile:

gem 'speech2text'

And then execute:

$ bundle

Or install it yourself as:

$ gem install speech2text

You must also install the ffmpeg utility on your local machine. If you are using OS X, the easiest way to do this is to install brew. You may need to instal XQuartz before installing ffmpeg:

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
# You may be prompted to install XQuartz. Get it at https://xquartz.macosforge.org
$ brew install ffmpeg

Example¶ ↑

require 'speech'

audio = Speech::AudioToText.new("i-like-pickles.wav")
puts audio.to_text.inspect
=> {"captured_json"=>[["I like pickles", 0.92731786]], "confidence"=>0.92731786}

Command Line¶ ↑

speech2text i-like-pickles.wav
cat i-like-pickles.json
{"captured_json"=>[["I like pickles", 0.92731786]], "confidence"=>0.92731786}