rev.ai使语音应用程序易于构建!

rev-ai的Python项目详细描述


ai版python sdk

Build Status

文档

有关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方法都需要metadatacallback_urlskip_diarizationskip_punctuationspeaker_channels_countcustom_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.contentresponse.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_erroron_closeon_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.1
  • 更好的文档

2.2.2

  • 修复pypi自述格式

2.3.0

  • 添加获取工作列表

2.4.0

  • 添加对自定义词汇表的支持

2.5.0

  • 添加示例
  • 改进错误处理
  • 添加流式客户端

2.6.0

  • 支持跳过标点符号
  • 支持.vtt字幕输出
  • 支持扬声器频道作业

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
maven字段#getGenericType()抛出java。lang.TypeNotPresentException   用java绘制三角形的几何图形   java无法下载主题和发件人地址(rediff)   java如何使代码线程安全   java在尝试转换FileInputStream中的文件时,我遇到了一个FileNotFound异常   java Moxy和Jackson如何将Json映射到Pojo   在foreach循环中使用BufferedWriter生成新行的java问题   java为什么我的测试在单次执行中运行时间小于1秒,而在maven构建中运行时间大于20秒?   java如何显示下载附件的进度条   了解java rmi的良好实践   .net可以将Java portlet嵌入ASP。网页?   循环如何多次执行Java方法?   java如何确保用户输入在给定的有效范围内?   java单元测试定理   java如何在IntelliJ上运行外部构建项目?   JAVA:试图编写一个检查字符串是否为数字的方法。总是返回错误   javahadoop将特定键的所有map方法生成的所有值都发送到一个reduce方法,对吗?   在java中读取和使用文件