18 lines
395 B
Ruby
Executable File
18 lines
395 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
require "vosk"
|
|
|
|
SAMPLE_RATE = 16_000
|
|
|
|
Vosk.log_level = -1
|
|
|
|
model = Vosk::Model.new(lang: "en-us")
|
|
rec = Vosk::KaldiRecognizer.new(model, SAMPLE_RATE)
|
|
rec.words = true
|
|
|
|
IO.popen(["ffmpeg", "-loglevel", "quiet", "-i", "audio.mp4",
|
|
"-ar", SAMPLE_RATE.to_s, "-ac", "1", "-f", "s16le", "-",]) do |stream|
|
|
puts rec.srt_result(stream)
|
|
end
|