如何使用 Python 中的 Bing Speech API 转录语音文件?

2024-02-18

如何使用 Python 中的 Bing Speech API 转录语音文件?我的语音文件超过 15 秒。


我知道人们可以在 Python 中使用 Bing Speech REST API。https://gist.github.com/jellis505/973ea6de12508c7c720da4a074e7d065 https://gist.github.com/jellis505/973ea6de12508c7c720da4a074e7d065给出了Python 2中的一个例子:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests
import httplib
import uuid
import json

class Microsoft_ASR():
    def __init__(self):
        self.sub_key = 'YourKeyHere'
        self.token = None
        pass

    def get_speech_token(self):
        FetchTokenURI = "/sts/v1.0/issueToken"
        header = {'Ocp-Apim-Subscription-Key': self.sub_key}
        conn = httplib.HTTPSConnection('api.cognitive.microsoft.com')
        body = ""
        conn.request("POST", FetchTokenURI, body, header)
        response = conn.getresponse()
        str_data = response.read()
        conn.close()
        self.token = str_data
        print "Got Token: ", self.token
        return True

    def transcribe(self,speech_file):

        # Grab the token if we need it
        if self.token is None:
            print "No Token... Getting one"
            self.get_speech_token()

        endpoint = 'https://speech.platform.bing.com/recognize'
        request_id = uuid.uuid4()
        # Params form Microsoft Example 
        params = {'scenarios': 'ulm',
                  'appid': 'D4D52672-91D7-4C74-8AD8-42B1D98141A5',
                  'locale': 'en-US',
                  'version': '3.0',
                  'format': 'json',
                  'instanceid': '565D69FF-E928-4B7E-87DA-9A750B96D9E3',
                  'requestid': uuid.uuid4(),
                  'device.os': 'linux'}
        content_type = "audio/wav; codec=""audio/pcm""; samplerate=16000"

        def stream_audio_file(speech_file, chunk_size=1024):
            with open(speech_file, 'rb') as f:
                while 1:
                    data = f.read(1024)
                    if not data:
                        break
                    yield data

        headers = {'Authorization': 'Bearer ' + self.token, 
                   'Content-Type': content_type}
        resp = requests.post(endpoint, 
                            params=params, 
                            data=stream_audio_file(speech_file), 
                            headers=headers)
        val = json.loads(resp.text)
        return val["results"][0]["name"], val["results"][0]["confidence"]

if __name__ == "__main__":
    ms_asr = Microsoft_ASR()
    ms_asr.get_speech_token()
    text, confidence = ms_asr.transcribe('Your Wav File Here')
    print "Text: ", text
    print "Confidence: ", confidence

但是,根据规定,Bing Speech REST API 无法转换长度超过 15 秒的音频文件https://learn.microsoft.com/en-us/azure/cognitive-services/speech/home https://learn.microsoft.com/en-us/azure/cognitive-services/speech/home:


您可以使用 bing 语音转换长达 10 分钟的大文件,但您需要为其构建一个 websocket,因为它是 bing 中用于大型音频文件的另一种选择。这是 github 存储库必应演讲 https://github.com/jjuraska/cruzhacks2018

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Python 中的 Bing Speech API 转录语音文件? 的相关文章

