module PWN::Plugins::Voice

def self.authors

def self.authors
st.pentest@0dayinc.com>

def self.help

def self.help
ional - path to sox application (defaults to /usr/bin/sox)',
al - integer to alter voice input (defaults to -300)'
f}.speech_to_text(
h: 'required - path to audio file',
'optional - path to OpenAI whisper application (defaults to /usr/local/bin/whisper)',
al - transcribe model to use (defaults to tiny)',
ptional - directory to output results (defaults to .)'
speech(
quired - path to text file to speak',
 'optional - path to festival (defaults to /usr/bin/festival)',
al - voice to use (defaults to cmu_us_slt_arctic_hts)',

def self.mutate(opts = {})

def self.mutate(opts = {})
ox_path]
/bin/sox'
h].to_i
tch.zero?
nd: #{sox_path}" unless File.exist?(sox_path)
 to Exit....'
e',
e',
ess',
 => e

def self.speech_to_text(opts = {})

def self.speech_to_text(opts = {})
opts[:audio_file_path]
s[:whisper_path]
/usr/local/bin/whisper'
l]
:output_dir]

ext Engine Not Found: #{whisper_path}" unless File.exist?(whisper_path)

 => e

def self.text_to_speech(opts = {})

def self.text_to_speech(opts = {})
text_path]
ts[:festival_path]
'/usr/bin/festival'
e]
slt_arctic_hts'
t Found: #{festival_path}" unless File.exist?(festival_path)
ot Found: #{text_path}" unless File.exist?(text_path)
.read(text_path).delete('"')
)",
xt_to_say}\")"
 => e