Python 3.x 使用python索引音频以获取每个单词的时间戳

Python 3.x 使用python索引音频以获取每个单词的时间戳,python-3.x,audio,indexing,speech-recognition,Python 3.x,Audio,Indexing,Speech Recognition,我有一个音频文件,我想得到每个单词的时间戳。我想知道每一句话都是在什么时候说的 (例如,如果音频文件说“我是一名医生”,我想知道在哪一瞬间说“我”时说“我”等等) 我想用python来实现这一点。 我尝试了以下代码 from SimpleAudioIndexer import SimpleAudioIndexer as sai indexer = sai(mode="ibm", src_dir="D:/Codes/Python/audio recognition", username

我有一个音频文件,我想得到每个单词的时间戳。我想知道每一句话都是在什么时候说的

(例如,如果音频文件说“我是一名医生”,我想知道在哪一瞬间说“我”时说“我”等等)

我想用python来实现这一点。 我尝试了以下代码

from SimpleAudioIndexer import SimpleAudioIndexer as sai
indexer = sai(mode="ibm", src_dir="D:/Codes/Python/audio recognition",      
username_ibm="", password_ibm="")
indexer.index_audio(basename = "target.wav")
indexer.save_indexed_audio("{}/indexed_audio".format(indexer.src_dir))
indexer.load_indexed_audio("{}/indexed_audio.txt".format(indexer.src_dir))
print(indexer.get_timestamps())
然而,我遇到了以下错误

Traceback (most recent call last):
File "D:\Codes\Python\audio recognition\rec.py", line 5, in <module>
indexer.index_audio(basename = "target.wav")
File "C:\Users\Awais\AppData\Roaming\Python\Python37\site- 
packages\SimpleAudioIndexer\__init__.py", line 1108, in index_audio
self._index_audio_ibm(*args, **kwargs)
File "C:\Users\Awais\AppData\Roaming\Python\Python37\site- 
packages\SimpleAudioIndexer\__init__.py", line 928, in _index_audio_ibm
replace_already_indexed=replace_already_indexed)
File "C:\Users\Awais\AppData\Roaming\Python\Python37\site- 
packages\SimpleAudioIndexer\__init__.py", line 730, in _prepare_audio
self._filtering_step(basename)
File "C:\Users\Awais\AppData\Roaming\Python\Python37\site- 
packages\SimpleAudioIndexer\__init__.py", line 638, in _filtering_step
universal_newlines=True).communicate()
File "C:\Program Files (x86)\Microsoft Visual 
Studio\Shared\Python37_64\lib\subprocess.py", line 800, in __init__
restore_signals, start_new_session)
File "C:\Program Files (x86)\Microsoft Visual 
Studio\Shared\Python37_64\lib\subprocess.py", line 1207, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
回溯(最近一次呼叫最后一次):
文件“D:\Codes\Python\audio recognition\rec.py”,第5行,在
indexer.index_audio(basename=“target.wav”)
文件“C:\Users\Awais\AppData\Roaming\Python\Python37\site-
packages\SimpleAudioIndexer\\uuuuu init\uuuuuuuu.py”,第1108行,在index\u音频中
self._index_audio_ibm(*args,**kwargs)
文件“C:\Users\Awais\AppData\Roaming\Python\Python37\site-
packages\SimpleAudioIndexer\\ uuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
replace_ready_index=replace_ready_index)
文件“C:\Users\Awais\AppData\Roaming\Python\Python37\site-
packages\SimpleAudioIndexer\\uuuuu init\uuuuuuu.py“,第730行,在“准备”音频中
自我筛选步骤(基本名称)
文件“C:\Users\Awais\AppData\Roaming\Python\Python37\site-
packages\SimpleAudioIndexer\\uuuu init\uuuuu.py“,第638行,在过滤步骤中
universal_newlines=True)。通信()
文件“C:\Program Files(x86)\Microsoft Visual
Studio\Shared\Python37\u 64\lib\subprocess.py”,第800行,在__
恢复信号,启动新会话)
文件“C:\Program Files(x86)\Microsoft Visual
Studio\Shared\Python37\u 64\lib\subprocess.py”,第1207行,在执行子进程中
startupinfo)
FileNotFoundError:[WinError 2]系统找不到指定的文件

从您的代码/错误中我可以看出,您运行的是Windows,但在src_dir字符串中使用了正斜杠“/”。这不起作用,因为Windows在浏览文件夹时使用反斜杠“\”。例如: C:\Windows

许多基于Unix的系统使用正斜杠,如下所示: /家乡/阿瓦伊斯

在您的代码中,您应该尝试将“/”改为“\”,看看这是否有区别

如果您打算在Windows和Unix系统上同时使用此程序,则应使用python3的“pathlib”来确保目录路径在任一操作系统上工作。以下是一个链接,您可以使用该链接了解有关在python3中处理路径的更多信息:


我尝试了单反斜杠“\”、双反斜杠“\”和正斜杠,但似乎都不起作用。每次我都会犯同样的错误。做这个任务有没有其他选择。另外两个想法可能会有所帮助:1。您的src\u目录路径中有一个空格,请查看是否可以(保存您的工作)并将正在查找的目录重命名为“audio\u recognition”。第二个想法是在src\u目录的末尾添加一个尾随“\”,因为模块可能试图加载“D:\code\Python\audio recognitiontarget.wav”,而不是“D:\Codes\Python\audio recognition\target.wav”您还可以从pathlib导入路径添加
,然后使用
my_file=Path(“/Path/to/file/target.wav”),如果my_file.is_file():
,然后再添加代码,因为如果它达到这个程度,系统就能够找到您的文件。