随机推荐

  • 将元数据添加到tensorflow freeze graph pb

    为了分享我们训练有素的张量流网络 我们将图冻结成 pb文件 我们还创建一个包含一些元数据的 xml 文件 例如输入张量和输出张量 要应用的预处理类型 训练数据信息等 然后使用 Java 或 C 通过加载图形和评估张量等来提供模型 为了使共享
  • WPF IsEditable=true 填充对象的 ComboBox 将 ToString() 显示为所选项目

    Wpf 组合框允许编辑 如果所有组合框项目都是字符串 或者在它们上定义了 ToString 方法 那么这很好 当您选择一个项目时 它显示为文本 它不使用 DataTemplate 它只是对所选项目调用 ToString 我在组合下拉列表中得
  • 为什么我们应该在用户表中包含 ID 列?

    显然 我们已经有了关于每个用户的另一个独特信息 那就是用户名 那么 为什么我们需要为每个用户提供另一个独特的东西呢 为什么我们还应该为每个用户提供一个 id 如果我们省略 id 列会发生什么 即使您的用户名是唯一的 使用额外的 id 列而不
  • 从 Swift 4 中的后台线程调用 UI API 并运行 Firebase 4

    这些是我下载 beta 版本后当前项目中出现的错误Xcode 9 这直接连接到这个帖子 https stackoverflow com questions 44391367 swift 4 uiapplication registerfor
  • 循环跨列相乘

    我有一个数据框 其中标有列sales1 sales2 price1 price2我想通过乘以计算收入sales1 price1以迭代的方式对每个数字进行依此类推 data lt data frame sales1 c 1 2 3 sales
  • 在 R 中通过 Arrow 包编写 Parquet 文件的问题

    只是想知道在 Windows 和 Linux 操作系统中运行时 R 中的 arrow 包的读 写 parquet 功能是否有区别 示例代码 在数据框中插入任何内容 mydata data frame write parquet mydata
  • 基于 AJAX 输入构建 HTML 的正确方法

    所以我正在 Django 中开发这个 Web 应用程序 确切的 Web 框架并不重要 但重点是 我们在代码 数据和实际 HTML 之间有很好的分离 然而 我们走得越远 我们就越发现我们希望保留在单个网页上并让界面通过 AJAX 请求响应用户
  • Python3 html 转 pdf

    如何在Python3中将HTML转换为PDF Xhtml2pdf 在 Python3 中不起作用 出现错误 将 xhtml2pdf pisa 导入为 pisa 回溯 最近一次调用最后一次 文件 第 1 行 位于 文件 home hound
  • 即使提供了known_hosts文件,pysftp也会抛出paramiko.ssh_exception.SSHException?

    出现错误 paramiko ssh exception SSHException 找不到主机 target org 的主机密钥 使用时pysftp 对于需要特定端口的连接 即使我提供了最初用于连接到该位置的相同的known hosts文件
  • 在 Notepad ++ 中双击捕获 PHP 变量

    我刚刚从 eclipse 切换到 Notepad 并修改了记事本的一些行为 但仍有一个未解决 当我双击一个变量时 我希望我的编辑器能够捕获整个变量 记事本自动排除 php 前缀 效率不高 有什么办法可以改变我的行为吗 谢谢 从版本 7 3
  • 在 Instagram 中打开 AVMutableComposition 时出现白色视频

    当我导出一个AVMutableComposition I use PHPhotoLibrary将视频保存到相机胶卷 在里面creationRequestForAssetFromVideoAtFileURL 完成处理程序 然后我在 Insta
  • 停止进程显示 C# 窗口

    我正在尝试自动化一个应用程序 该应用程序在启动时创建一个没有用户交互的 GUI 窗口 但我不知道如何隐藏实际的窗口 我尝试使用 ProcessStartInfo 因此 Process Start new ProcessStartInfo U
  • SQL输出:是否可以创建临时输出列?

    例如 我的数据库中有一个如下表 商品编号 商品名称 价格 项目状态 其中商品 ID int 商品名称 string 价格 int 项目状态 枚举 至于物品状态 假设 2 代表 即将推出 1 代表 可用 而 0 代表 售完 我想显示信息 以便
  • 我可以扩展类并覆盖封闭的枚举类型吗?

    如果我有一个类包含enum类型 我可以扩展此类并覆盖枚举类型或向此枚举添加更多常量吗 目的是用户能够调用getColor 方法而不知道动态对象是来自基类还是派生类 例如 public class Car private String nam
  • 如何获取不同值节点XML

    我是 XML 新手 所以希望得到您的帮助 我有以下 XML
  • 粘胶参数

    我是 openGL 的初学者 在所有简单的示例中 main 函数都有参数 而 glutinit func 使用这些参数 但我不明白为什么它们是必要的 我在命令参数中什么也没写 程序仍然有效 它们有什么用 你能给个例子吗 glutInit a
  • Django 多表继承和左外连接

    最近 我遇到了 Django 关于模型继承的常见问题 我有一堆不同的模型 我想单独或作为一组显示 读作 查询数据库中的所有内容 或仅查询某个类别 型号 的项目 最终 我选择了多表继承 我的模型看起来像 class Unit models M
  • Matplotlib:多个轮廓变量的轮廓图的多个图例

    我需要在同一页面上绘制多个变量的多个等高线图 我可以使用 MATLAB 来完成此操作 请参阅下面的 MATLAB 代码 我无法让 matplotlib 显示多个图例 任何帮助将非常感激 Python代码 import numpy as np
  • pandas.Series/DataFrame.fillna 限制中的错误?

    我一直在尝试使用填充 DataFrame 和 Seriesfillna与value and limit关键词 这limit不包括时受到尊重value 但只要包括value限制不再受到尊重 这是使用 DataFrame 的示例 import
  • 如何使用 Python 中的 Bing Speech API 转录语音文件?

    如何使用 Python 中的 Bing Speech API 转录语音文件 我的语音文件超过 15 秒 我知道人们可以在 Python 中使用 Bing Speech REST API https gist github com jelli