文件交换

图片缩略图

speech2text

自动语音转换
4.4
9评级

112下载

更新2020年2月27日

查看许可证

自动标记和标签的语音录音,评估DSP管道的性能,语音和语音增强,运行文本分析的语音录音,等等。

此条目允许您使用单个函数调用将采样语音录音转换为MATLAB矢量。从MATLAB发行版R2019b开始,这也使您能够使用Audio Labeler应用程序交互式地执行语音转录。

您将需要Audio Toolbox许可证、internet连接和您所选择的语音到文本服务(谷歌™Cloud Speech-to-Text API、IBM™Watson Speech-to-Text API或Microsoft™Azure Speech Services API)的主动订阅。

有关如何入门的详细说明,请查看“示例”选项卡。

另请参阅:自动文本到语音合成(Text2speech)https://www.mathwands.com/matlabcentral/fileexchange/73326-text2speech.

引用作为

MathWorks音频工具箱团队(2020)。speech2text(//www.tatmou.com/matlabcentral/fileexchange/65266-speech2text),matlab中央文件交换。检索到

意见及评分(61

徐汇杨

嗨,Alejandro,不幸的是,longrunningrecognition或任何流语音识别目前不支持speech h2text包。金宝app正如Gabriele之前指出的,“在某些情况下(例如,使用某种VAD来动态分解句子),将片段传递给speech h2text仍然可以产生可接受的结果。”如果这对您不起作用,您可以尝试将MATLAB代码与google提供的客户端库(JAVA或Python)之一进行接口。如果你碰巧走这条路,请在这里发布你的发现,这样可能对其他有同样问题的人有用。下面的链接可能是一个很好的起点:

Google客户端库:https://cloud.google.com/speech-to-text/docs/reference/libraries
其他语言的MATLAB界面://www.tatmou.com/help/matlab/external-language-interfaces.html

希望这个有帮助。谢谢。
拉贾

嗨Raja,
当使用谷歌的语音识别API时,我得到这个错误:“同步输入太长。对于长度超过1分钟的音频,使用带有“uri”参数的LongRunningRecognize。但是从文档中我不清楚如何为LongRunningRecognize和uri参数设置speechObject。此外,我还想使用API的其他功能和版本。下面是一个成功使用云Shell API的示例:
gcloudα毫升演讲recognize-long-running gs: / /桶/ movie01.wav——语言代码= en - us——异步——enable-automatic-punctuation——编码= linear16——include-word-confidence include-word-time-offsets max-alternatives = 0,采样率= 44100——audio-topic =“电影”——交互类型=专业制作——microphone-distance =近距离
如何为这个例子设置speechObject ?非常感谢。

你好,
我的问题通过IBM Watson语音转文本服务解决了。
我认为谷歌语音服务的相关代码有问题。代码的作者应该调查问题并修改代码。
谢谢你的支持。金宝app

嗨Raja,您是否在此错误中找到了任何解决方案。

嗨,我已经在Matlab中安装了音频工具箱,当我给一个音频,现在我得到
> >版本音频
-----------------------------------------------------------------------------------------------------
MATLAB版本:9.4.0.813654 (R2018a)
操作系统:Microsoft Windows 10主页单语言版本10.0
Java版本:Java 1.8.0_144-b01 with Oracle Corporation Java HotSpot(TM) 64位服务器虚拟机混合模式
-----------------------------------------------------------------------------------------------------
音频系统工具箱版本1.4 (R2018a)

现在当我运行这个程序时,
使用append时出错(第38行)
过时的基于矩阵的语法的输入参数数目错误。

GooglesPeepClient / getRecognizeURL错误

BaseSpeechClient /识别错误

在BaseSpeechClient / speechToText错误

在speech h2text错误(第45行)
tableOut = connection.speechToText (y, fs,超时);

如何解决这个问题

你好,拉贾,很抱歉耽搁了。
这些是你问的信息,
这speech2text
C:\ Users \ Vaksh \ Documents \ Matlab \ Add-Ons \ Toolboxes \ Speex2Text.m,它指向我下载的位置。
版本的音频
MATLAB版本:9.4.0.813654 (R2018a)
操作系统:Microsoft Windows 10主页单语言版本10.0
Java版本:Java 1.8.0_144-b01 with Oracle Corporation Java HotSpot(TM) 64位服务器虚拟机混合模式
-----------------------------------------------------------------------------------------------------
警告:未找到正确格式化的内容.M文件是为“音频”找到的文件。

嗨Akshatha,我正在尝试重现你面临的错误。你能请执行以下操作:
1.在MATLAB会话中运行“哪个Speem2Text”,并确保它指向您从此页面下载的最新文件的位置。告诉我你找到了什么。
2.将Matlab会话中的“ver音频”的显示输出发送。在发送结果之前,请删除MATLAB许可证号或任何个人信息。

谢谢,
拉贾

亚当丹斯

@ MathWorks音频工具箱团队,请查看提供的链接中的对话,以帮助排除故障//www.tatmou.com/matlabcentral/answers/495157-error-using-speech2text


当我下载这个,并试图运行我得到以下错误:
输出参数“禁令”(以及也许其他)在呼叫期间未分配
“BaseSpeechClient / speechToText”。

在speech h2text错误(第45行)
tableOut = connection.speechToText (y, fs,超时)

stt错误(第7行)
outInfo = speech2text (speechObject、样品、fs HTTPTimeOut, 25)

需要立即帮助

嗨Raja,
还有一个细节,我把我的脚本命名为speechTranscriber。我尝试重命名它(letsSee.m),但仍然收到相同的错误。但是现在的错误是:

在调用“BaseSeeChclient / SpeemTotext”期间,输出参数“outhout”(和其他)未分配。

在speech h2text错误(第45行)
tableOut = connection.speechToText (y, fs,超时);

在letsSee错误(第19行)
成绩单= speech2text(誊写员,y, Fs)

很遗憾听到克里斯托弗。语音转换器(如错误​​堆栈所示)不再是Synamic2Text包的一部分。我想知道新文件(1.2.3版)是否以某种方式遮蔽。对不起,我无法在此处解决您的问题。请联系MathWorks技术支持,他们可能会帮助您:金宝app//www.tatmou.com/金宝appsupport/contact_us.html.

嗨Raja,

首先,非常感谢您的帮助!我卸载,重新启动,重新安装(版本1.2.3,从这个页面链接),重新启动MATLAB和整个计算机只是为了好的测量和接收相同的错误。

嗨克里斯托弗。感谢您添加错误堆栈。您的错误堆栈似乎建议您可能正在使用旧版本的Speem2Text。
你能删除旧的speech h2text版本,重新下载,运行setup,重启MATLAB,然后尝试相同的命令吗?

我正在运行MATLAB_R2017B。我今天试着在谷歌客户端上运行它,看看它是否是IBM的问题,它不是,我收到了相同的错误。

我使用的谷歌代码本质上就是文档中包含的示例(我尝试在没有speechContext和maxAlternatives字段的情况下运行它,这些都不是错误的来源):

[y, Fs] = audioread (' / filelocation / filename.wav ');

%谷歌
transcriber = speepclient('google','langeagecode','en-us','maxalternatives',3,'speectcontext',[{speachcontext});
成绩单= speech2text(誊写员,y, Fs)

它正在运行IBM版本时收到的相同错误:

在调用“BaseSeeChclient / SpeemTotext”期间,输出参数“outhout”(和其他)未分配。

在speech h2text错误(第45行)
tableOut = connection.speechToText (y, fs,超时);

语音转录器错误(第19行)
成绩单= speech2text(誊写员,y, Fs)

我使用的谷歌代码本质上就是文档中包含的示例(我尝试在没有speechContext和maxAlternatives字段的情况下运行它,这些都不是错误的来源):

[y, Fs] = audioread (' / filelocation / filename.wav ');

%谷歌
transcriber = speepclient('google','langeagecode','en-us','maxalternatives',3,'speectcontext',[{speachcontext});
成绩单= speech2text(誊写员,y, Fs)

它正在运行IBM版本时收到的相同错误:

在调用“BaseSeeChclient / SpeemTotext”期间,输出参数“outhout”(和其他)未分配。

在speech h2text错误(第45行)
tableOut = connection.speechToText (y, fs,超时);

语音转录器错误(第19行)
成绩单= speech2text(誊写员,y, Fs)

你好,克里斯托弗,我不能复制你的失败。你使用的是哪个版本的speech h2text和MATLAB ?

请帮助!当我运行下面的代码,我得到的错误:

在调用“BaseSeeChclient / SpeemTotext”期间,输出参数“outhout”(和其他)未分配。

代码:
speechObjectIBM = speechClient('IBM','keywords',"Tom, Jenny, RJ, Andy, Jason, Jeff",'keywords_threshold',0.5);
stomalobjectibm.options.

Transcriber = SpeepClient('IBM','LangeCecode','en-US');
成绩单= speech2text(誊写员,y, Fs);

对可能导致这件事的任何想法?

嗨,Dan, boost对我来说在v1p1beta1版本中工作得很好。请尝试不同的音频文件和/或比较您的结果从谷歌的web应用程序:https://cloud.google.com/speech-to-text/
此外,请记住,所有3个云服务提供商都有限制对同步请求的音频文件的长度。Google Limit是〜1分钟:https://cloud.google.com/speech-to-text/quotas
如果您仍无法解决,MathWorks Techical支持可能会帮助您:金宝app//www.tatmou.com/金宝appsupport/contact_us.html.

丹Waisel

嗨,Raja,谢谢,我现在正在使用v1p1beta1版本。
“提升”仍然没有给我想要的结果,我还不确定为什么。

丹Waisel

嗨Raja,谢谢您的信息!
支持提升时,设置其值是正确的金宝app方法?与其他属性不同,它是另一个属性'speathcontext'的子文件。使用JSON字符串提供“SpeathContext”如下:SpeepClient('Google','SpeepContext',[{“短语”:[“天气热”],“Boost”:2}])在Matlab工作?(仅在您之后为此添加金宝app支持)
期待您的回复,并更好地理解这个强大的函数和API。

你好,丹,一个有趣的问题!谢谢你在这里发布你的问题。
"boost"是谷歌云语音到文本API的v1p1beta1版本中的一个新属性,目前还不支持speech h2text。金宝appspeech h2text目前使用的是v1版本的API。这可能就是为什么该服务忽略了“boost”选项的原因。我们可能只会在beta版本发布后才会添加对金宝app新API的支持。

看看这两个api之间的区别:
https://cloud.google.com/speech-to-text/docs/reference/rest/v1/recognitionconfig.
https://cloud.google.com/speech-to-text/docs/reference/rest/v1p1beta1/RecognitionConfig

道歉,如果这不解决您当前的用例。

丹Waisel

你好,

我正在使用谷歌的语音客户端,并试图在请求中设置选项:
speechClient(‘谷歌’,‘languageCode’,‘he-IL’,‘enableWordTimeOffsets’,真的,“speechContexts”,[known_transcript‘短语’,‘提高’,20]);
这条线不像我预期的那样工作。'languageCode','he-IL','enableWordTimeOffsets',true选项工作正常,但它似乎忽略了'boost'选项,这是'speechContexts'的子属性,正如谷歌的API中所解释的:
“配置”:{
“编码”:“LINEAR16”,
“sampleRateHertz”:8000年,
“languageCode”:“en - us”,
“speechContexts”:[{
"短语":["天气热"],
“提高”:2
})
}

如果有人能解释如何设置这些选项,我将不胜感激。
问候,
丹Waisel
Tel-Aviv大学

张胸

嗨约翰,好的问题。我还没有详细审查这一点,所以如果他不是100%有用的话道歉。我似乎记得,除非你指定不同的位置,否则文件将保存在C:\ Users \ \ AppData \ Roaming \ GCloud中。如果客户端是Google,则文件名应为Google_CredentialS_Speech2Text.json。您也可以在matlab中尝试以下内容>>哪个google_credentials_speech2text.json

约翰

如何更新JSON文件?我使用了错误的文件在我的第一次运行时,程序促进我,现在它将不允许我改变json文件的位置。

非常感谢Gabriele!
我想我将去一个c#接口谷歌流,最有可能将导入一些matlab技能到那个应用程序。

你好,丹尼,不幸的是,我们目前无法提供speech h2text的源代码。在任何情况下,支持流语音到文本接口的修改都不是微不足道的。金宝app如果您想尝试为特定的基于web的服务开发自己的MATLAB包装器,您首先需要仔细检查所发布的感兴趣的服务的web API。要使用MATLAB编写脚本并自动化请求,关键的构建块将是MATLAB HTTP (//www.tatmou.com/help/matlab/http-interface.html)和json(//www.tatmou.com/help/matlab/json-format.html)接口。好运!

非常感谢Gabriele,清楚地。是否有机会了解Seathing2text的引擎盖下的想法,这样我就可以修改它以在流模式下工作?非常感谢Dani

嗨,Danni, speech h2text本身并不是为支持流媒体使用而设计的,它也没有利用云服务金宝app提供的任何专门构建的流媒体接口。在某些情况下(例如,使用某种VAD动态分解句子),将片段传递给speech h2text仍然可以产生可接受的结果。然而,除了增加延迟外,云服务将单独转录每个片段。

Hi Gabriele,有没有可能使用speech h2text环境来运行谷歌API在一个热气流模型?这意味着将样本从麦克风传输到谷歌,并实时接收结果?

嗨,Piyush,请查看本页的“示例”标签-“使用第三方语音api执行语音到文本”应该已经包含了所有详细的步骤和代码示例。如果你觉得缺少了什么,如果你能告诉我们细节,我们将不胜感激。提前谢谢!

有人能告诉一步一步地,如何创建所需的对象和json文件使用谷歌语音api吗?
这样我就可以使用speech h2text了?

费凡贾

嗨Adnan,
请查看提供的主要示例。除了关于如何获取安装的说明之外,在“执行语音到文本转录”下,您将找到展示如何从文件加载预先录制的语音段的代码以及如何使用Speate2Text获取转录。

如何在matlab中首次使用speech h2text算法?请紧急回复
我有一个音频文件,但我想把它翻译成文本任何想法请

没关系,我已经意识到了我的错误并纠正了它。我需要将路径添加到下载的speec2text文件夹,而不是编译对象。
多谢。:)

你好Gabriele,谢谢你的快速回复。
我尝试在Raja的帖子之后手动添加文件,但是,我还没有理解,或者它尚未担任问题。我两次尝试:
“AddPath('C:\ Program Files \ Matlab \ R2019A \ Toolbox \ Audio \ Audio \ Compiled \')”和
“AddPath(GenPath'c:\ Program Files \ Matlab \ R2019A \ Toolbox \ Audio \ Audio \ Compiled \'))”。我误解了什么吗?

你好,奥利弗,谢谢你的帮助。
我们已经确定了附加安装问题,这可以防止提交文件夹添加到MATLAB搜索路径。
我们会在即将到来的更新中修复这个问题。同时,请手动将所有提交文件夹添加到MATLAB路径中(添加顶级文件夹并包含所有子文件夹)。关于这个话题,你可以参考Raja的文章。
谢谢。

我正在尝试使用speech h2text,但一直得到错误下面。
“错误使用speechClient
无法访问speem2text。确保文件是
安装了。转到文件交换以下载。有更多
信息,请点击这里。”
我已经确认了Speaule2Text加载程序,并“哪个Speem2Text”返回可明智的答案“C:\ Program Files \ Matlab \ R2019A \ Toolbox \ Audio \ Audio \ Compiled \ Sexpool2Text.p”。有没有人有任何想法,为什么这不起作用?

你好. .我总是得到一个错误。我正在使用谷歌语音识别API,但每次我试图运行它,我得到了这个错误消息:
使用codeer .internal. Error出错(第14行)
无法访问speem2text。确保文件是
安装了。转到文件交换以下载。有更多
信息,请点击这里。

SpeepClient中的错误

stameingtest错误(第1行)
seathageObject =.
Speepclient('谷歌','langeagecode','en-Us');

你好,格雷森,

下载的Spearing2Text文件可能不在Matlab搜索路径上(//www.tatmou.com/help/matlab/matlab_env/what-is-the-matlab-search-path.html

请将你下载的speech h2text文件夹(//www.tatmou.com/help/matlab/ref/addpath.html.在运行speath2text命令之前,CD到它。

希望这个有帮助。

你好,
我正在尝试使用谷歌的语音识别API,但每次尝试演讲语言时,我都会收到此错误:
使用codeer .internal. Error出错(第14行)
无法访问speem2text。确保已安装文件。转到文件交换以下载。欲了解更多信息,请点击此处。

SpeepClient中的错误

我检查了很多次,肯定安装了speech h2text。我也安装了音频系统工具箱。你知道我哪里做错了吗?
提前谢谢。

你好奥利弗,

它看起来像是使用'langeagecode'传递IBM的型号名称,但你需要用'型号'传递它,如:

转录器= speechClient(“IBM”、“模型”、“es-ES_NarrowbandModel”);

这是IBM文档中提到的期望名称-值https://www.ibm.com/watson/developercloud/speech-to-text/api/v1/curl.html?curl#recognize

希望这可以帮助!

你好,

我使用的是IBM Watson Speech API。当我运行这个函数时,我得到以下错误:

这个8000hz的音频输入需要窄带模式。请参阅https:///v1/models获取可用模型列表。

我尝试了'en-us_narrowbabrandmodel'作为'langeagecode',但它仍然不起作用。如何通过变量“型号”en-US_NArrowBabrmodel'或更改模型?

先谢谢你。

你好,我得到以下错误时,我运行:
[y,fs] = audioread('out-over-track.wav');
speechObject = speechClient(“微软”、“认可”,“互动”,“语言”,“en - us”);
tableout = speem2text(SequencoHopject,Y,FS)

在调用“SpeepClient / SpeemTotext”期间,输出参数“outly”未分配的“outly”(和其他人)。

speem2text中的错误

sampletesting的错误(第4行)
tableout = speem2text(SequencoHopject,Y,FS)

我正在使用Microsoft Azure Bing API
有人能帮我一下吗?

@Sumit Mondal -谢谢你的报道。看起来这个错误是由于缺少Audio System Toolbox的许可而触发的,这是speech h2text所需要的。实际错误信息的不清晰将在即将到来的更新中修复。

当我尝试运行speech h2text()函数时,我得到的错误如下:
无法在目录'信号:sigtools'中找到消息密钥'noautio'。

SpeepClient.CheckoutAstLicense的错误

在speechClient / speechTotext错误

speem2text中的错误

有谁知道是什么问题 ?

有没有办法在谷歌API中启用单词时间开始和偏移?看到的:https://cloud.google.com/speech-to-text/docs/async-time-offsets#speech-async-recognize-gcs-python

关于经常遇到的错误“预期输入是一个向量”——请注意,speech h2text函数的第二个输入参数y需要是一个列向量或行向量,即一个维数为1的数组。音频记录以立体声格式存储是很常见的,所以在使用speech h2text之前,您可能想要检查音频数组的大小,例如通过查看MATLAB工作区。如果您的音频数组有多个通道(通常导致许多列大于1),您需要只选择其中一个。对于立体声信号,好的选择包括左通道,即y = readAudio(:,1),右通道,即y = readAudio(:,2),或它们跨通道的平均值,即y = mean(readAudio,2)。

谢谢你,我已经通过电子邮件发送给您@gabriele

@Sunaina Aytan - 谢谢你的联系。请发送有关您获得的错误的更多信息,包括使用完整的再现步骤//www.tatmou.com/下载188bet金宝搏products/audio-system/expert-contact.html

你好,我一直得到这个错误,请帮助

错误使用speechClient / speechTotext
预期的输入是一个向量。

speem2text中的错误

SAM,您正在不正确保存JSON文件。IBM的JSON文件的内容仅包含从IBM语音API帐户中获取的“用户名”和“密码”。此外,不要忘记在JSON文件结束时包含括号 - “{”,“}”。

在下载的文件夹中,您应该在HTML子文件夹中看到“withs_ibm_json.png”。此图像将帮助您为IBM API编写JSON文件。

希望这可以帮助!

当使用IBM创建.json文件时,我在jsondecode函数上得到一个错误,它首先读取文件的保存信息:

使用jsondecode时出错
JSON语法错误在第1行,第1列(字符1):期望的值,但发现'MATLAB'。

打开我的json文件在matlab中给出的第一行:

MATLAB 5.0 MAT-file, Platform: MACI64, Created on: Wed

我是不正确的拯救我的json吗?

Khcy82Dyc.

我想出来了。当谷歌API无法检测到任何语音时,就会发生这种情况。

Khcy82Dyc.

Hiya,我运行时有这个错误:

[样本,fs] = audioread('handel.wav');
seathageObject = SpeepClient('Google','langeagecode','en-US');
tableOut = speech2text (speechObject、样品、fs)

引用不存在的字段'results'。

在speechClient / showOutput错误

SpeepClient / Googleapi中的错误

在speechClient / speechTotext错误

speem2text中的错误

在speech h2textconvert错误(第8行)
tableOut = speech2text (speechObject、样品、fs)

优秀的一个。

更新

1.2.5

添加链接到text2speech

1.2.4

更好的错误处理当音频工具箱许可证不可用时

1.2.3

允许指定Google客户端的自定义识别URL。这提供了一种使用Beta版本的Google Cloud语音到文本API的方法。

1.2.2

防止将设置脚本添加到MATLAB路径

1.2.1

错误修复

1.2.0

在MATLA金宝appB版本R2019b中增加了使用Audio Labeler对交互式语音到文本转录的支持

1.1.5.0

在较老的MATLAB版本中解决兼容性问题(R2017a和R2017b)

1.1.4.0

增加了对IB金宝appM和Microsoft api的新身份验证方案的支持。

1.1.3.0

安装上更正的路径更新

1.1.2.0

使用Microsoft API时,在响应时改进了错误和缺少数据。

1.1.1.0

IBM API更改的更新

1.1.0.0

在files /en下添加文件以启用p编码文件的cmd行帮助。

1.1.0.0

添加了httptimeout选项以允许使用更长的语音录制。
添加了错误消息以更好地处理HTTP请求成功但API不返回任何转录数据

Matlab释放兼容性
用R2019B创建
兼容R2017A到任何释放
平台兼容性
视窗 苹果系统 Linux