这是一个 Python 库和命令行工具,可帮助您在音频文件(wav 格式)中搜索单词或短语。它还建立在初始搜索能力的基础上,并提供了一些[所谓的]高级搜索能力!
要阅读文档,请访问此处。
打开终端并输入:
pip 安装 SimpleAudioIndexer
安装详细信息可以在此处的文档中找到。
如果您无法进行本机安装或使用 Windows 系统,则存储库中包含一个 dockerfile。
打开终端并输入:
pip 卸载 SimpleAudioIndexer
然而,卸载 sox 取决于您使用的是 Linux 还是 Mac 系统。欲了解更多信息,请访问此处。
假设你有这个音频文件:
为了简单起见,将其下载到空目录。我们将该目录称为 SRC_DIR,并将该音频文件的名称称为small_audio.wav。
您可以通过以下方式进行搜索。
打开终端并输入。
$ sai --mode "ibm" --username_ibm 用户名 --password_ibm 密码 --src_dir SRC_DIR --搜索“被叫” {'叫': {'small_audio.wav': [(1.25, 1.71)]}}
将 USERNAME 和 PASSWORD 替换为您的 IBM Watson 凭证,并将 SRC_DIR 替换为您刚刚准备的目录的绝对路径。
与上面一样,输出将是一个字典,其中包含查询、查询出现的文件以及该查询的所有内容(从第二个开始,到第二个结束)。
请注意,所有命令对于其他引擎(即 Pocketsphinx)统一工作,例如上面的命令可以输入为:
$ sai --mode "cmu" --src_dir SRC_DIR --search "lives" {'lives': {'small_audio.wav': [(3.12, 3.88)]}}
它将使用 Pocketsphinx 而不是 Watson 来获取时间戳。请注意,Pocketsphinx 的质量/准确性远低于 Watson。
您还可以匹配正则表达式模式,而不是搜索单词,例如:
$ sai --mode ibm --src_dir SRC_DIR --username_ibm 用户名 --password_ibm 密码 --regexp " [az][az] " {u' in ': {'small_audio.wav': [(2.81, 2.93)]}, {u' 到 ': {'small_audio.wav': [(1.71, 1.81)]}}
这是搜索两个字母单词的结果。请注意,您的结果将匹配任何任意正则表达式。
您还可以从命令行脚本保存和加载索引数据。欲了解更多信息,请访问此处。
假设你有这个文件
>> > from SimpleAudioIndexer import SimpleAudioIndexer as sai
之后,您应该创建 sai 的实例
>> > indexer = sai ( mode = "ibm" , src_dir = "SRC_DIR" , username_ibm = "USERNAME" , password_ibm = "PASSWORD" )
现在您可以通过调用index_audio方法来索引所有可用的音频文件:
>> > indexer . index_audio ()
你可以有一个搜索生成器:
>> > searcher = indexer . search_gen ( query = "called" )
>> > print ( next ( searcher ))
{ 'Query' : 'called' , 'File Name' : 'small_audio.wav' , 'Result' : ( 1.25 , 1.71 )}
现在,为 search_gen 实现了更多参数。假设您希望搜索区分大小写(默认情况下不区分大小写)。或者,假设您想查找一个短语,但存在时间间隙,并且索引器没有正确拾取它,您可以指定timing_error。或者,假设某个单词完全丢失,那么您可以指定missing_word_tolerance 等。
有关完整列表,请参阅此处的 API 参考
请注意,您还可以调用 search_all 方法来搜索所有音频文件中的查询列表:
最后,您可以进行正则表达式搜索!
>> > print ( indexer . search_regexp ( pattern = "[A-Z][^l]* " )
{ u'Americans are ca' : { 'small_audio.wav' : [( 0.21 , 1.71 )]}}
还实现了更多功能。有关详细说明,请阅读此处的文档。
如果您想贡献代码或想法、提交错误请求或提供反馈,请访问贡献文件。
另请参阅该项目的贡献者列表。
该项目已获得 Apache v2.0 许可证的许可 - 有关更多详细信息,请参阅许可证文件。