导航:首页 > 编程知识 > 如何编程语音识别技术

如何编程语音识别技术

发布时间:2022-09-17 19:00:09

1. 语音识别系统都是用什么编程语音编写的

用matlab就行,matlab信号处理非常方便,既有一些模块,又有一些命令,还可以将数字语音信号转换到频域进行处理。
建议找一些matlab的参考书看一下!

2. 怎样用java做语音识别

这块国内一般都用科大讯飞的语音云来做语音识别。不过那个接口是c/c++的,用JAVA来调用的话要通过java调用dll的技术,类似于 jni 或者 jna 都可以

3. 如何在android平台上实现语音识别

语音识别,借助于云端技术可以识别用户的语音输入,包括语音控制等技术,下面我们将利用Google 提供的Api 实现这一功能。
功能点为:通过用户语音将用户输入的语音识别出来,并打印在列表上。
功能界面如下:

步骤阅读
2
用户通过点击speak按钮显示界面:
步骤阅读
3
用户说完话后,将提交到云端搜索
步骤阅读
4
在云端搜索完成后,返回打印数据:
步骤阅读

5
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.example.android.apis.app;

import com.example.android.apis.R;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

/**
* Sample code that invokes the speech recognition intent API.
*/
public class VoiceRecognition extends Activity implements OnClickListener {

private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234;

private ListView mList;

/**
* Called with the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Inflate our UI from its XML layout description.
setContentView(R.layout.voice_recognition);

// Get display items for later interaction
Button speakButton = (Button) findViewById(R.id.btn_speak);

mList = (ListView) findViewById(R.id.list);

// Check to see if a recognition activity is present
PackageManager pm = getPackageManager();
List activities = pm.queryIntentActivities(
new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
if (activities.size() != 0) {
speakButton.setOnClickListener(this);
} else {
speakButton.setEnabled(false);
speakButton.setText("Recognizer not present");
}
}

/**
* Handle the click on the start recognition button.
*/
public void onClick(View v) {
if (v.getId() == R.id.btn_speak) {
startVoiceRecognitionActivity();
}
}

/**
* Fire an intent to start the speech recognition activity.
*/
private void startVoiceRecognitionActivity() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo");
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
}

