问题标签 [aws-transcribe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - python tscribe 模块 - KeyError: 'confidence' 同时导出编辑内容
我在尝试使用 python tscribe 模块将编辑内容导出到 Word docx 时遇到 KeyError: 'confidence'。
这是代码:
java - lambda 返回后 AWS 转录作业未完成
我正在尝试在 lambda 中启动异步转录作业。我配置了一个 cloudwatch 事件,该事件应在转录作业完成时触发;这样我就可以在不同的 lambda 中对作业完成执行一些操作。但问题是异步转录作业已成功启动,日志中有以下 jobResult,但作业从未完成,并且未触发作业完成事件。
我的代码在以下几行 -
我已经验证,音频文件存在于源存储桶中。
仅当我在启动作业后在 lambda 中添加一些睡眠时间时,才会触发上述作业并触发作业完成事件。
例如,
如果添加睡眠时间,每件事都会按预期工作。但是如果没有 Thread.sleep(),这项工作永远不会完成。lambda 的超时配置为 60 秒。一些帮助或指示将不胜感激。
amazon-web-services - Aws Transribe 无法在 boto3 中没有 LanguageCode 的 start_transcription_job
我有一个音频文件S3
。
我不知道音频文件的语言。所以我需要使用IdentifyLanguage
for start_transcription_job()
。
LanguageCode
将是空白的,因为我不知道音频文件的语言。
环境
使用 Python 3.8 运行时,boto3 版本1.16.5
,botocore 版本:1.19.5
,无 Lambda 层。
这是我的转录工作代码:
然后我得到这个错误:
有了这个错误,意味着我必须指定LanguageCode
andIdentifyLanguage
是一个无效的参数。
100% 确定音频文件存在于 S3 中。但是没有LanguageCode
它不起作用,并且IdentifyLanguage
参数是未知参数
我使用 SAM 应用程序在本地使用以下命令进行测试:
我cdk deploy
也检查了 Aws Lambda 控制台,对其进行了相同的测试events.json
,但仍然出现相同的错误
我认为这是 Lambda 执行环境,我没有使用任何 Lambda 层。
我从 Aws Transcribe 看这个文档:
https://docs.aws.amazon.com/transcribe/latest/dg/API_StartTranscriptionJob.html
和这个文档boto3
:
明确说明LanguageCode
不是必需的并且IdentifyLanguage
是有效参数。
那么我错过了什么?对此有任何想法吗?我该怎么办?
更新:
我一直在网上搜索并询问了几个人,我认为我应该首先构建函数容器,让SAM将boto3打包到容器中。
所以我要做的是cdk synth
一个模板文件:
然后:
但是,我仍然得到同样的错误,但也发布了堆栈跟踪
真的不知道我在这里做错了什么。我还在这里报告了一个 github 问题,但似乎无法重现该问题。
主要问题/问题:
无法start_transription_job
没有
LanguageCode
和
IdentifyLanguage=True
什么可能的原因导致这种情况,我该如何解决这个问题(不知道音频文件的语言,我想在没有给出 LanguageCode 的情况下识别音频文件的语言)?
ruby-on-rails - Rails ActiveJob 无法加载 aws-sdk-transcribeservice
在我的 Rails 应用程序中,我需要使用 AWS Transcribe 服务。但是,当我尝试从 ActiveJob 内部创建 AWS 客户端时,Sidekiq 日志总是给我NameError: uninitialized constant Aws::TranscribeService
. 但是,当我尝试直接从 Rails 控制台创建客户端时,它并没有抱怨。这是我的代码。
/app/job/transcribe_audio_job.rb
宝石文件
如果我直接在 Rails 控制台中尝试,上面的代码就可以工作。
从 ActiveJob 使用 AWS 开发工具包的正确方法是什么?谢谢你的帮助。
amazon-web-services - 将音频文件流式传输或加载到 S3 存储桶的最佳方式(联络中心录音)
让我们的客户将音频文件发送到我们将处理音频文件的 S3 存储桶(将执行语音到文本洞察的 ML 流程)的最佳可靠方法是什么?
这些文件可以是 .wav / mp3 其他此类音频格式。此外,某些文件的大小可能更大。
喜欢获得最好的想法?(例如 API Gateway / Lambda / S3 ?)很想听听以前可能做过这件事的任何人。
提供上下文的一些问题和答案:
用户如何与您的系统交互?我们正在寻找基于 API 的方法与基于浏览器的方法。我们可以使用基于浏览器的方法,但不确定这是否是正确的技术/架构/可扩展方法
您需要批量上传方法吗?是的。我们需要批量上传功能,一些单独的文件也可能更大
它会由人控制,还是您希望它以某种方式自动上传?当然要自动
最终,我们正在构建一个 SaaS 解决方案,它将获取音频文件和元数据并对其执行分析,并通过 API 将我们的分析结果返回给应用程序。所以我们正在寻找的方法是在这种情况下可行的
amazon-web-services - Amazon Transcribe - 我应该使用音频预处理还是 Amazon 会这样做?
我目前正在尝试使用 Amazon Transcribe 服务,我想知道是否应该在将音频文件发送到 Amazon Transcribe 之前对其进行预处理。我在文档中找不到任何东西,所以我假设他们没有应用任何预处理。
例如,我可以应用低通和高通滤波器来增强声音并消除不需要的噪音。我想知道我是否必须这样做,或者亚马逊是否已经为我这样做了?
我已经进行了一些实验,如果应用过滤器,我看不到真正的改进,但这也可能意味着我的音频已经足够好......我无法进行广泛的实验,因为每次我这样做都会花钱...
如果有人可以分享他们对这项服务的经验,那就太好了。
java - AWS 将 S3 .wav 文件转录为文本
我正在尝试使用 aws Transcribe 将 wav 文件转换为文本。我已将 wav 文件上传到 S3,它位于此处,具有公共读/写权限:https ://s3.us-east-1.amazonaws.com/csld8xmsdksdf8s9sk3mmdjsdifkjksdijsldk/Transcribe2.wav 。wav 文件有效。我可以在我的浏览器中下载并重播它(听起来像是原始录音),所以我认为我们可以排除无效的输入文件、文件权限等。
我正在使用 java 版本:1.8.0_275 for mac。
我希望我的程序将转录文本返回给我:“你好,亚马逊订阅,这是什么?”
这是实际的程序输出,包括异常:
这是我的 java 代码(添加您的 aws 密钥和秘密)
这是我的 pom.xml 文件
ios - Amazon Transcribe 中“.caf”文件的“媒体格式”
我有一个使用expo-av
库捕获音频的 React Native (Expo) 应用程序。
然后它将音频文件上传到 Amazon S3,然后在 Amazon Transcribe 中转录。
对于 Android,我将音频保存为“.m4a”文件,并将 Amazon Transcribe API 调用为:
从 iOS 设备上传的“MediaFormat”应该是什么,通常是“.caf”文件?
Amazon Transcribe 仅允许这些媒体格式
java - AWS Transcript:文件到文本返回废话
这是AWS Transcribe S3 .wav file to text的后续问题。我使用流来读取 .wav 文件内容并将其发送到 AWS。
我没有取回正确的成绩单,而是像一堆“是的”一样胡说八道。陈述。看起来 AWS 无法正确解释字节流,但我不确定出了什么问题。我想知道文件是否需要以某种方式编码,即我不能直接从文件发送原始 .wav 字节?或者我可能需要告诉服务这是 .wav 格式?
这里有什么问题?输入文件是一个有效的 .wav 语音文件,当我听它时听起来很清晰。
这是我的java代码:
这是我的程序输出:
amazon-web-services - 从转录作业的 S3 对象键中删除特殊字符
这是我创建的第一个 Lambda 函数,在今天之前我从未编写过一行 Python。我确实有 Salesforce 的 APEX 语言的编程经验,所以我可以理解其中的大部分内容。
我有这个 Lambda 函数,它从 S3 抓取一个对象 (wav) 并将其发送到 AWS Transcribe。我希望 Transcribe 作业的名称是 S3 对象的名称,如果名称很简单,例如“recording.wav”,我可以完成。当我有一个像“4A6E388B48D454FA993D52611ADD1AB_INT - Integris Health_epowell@bcinsourcing.com_8082924979__2_X - Survey.wav”这样的复杂名称时,我的问题就出现了,因为特殊字符搞砸了。
有人能告诉我一个简单的方法来删除所有这些特殊字符并用下划线替换它们吗?我尝试使用 unquote_plus,但它并没有解决我的问题。
这是 lambda 代码: