Here's some sample output.
Install using pip
pip install audiogrep
brew install ffmpeg --with-libvpx --with-libvorbis
brew tap watsonbox/cmu-sphinx brew install --HEAD watsonbox/cmu-sphinx/cmu-sphinxbase brew install --HEAD watsonbox/cmu-sphinx/cmu-sphinxtrain # optional brew install --HEAD watsonbox/cmu-sphinx/cmu-pocketsphinx
How to use it
First, transcribe the audio (you'll only need to do this once per audio track, but it can take some time)
# transcribes all mp3s in the selected folder audiogrep --input path/to/*.mp3 --transcribe
Then, basic use:
# returns all phrases with the word 'word' in them audiogrep --input path/to/*.mp3 --search 'word'
The previous example will extract phrase chunks containing the search term, but you can also just get individual words:
audiogrep --input path/to/*.mp3 --search 'word' --output-mode word
If you add the '--regex' flag you can use regular expressions. For example:
# creates a supercut of every instance of the words "spectre", "haunting" and "europe" audiogrep --input path/to/*.mp3 --search 'spectre|haunting|europe' --output-mode word
You can also construct 'frankenstein' sentences (mileage may vary):
# stupid joke audiogrep --input path/to/*.mp3 --search 'my voice is my passport' --output-mode franken
Or you can just extract individual words into files.
# extracts each individual word into its own file in a directory called 'extracted_words' audiogrep --input path/to/*.mp3 --extract Exporting to: extracted_words/i.mp3 Exporting to: extracted_words/am.mp3 Exporting to: extracted_words/the.mp3 Exporting to: extracted_words/key.mp3 Exporting to: extracted_words/master.mp3
audiogrep can take a number of options:
--input / -i
mp3 file or pattern for input
--output / -o
Name of the file to generate. By default this is "supercut.mp3"
--search / -s
--output-mode / -m
Splice together phrases, single words, fragments with wildcards, or "frankenstein" sentences. Options are:
- sentence: (this is the default)
--padding / -p
Time in milliseconds to add between audio segments. Default is 0.
--crossfade / -c
Time in milliseconds to crossfade audio segments. Default is 0.
--extract / -x
--demo / -d
Show the results of the search without outputing a file