/**
* Handle the results from the recognition activity.
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {
// Fill the list view with the strings the recognizer thought it could have heard
ArrayList matches = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
mList.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1,
matches));
}

super.onActivityResult(requestCode, resultCode, data);
}

4. C++如何使用NeoSpeech开发语音识别系统

1:语音采集系统,可通过对PC的声卡进行编程实现
2,选择合适的语音识别算法,关键是语音参数提取,模式识别等,比较复杂(可参阅数字信号处理)
在PC平台下,用c++和vc++可以搞定
再看看别人怎么说的。

5. 用51单片机,实现语音识别,简单的数字,或者单个字词都行,需要什么样的硬件,电路图,如何编程。

可以用语音识别芯片LD3320,电路图你只要下了它的pdf就可以知道了,pdf里面有典型的应用。
但我推荐你别用这个芯片,应为比较贵在100元左右。我推荐你用凌阳61单片机,自带语音识别模块,专为语音而生。而且官方提供很多函数,可以直接调用,并不需自己写程序去控制声音的中间处理过程。另外凌阳单片机比较容易学习,比51还容易,而且是16位单片机,相比51更有优势。

6. C++如何使用NeoSpeech开发语音识别系统

我的毕业设计就是一个语音识别和合成系统,你可以在我空间留言,我可以发一些资料给你。(qq:11461017注明语音识别)
我用C#开发的,当然用C++最好,使用COM组件开发,难度不大。
微软下的开发主要用SAPI,XP是5.1版本 WIN7已经到5.4版本了
其实就是调用一个系统COM组件的问题,里面的API很多,但是网上语音合成的比较多,语音识别的很少,你可以到codeproject上搜speech recognition,里面源码很多。
另外NeoSpeech只是语音合成引擎,并不能开发语音识别。
语音识别用微软的就行了,xp系统要下载语音识别的安装包,visita以上是系统集成,只要你的系统不是精简过的就有。

PS:开发语音程序你也可以考虑用科大讯飞的产品,不过要联网,他们的开发API接口,有专门的论坛,科大语音云,不管是合成还是识别,效果都是相当的好,是基于C++的

7. 求语音识别的源代码,要求是用C#或C语言编写,能够识别一些基本的汉语发音

首先你要引用 DotNetSpeech
然后
创建SpeechRecognitionEngine 对象
下面的代码可以让系统获取语音并且识别

SRE = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("zh-CN"));//中文
SRE.LoadGrammar(new DictationGrammar());//所有语言
SRE.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(SRE_SpeechRecognized);//系统接受后的事件
SRE.SetInputToDefaultAudioDevice();//设置默认输入设备

微软MSDN里面有详细的介绍,望采纳。

8. 如何编程提高语音识别的准确率

语音识别率跟算法有关,不是说想提高就提高的,如果那么容易提高现在语音识别的应用就会很广泛使用,可实际不是这样。

9. 树莓派怎么调用科大讯飞的语音库实现语音识别

语音识别开发平台有很多,具体总结如下:(更详细的介绍参见本人的博文:几个常见的语音交互平台的简介和比较)

1.商业化的语音交互平台
1)微软Speech API

微软的Speech API(简称为SAPI)是微软推出的包含语音识别(SR)和语音合成(SS)引擎的应用编程接口(API),在Windows下应用 广泛。目前,微软已发布了多个SAPI版本(最新的是SAPI 5.4版),这些版本要么作为于Speech SDK开发包发布,要么直接被包含在windows 操作系统中发布。SAPI支持多种语言的识别和朗读,包括英文、中文、日文等。

2).IBM viaVoice
IBM是较早开始语音识别方面的研究的机构之一,早在20世纪50年代末期,IBM就开始了语音识别的研究,计算机被设计用来检测特定的语言 模式并得出声音和它对应的文字之间的统计相关性。1999年,IBM发布了VoiceType的一个免费版。2003年,IBM授权ScanSoft公司拥有基于ViaVoice的桌面产品的全球独家经销权,随后ScanSoft与Nuance合并,如今viaVoice早已淡出人们的视线,取而代之的是Nuance。
3)Nuance

Nuance通讯是一家跨国计算机软件技术公司,总部设在美国马萨诸塞州伯灵顿,主要提供语音和图像方面的解决方案和应用。目前的业务集中 在服务器和嵌入式语音识别,电话转向系统,自动电话目录服务等。Nuance语音技术除了语音识别技术外,还包扩语音合成、声纹识别等技术。世界语音技术市场,有超过80%的语音识别是采用Nuance识别引擎技术, 其名下有超过1000个专利技术,公司研发的语音产品可以支持超过50种语言,在全球拥有超过20亿用户。苹果的iPhone 4S的Siri语音识别中就应用了Nuance的语音识别服务。

4)科大讯飞

科大讯飞作为中国最大的智能语音技术提供商,在智能语音技术领域有着长期的研究积累,并在中文语音合成、语音识别、口语评测等多项 技术上拥有国际领先的成果。占有中文语音技术市场60%以上市场份额,语音合成产品市场份额达到70%以上。

5)其他

其他的影响力较大商用语音交互平台有谷歌的语音搜索(Google Voice Search),网络和搜狗的语音输入法等等。

2.开源的语音交互平台

1)CMU-Sphinx

CMU-Sphinx也简称为Sphinx(狮身人面像),是卡内基 - 梅隆大学( Carnegie Mellon University,CMU)开发的一款开源的语音识别系统, 它包括一系列的语音识别器和声学模型训练工具。最早的Sphinx-I 由@李开复 (Kai-Fu Lee)于1987年左右开发,使用了固定的HMM模型(含3个大小为256的codebook),它被号称为第一个高性能的连续语音识别 系统(在Resource Management数据库上准确率达到了90%+)。 最新的Sphinx语音识别系统包含如下软件包:
? Pocketsphinx — recognizer library written in C.
? Sphinxbase — support library required by Pocketsphinx
? Sphinx4 — adjustable, modifiable recognizer written in Java
? CMUclmtk — language model tools
? Sphinxtrain — acoustic model training tools
这些软件包的可执行文件和源代码在sourceforge上都可以免费下载得到。

2)HTK
HTK是Hidden Markov Model Toolkit(隐马尔科夫模型工具包)的简称,HTK主要用于语音识别研究,最初是由剑桥大学工程学院(Cambridge University Engineering Department ,CUED)的机器智能实验室(前语音视觉及机器人组) 于1989年开发的,它被用来构建CUED的大词汇量的语音识别系统。HTK的最新版本是09年发布的3.4.1版,关于HTK的实现原理和各个工具的使用方法可以参看HTK的文档HTKBook。
3)Julius
Julius是一个高性能、双通道的大词汇量连续语音识别(large vocabulary continues speech recognition,LVCSR)的开源项目, 适合于广大的研究人员和开发人员。它使用3-gram及上下文相关的HMM,在当前的PC机上能够实现实时的语音识别,单词量达到60k个。
4)RWTH ASR
该工具箱包含最新的自动语音识别技术的算法实现,它由 RWTH Aachen 大学的Human Language Technology and Pattern Recognition Group 开发。RWTH ASR工具箱包括声学模型的构建、解析器等重要部分,还包括说话人自适应组件、说话人自适应训练组件、非监督训练组件、个性化 训练和单词词根处理组件等。
5)其他
上面提到的开源工具箱主要都是用于语音识别的,其他的开源语音识别项目还有Kaldi 、simon 、iATROS-speech 、SHoUT 、 Zanzibar OpenIVR 等。

阅读全文

与如何编程语音识别技术相关的资料

热点内容
苹果ios描述文件下载 浏览:237
哪个网站卖动物 浏览:72
投标文件如何导入excel 浏览:775
计算器编程序怎么学 浏览:500
如何知道橱窗卖出的商品是哪个app的 浏览:56
大众宝来点火线圈数据流通道号是多少 浏览:981
手机后台网络怎么关闭 浏览:537
大数据安徽 浏览:563
iphone锁屏密码能破解吗 浏览:964
电信运营商大数据征信 浏览:699
怎么u盘里的文件打不开 浏览:97
如何发word文件怎么打开 浏览:176
惠普还原系统win10教程 浏览:167
iphone6ssunspider 浏览:796
java获取摄像头 浏览:959
怎么用网线传文件 浏览:24
电导增量法matlab程序 浏览:366
手机文件管理在那里 浏览:205
如何取消卸载app的续费 浏览:316
数控编程哪个最容易 浏览:170

友情链接