rev.ai使语音应用程序易于构建!
rev-ai的Python项目详细描述
ai版python sdk
文档
有关api和 更多的python示例。
安装
除非您想修改包,否则不需要此源代码。如果你只是 要使用软件包,请运行:
pip install --upgrade rev_ai
从源安装:
python setup.py install
要求
- python 2.7+或python 3.4+
用法
您需要开始的只是访问令牌,它可以在 你的Settings Page。使用 给定的访问令牌:
fromrev_aiimportapiclient# create your clientclient=apiclient.RevAiAPIClient("ACCESS TOKEN")
发送文件
一旦你用你的访问令牌设置了你的客户端,发送文件就很容易了!
# you can send a local filejob=client.submit_job_local_file("FILE PATH")# or send a link to the file you want transcribedjob=client.submit_job_url("https://example.com/file-to-transcribe.mp3")
job
将包含通常在我们的成功响应中找到的所有信息
Submit Job终结点。
如果你想得到更多信息,两个send job方法都需要metadata
,callback_url
,
skip_diarization
、skip_punctuation
、speaker_channels_count
和custom_vocabularies
作为可选参数,在
Submit Job端点。
检查文件的状态
您可以使用转录作业的id
job_details=client.get_job_details(job.id)
job_details
将包含通常在成功响应中找到的所有信息
我们的Get Job端点
检查多个文件
您可以使用可选参数检索转录作业列表
jobs=client.get_list_of_jobs()# limit amount of retrieved jobsjobs=client.get_list_of_jobs(limits=3)# get jobs starting after a certain job idjobs=client.get_list_of_jobs(starting_after='Umx5c6F7pH7r')
jobs
将包含一个作业详细信息列表,其中包含通常在成功响应中找到的所有信息
从我们的Get List of Jobs端点
删除作业
您可以使用转录作业的id
client.delete_job(job.id)
与作业相关的所有数据(如输入媒体和文本)将被永久删除。 作业只有在完成后才能被删除(无论是成功还是失败)。
获取你的成绩单
一旦您的文件被转录,您可以以几种不同的形式获取您的转录:
# as texttranscript_text=client.get_transcript_text(job.id)# as jsontranscript_json=client.get_transcript_json(job.id)# or as a python objecttranscript_object=client.get_transcript_object(job.id)
json和object表单都包含响应中概述的所有格式 Get Transcript端点的 当使用json响应模式时。而文本输出是包含 只有你的成绩单文本
获取字幕输出
您还可以从sdk获得标题输出。我们提供SRT和VTT字幕格式。
如果您提交了作为扬声器频道音频的工作,则还必须提供一个channel_id
标题:
captions=client.get_captions(job.id,content_type=CaptionType.SRT,channel_id=None)
流输出
任何输出格式都可以作为流检索。在这些情况下,我们将原始http响应返回给您。输出可以通过response.content
、response.iter_lines()
或response.iter_content()
检索。
text_stream=client.get_transcript_text_as_stream(job.id)json_stream=client.get_transcript_json_as_stream(job.id)captions_stream=client.get_captions_as_stream(job.id)
流式音频
为了传输音频,您需要为要发送的音频设置流式客户端和媒体配置。
fromrev_ai.streamingclientimportRevAiStreamingClientfromrev_ai.modelsimportMediaConfig#on_error(error)#on_close(code, reason)#on_connected(id)config=MediaConfig()streaming_client=RevAiStreamingClient("ACCESS TOKEN",config,on_error=ERRORFUNC,on_close=CLOSEFUNC,on_connected=CONNECTEDFUNC)
on_error
、on_close
和on_connected
是可选参数,它们分别是websocket出错、关闭和连接时要调用的函数。默认值on_error
引发错误,on_close
输出代码和关闭原因,on_connected
输出作业ID。
如果传入自定义函数,请确保提供正确的参数。有关参数,请参见示例代码。
使用MediaConfig
和访问令牌设置流式客户端后,可以获得音频的转录生成器。
response_generator=streaming_client.start(AUDIO_GENERATOR)
response_generator
是生成音频的转录结果(包括部分和最终转录)的生成器对象。start
方法创建一个线程,将音频片段从AUDIO_GENERATOR
发送到
[流式处理]终结点。
如果你想提前结束连接,你可以!
streaming_client.end()
否则,当服务器收到“eos”消息时,连接将结束。
======= 历史记录
0.0.0(2018-09-28)
- 初始α释放
2.1.0
- 改版官方发布
2.1.1
- 文件上载错误修复
- 更好的文档
2.2.2
- 修复pypi自述格式
2.3.0
- 添加获取工作列表
2.4.0
- 添加对自定义词汇表的支持
2.5.0
- 添加示例
- 改进错误处理
- 添加流式客户端
2.6.0
- 支持跳过标点符号
- 支持.vtt字幕输出
- 支持扬声器频道作业