Я хочу предвосхитить это тем фактом, что я все еще новичок в Парамико, так что все это может быть совершенно невозможно.
Я хочу открыть файл .wav
на сервере с моего компьютера, чтобы выполнить некоторое распознавание речи на нем.Для этого я создаю транспорт с Paramiko и использую его для открытия аудиофайла на сервере.Затем я устанавливаю этот файл в качестве источника и использую SpeechRecognition для печати всего, что говорится в аудиофайле.Однако когда я открываю файл, расположенный в remotefilepath
, он больше не распознается как аудиофайл, так как я получаю сообщение об ошибке AssertionError: Source must be an audio source
.Печать type(file)
Я получаю <class 'paramiko.sftp_file.SFTPFile'>
.
Я хочу просто открыть файл на сервере и выполнить распознавание речи на нем без необходимости сначала сохранять файл на моем собственном компьютере.Есть ли способ для меня сделать это?Любая помощь / совет очень ценится
import paramiko
import speech_recognition as sr
remotefilepath = /path/to/file.wav
server_ip = 12.34.567.8
server_port = 22
transport = paramiko.Transport((server_ip, server_port))
transport.connect(username="foo", password="bar")
print "Connected to transport"
sftp = transport.open_sftp_client()
file = sftp.open(remotefilepath)
#print type(file)
r = sr.Recognizer()
with file as source:
r.adjust_for_ambient_noise(source)
audio = r.record(source)
try:
text = r.recognize_google(audio)
print "You said: {}".format(text)
except:
print "Sorry, I could not understand."
file.close()
sftp.close()
transport.close()
print "Closed transport. Ending program"
Python 2.7 на Windows 10.