2019-07-31 09:55:17 thinktothings 阅读数 1328
  • C++语音识别开篇

    本篇mark老师将教大家使用第三方库的调用来简单的实现语音识别。随着机器学习和人工智能的热闹,国内语音行业也可谓是百花齐放。 语音识别一个伟大的时代已在我们身边悄悄走来。

    6112 人正在学习 去看看 杨波

在线对比

https://aismartvip.com/voice/pk/billing/index

百度阿里语音识别对比

  百度 阿里

格式支持

pcm(不压缩)

wav(不压缩,pcm编码)

amr(压缩格式)

pcm(无压缩的pcm文件或wav文件)

 

Opus

mono

支持语言

中文,英文,粤语,四川话

中文,英文,湖北话,四川话

并发

普通版QPS:2,每秒请求2

       极速版QPS:50,每秒请求50

试用并发:2

商用并发:200

采样率

固定16k 采样率

8000Hz16000Hz

      计费方式          按次计费          按将计费,按时长计费
      时长限制  短语音60秒内,长语音实测超20分钟很容易自动中断,失败率很高 短语音60秒内,
      文件大小限制   录音文件512MB
     自动加标点符号 支持 支持
      时间戳 只有linux支持,超过20分钟时长,自动中断频率很高 支持,精确到每个字或单词的时间戳

 

 

 

 

 

 

 

 

 

 

 

 

 

百度极速版价格

月调用量(万次) 语音识别极速版(元/次)
0<调用次数<=600 0.0042
600<调用次数<=3000 0.0036
3000<调用次数<=6000 0.0029
6000<调用次数<=15000 0.0019
15000<调用次数 0.0014

百度普通版qps价格

QPS购买方式 单价(元)
1QPS/天 80
1QPS/月 1400

阿里调用方式

一句话识别,实时语音识别,录音文件识别

阿里计费方式和报价(预付费方式)

æ°é¢ä»è´¹æ¥ä»·

阿里计费方式和报价(后付费方式)

åä»è´¹æ¹å¼

阿里百度语音识别实测结果

百度阿里语音识别对比

bilibli视频评测: https://www.bilibili.com/video/av61302199

爱奇艺视频评测: https://www.iqiyi.com/v_19rrp089ss.html

统计

  百度 百度极速版 阿里
统计字个数 396 396 396
错误字个数 9 25 26
错误率 6.31% 6.56% 2.27%
       

说明:单一案例数据不能完全反映识别率,但在一定程度上可以反应识别率的高低,以及数据适用广度

详细记录

行号 开始时间 结束时间 时长(秒) 字幕   错误字数 字个数
1 0:00:01.500 0:00:03.930 2.43 (百度)    不爱刷牙的小狮子   0    
(百度极速版)    不爱刷牙的小狮子   0    
(阿里)    不爱刷牙的小狮子   0    
        (人工)    不爱刷牙的小狮子       8
                 
2 0:00:04.350 0:00:09.330 4.98 (百度)    小狮子不讲卫生,不爱刷牙,他的嘴巴越来越臭   0    
        (百度极速版)    小狮子不讲卫生,不爱刷牙,他的嘴巴越来越臭   0    
        (阿里)    小狮子不讲卫生,不爱刷牙,他的嘴巴越来越臭   0    
        (人工)    小狮子不讲卫生,不爱刷牙,他的嘴巴越来越臭       19
                 
3 0:00:09.420 0:00:12.000 2.58 (百度)    有一天,小狮子来找小熊玩   0    
(百度极速版)    有一天,小狮子来找小熊玩   0    
(阿里)    有一天,小狮子来找小熊玩   0    
        (人工)    有一天,小狮子来找小熊玩       11
                 
4 0:00:12.030 0:00:14.970 2.94 (百度)    刚开口说枭雄   4    
(百度极速版)    刚开口说枭雄   4    
(阿里)    他刚开口说,小熊,我   0    
        (人工)    他刚开口说,小熊,我       8
                 
5 0:00:15.540  0:00:19.170 3.63 (百度)    还没说完呢,只听小熊说了句什么吗?   1    
(百度极速版)    话还没说完呢,只听小熊说了句什么味儿   1    
(阿里)    包还没说完呢?只听小熊说了句什么味   1    
        (人工)    话还没说完呢?只听小熊说了句什么味       16
                 
6 0:00:19.380 0:00:21.840 2.46 (百度)    接着扑通一声倒在了地上   0    
(百度极速版)    接着扑通一声倒在了地上   0    
(阿里)    接着扑通一声倒在了地上   0    
        (人工)    接着扑通一声倒在了地上       11
                 
7 0:00:21.990 0:00:25.470 3.48 (百度)    小兔,我们小狮子看了小兔子过来   0    
(百度极速版)    小兔,我们小狮子看了小兔子过来   0    
(阿里)    小兔,我们小狮子看了小兔,走过来   0    
        (人工)    小兔,我们小狮子看了小兔,走过来       14
                 
8 0:00:25.560 0:00:27.780 2.22 (百度)    想好的想和她一起玩   2    
(百度极速版)    想好的想和她一起玩   2    
(阿里)    想,很想和他一起玩   1    
        (人工)    想,想和他一起玩       7
                 
9 0:00:27.840 0:00:31.560 3.72 (百度)    话还没说完呢,小兔头晕晕的说了句   0    
(百度极速版)    他话还没说完呢,小兔头晕晕的说了句   0    
(阿里)    他话还没说完呢?小兔头晕晕的,说了句   0    
        (人工)    他话还没说完呢?小兔头晕晕的,说了句       16
                 
10 0:00:31.710 0:00:35.310 3.6 (百度)    好臭,接着也不通一声倒在了地上   0    
(百度极速版)    好臭,接着也不通一声倒在了地上   0    
(阿里)    好臭,接着也扑通一声,倒在了地上   0    
        (人工)    好臭,接着也扑通一声,倒在了地上       14
                 
11 0:00:35.370 0:00:37.350 1.98 (百度)    小狮子呆呆的看着   0    
(百度极速版)    小狮子呆呆的看着   0    
(阿里)    小狮子呆呆地看着   0    
        (人工)    小狮子呆呆地看着       8
                 
12 0:00:37.410 0:00:38.250 0.84 (百度)    不久   0    
(百度极速版)    ERROR_3301_speech quality error._{"err_msg":"speech quality error.","sn":"789471505981564379425","err_no":3301}_app_id_16038894_qps_200_ACCOUNT_BILLING_1   1    
(阿里)    不久   0    
        (人工)    不久       2
                 
13 0:00:38.310 0:00:43.620 5.31 (百度)    小象甩着鼻子走过来,小狮子张开嘴巴对小象说   4    
(百度极速版)    小象甩着鼻子走过来,小狮子张开嘴巴对小象说   4    
(阿里)    小象甩着鼻子走过来,小狮子张开嘴巴对小象说,小夏,我们   1    
        (人工)    小象甩着鼻子走过来,小狮子张开嘴巴对小象说,小象,我们       24
                 
14 0:00:43.620 0:00:44.520 0.9 (百度)    来玩   0    
(百度极速版)    来玩   0    
(阿里)    来玩   0    
        (人工)    来玩       2
                 
15 0:00:44.880 0:00:47.430 2.55 (百度)    好难闻的气味   0    
(百度极速版)    好难闻的气味   0    
(阿里)    好难闻的气味儿啊   0    
        (人工)    好难闻的气味儿啊       8
                 
16 0:00:47.880 0:00:49.860 1.98 (百度)    小向打了个大喷嚏   1    
(百度极速版)    小向打了个大喷嚏   1    
(阿里)    小象打了个大喷嚏   0    
        (人工)    小象打了个大喷嚏       8
                 
17 0:00:49.890 0:00:52.800 2.91 (百度)    接着也摇摇晃晃的倒在了地上   0    
(百度极速版)    接着也摇摇晃晃的倒在了地上   0    
(阿里)    接着也摇摇晃晃地倒在了地上   0    
        (人工)    接着也摇摇晃晃地倒在了地上       13
                 
18 0:00:53.130 0:00:57.330 4.2 (百度)    小狮子没有找到一个朋友玩儿,他闷闷不乐地回到家   0    
        (百度极速版)    小狮子没有找到一个朋友玩儿,他闷闷不乐地回到家   0    
        (阿里)    小狮子没有找到一个朋友玩,他闷闷不乐的回到家   0    
        (人工)    小狮子没有找到一个朋友玩,他闷闷不乐的回到家       21
                 
19 0:00:57.330 0:00:57.330 2.97 (百度)    这时,他看到出远门的爸爸回来了   0    
(百度极速版)    这时,他看到出远门的爸爸回来了   0    
(阿里)    这时,他看到出远门的爸爸回来了   0    
        (人工)    这时,他看到出远门的爸爸回来了       14
                 
20 0:01:00.330 0:01:03.030 2.7 (百度)    小狮子张嘴巴高高兴兴的哈   1    
(百度极速版)    小狮子张嘴巴高高兴兴的哈   1    
(阿里)    小狮子张嘴巴高高兴兴的喊   0    
        (人工)    小狮子张嘴巴高高兴兴的喊       12
                 
21 0:01:03.510 0:01:04.110 0.6 (百度)    ERROR_3301_speech quality error._{"err_msg":"speech quality error.","sn":"128211790751564379419","err_no":3301}_app_id_16038875_qps_100_ACCOUNT_FREE_100   1    
(百度极速版)    ERROR_3301_speech quality error._{"err_msg":"speech quality error.","sn":"640301391711564379425","err_no":3301}_app_id_16038894_qps_200_ACCOUNT_BILLING_1   1    
(阿里)    爸   0    
        (人工)           1
                 
22 0:01:04.319 0:01:09.630 5.311 (百度)    爸爸突然把鼻子捂住,向后退,他对小事的说天呐,多久没说   4    
(百度极速版)    爸爸突然把鼻子捂住,向后退,他对小事的说天呐,多久没说   4    
(阿里)    爸爸突然把鼻子捂住向后退,他对小狮子说天呐,你多久没摔   1    
        (人工)    爸爸突然把鼻子捂住向后退,他对小狮子说天呐,你多久没刷        
                 
23 0:01:09.630 0:01:14.940  5.31 (百度)    小狮子拿到脖子上的毛,不好意思地说好像   2    
(百度极速版)    小狮子拿到脖子上的毛,不好意思地说好像   2    
(阿里)    刷牙了,小狮子拿到脖子上的毛不好意思地说,好像   2    
        (人工)    刷牙了,小狮子挠挠脖子上的毛不好意思地说,好像   0   21
            0    
24 0:01:15.150 0:01:16.620 1.47 (百度)    好像两个星期   0    
(百度极速版)    好像两个星期   0    
(阿里)    好像两个星期   0    
        (人工)    好像两个星期   0   6
            0    
25 0:01:17.010 0:01:17.760 0.75 (百度)    爸爸   0    
(百度极速版)    爸爸   0    
(阿里)    爸爸   0    
        (人工)    爸爸   0   2
            0    
26 0:01:17.790 0:01:22.620 4.83 (百度)    急忙给小狮子找出牙刷和牙膏,让他仔细刷牙   0    
(百度极速版)    急忙给小狮子找出牙刷和牙膏,让他仔细刷牙   0    
(阿里)    急忙给小狮子找出牙刷和牙膏,让他仔细刷牙   0    
        (人工)    急忙给小狮子找出牙刷和牙膏,让他仔细刷牙       19
                 
27 0:01:22.680 0:01:23.580 0.9 (百度)    一会儿   1    
(百度极速版)    一会儿   1    
(阿里)    坐一会儿   1    
        (人工)    不一会儿       4
                 
28 0:01:23.610 0:01:27.540 3.93 (百度)    狮子把牙齿刷干净了,她的嘴巴一点都不抽了   2    
(百度极速版)    狮子把牙齿刷干净了,她的嘴巴一点都不抽了   2    
(阿里)    小狮子把牙齿刷干净了,他的嘴巴一点都不抽了   1    
        (人工)    小狮子把牙齿刷干净了,他的嘴巴一点都不臭了       20
                 
29 0:01:27.690 0:01:30.450 2.76 (百度)    狮子,把今天的经历说给爸爸听   1    
(百度极速版)    狮子,把今天的经历说给爸爸听   1    
(阿里)    小狮子把今天的经历说给爸爸听   0    
        (人工)    小狮子把今天的经历说给爸爸听       14
                 
30 0:01:30.570  0:01:31.290 0.72 (百度)    宝贝   0    
(百度极速版)    宝贝   0    
(阿里)    宝贝   0    
        (人工)    宝贝       2
                 
31 0:01:31.530 0:01:35.610 4.08 (百度)    以后你一定要早晚按时刷牙,不然嘴巴臭臭的   0    
(百度极速版)    以后你一定要早晚20刷牙,不然嘴巴臭臭的   0    
(阿里)    以后,你一定要早晚按时刷牙,不然,嘴巴臭臭的   0    
        (人工)    以后,你一定要早晚按时刷牙,不然,嘴巴臭臭的       19
                 
32 0:01:35.670 0:01:37.620 1.95 (百度)    都不爱和你玩儿啊!   0    
(百度极速版)    都不爱和你玩儿啊!   0    
(阿里)    小伙伴都不爱,可你玩啊   0    
        (人工)    小伙伴都不爱,和你玩啊       10
                 
33 0:01:37.800 0:01:39.300 1.5 (百度)    爸爸对小狮子说   0    
(百度极速版)    爸爸对小狮子说   0    
(阿里)    爸爸对小狮子说   0    
        (人工)    爸爸对小狮子说       7
                 
34 0:01:39.300 0:01:41.340 2.04 (百度)    狮子听了点了点头   1    
(百度极速版)    狮子听了点了点头   1    
(阿里)    小狮子听了点了点头   0    
        (人工)    小狮子听了点了点头       9
                 
35 0:01:41.550 0:01:46.860 5.31 (百度)    从那以后,小狮子每天都按时刷牙,小伙伴们再也不被他熏倒了   0    
  (百度极速版)    从那以后,小狮子每天都按时刷牙,小伙伴们再也不被他熏倒了   0    
  (阿里)    从那以后,小狮子每天都按时刷牙小伙伴们再也不被他熏到了   0    
        (人工)    从那以后,小狮子每天都按时刷牙小伙伴们再也不被他熏到了       26
                 
                 
    错误率            
总字数: 396              
百度错别字 25 6.31%            
百度极速版错别字 26 6.56%            
阿里 9 2.27%            

 

 

2016-01-02 20:47:58 lc_1581835288 阅读数 10513
  • C++语音识别开篇

    本篇mark老师将教大家使用第三方库的调用来简单的实现语音识别。随着机器学习和人工智能的热闹,国内语音行业也可谓是百花齐放。 语音识别一个伟大的时代已在我们身边悄悄走来。

    6112 人正在学习 去看看 杨波

一.走近讯飞(iFly)

语音技术实现了人机语音交互,使人与机器之间沟通变得像人与人沟通一样简单。语音技术主要包括语音合成和语音识别两项关键技术。让机器说话,用的是语音合成技术;让机器听懂人说话,用的是语音识别技术。此外,语音技术还包括语音编码、音色转换、口语评测、语音消噪和增强等技术,有着广阔应用空间。

  • 早期的语音识别技术让人啼笑皆非, 就连Siri刚出道时, 也是漏洞百出. 但是讯飞通过多年的不懈努力, 最近发展迅速, 这也是技术型项目前期技术积累的必然结果.
  • 百度也推出了自己的语音识别, 但是因为技术积累尚浅, 移植和测试体验尚不如讯飞 – 本条个人观点.

科大讯飞从开始的只做语音识别和语音合成, 到现在的广告+统计+广场+人脸识别+声纹识别+推送, 可以看出它的野心–打造综合性平台, 同时又不放弃专营业务(并且拥有难以记忆的英文缩写和logo).

从使用讯飞的SDK过程中, 还是能感觉到诚意的, 很多设计很人性化, 免费提供了诸多测试和使用接口, 让人好感倍增, 这也是为啥我为其做了这么多广告.

二.搭建环境

登录开发者平台
  • 注册用户并且登录
  • 创建新应用

    选择创建新应用:

    file-listfile-list

    这里可以比较随意填写, 但是注意平台别搞错.

    file-listfile-list
    应用创建好之后, 请记录下讯飞为该APP生成的Appid: 56678310 (每个人都不一样哦)

  • 为新应添加服务

    新创建的应用可以在”我的应用”中查看, 开始的时候, 这个应用没有使用任何SDK, 我们需要向讯飞注册一下我们的app都需要哪些服务.

    file-listfile-list

    点击”开通更多服务”, 选择语言听写和在线语音合成两个SDK, 第一个开发语义是自己添加上的.

    file-listfile-list

  • 下载相应SDK

    进入下载SDK界面, 您可以通过诸多位置进入到这里, 可能与截图不符, 但没有问题.

    file-listfile-list

    这里选择”组合服务SDK下载”, 勾选图中前两个.

    file-listfile-list

    选择平台

    file-listfile-list

    最后选择刚才创建的引用, 之后点击下载.

    file-listfile-list

  • 新建xcode(singleView)工程, 将下载好的文件夹中lib下的iflyMac导入(拖入)工程

  • 添加引用库
    file-listfile-list

三.代码+++++

  • 在storyBoard的viewController中拖入几个控件, 一个UILable用来显示语音翻译后的文字, 两个UIbutton用来触发”带界面的实时翻译”和”不带界面的实时翻译”. 并为他们拖出属性和响应方法.
    如图:
    file-listfile-list

  • appdelegate.m中, 添加如下代码(注册):
    AppDelegate.m 的 didFinishLaunchingWithOptions中:

    1
    2
    3
    4
    5
    6
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // 根据appid登录到讯飞的服务器, 过程需要身份验证 , 56678310
        NSString *initString = [[NSString alloc] initWithFormat:@"appid=%@",@"你的appid, 别用我的"];
        [IFlySpeechUtility createUtility:initString];
        return YES;
    }
    

下面是写好后的ViewController代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151

#import "ViewController.h"
#import <iflyMSC/iflyMSC.h>
// 这个头文件是做什么的呢?
#import "ISRDataHelper.h"
// 还有这个.
#import "IATConfig.h"


@interface ViewController ()<IFlyRecognizerViewDelegate, IFlySpeechRecognizerDelegate>
// 翻译好的Text会展示在这个label上.
@property (weak, nonatomic) IBOutlet UILabel *textView;

/*!
 *  语音识别控件
 *    录音时触摸控件结束录音,开始识别(相当于旧版的停止);触摸其他位置,取消录音,结束会话(取消)
 *  出错时触摸控件,重新开启会话(相当于旧版的再说一次);触摸其他位置,取消录音,结束会话(取消)
 *
 */
@property (nonatomic,strong)IFlyRecognizerView * iflyRecognizerView;

/*!
 *  语音识别类
 *   此类现在设计为单例,你在使用中只需要创建此对象,不能调用release/dealloc函数去释放此对象。所有关于语音识别的操作都在此类中。
 */
@property (nonatomic, strong)IFlySpeechRecognizer * iFlySpeechRecognizer;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 语音识别视图空间及配置.
    [self initRecognizerView];
    
    // 语音识别类的初始化及配置.
    [self initSpeechRecognizer];
}

// !!!:语音识别视图空间及配置--方法.
-(void)initRecognizerView{
    _iflyRecognizerView = [[IFlyRecognizerView alloc] initWithCenter:self.view.center];
    _iflyRecognizerView.delegate = self;
    [_iflyRecognizerView setParameter: @"iat" forKey: [IFlySpeechConstant IFLY_DOMAIN]];
    //asr_audio_path保存录音文件名,如不再需要,设置value为nil表示取消,默认目录是documents
    [_iflyRecognizerView setParameter:@"asrview.pcm " forKey:[IFlySpeechConstant ASR_AUDIO_PATH]];
}
// !!!:语音识别类的初始化及配置--方法.
-(void)initSpeechRecognizer{
    //单例模式,无UI的实例
    if (_iFlySpeechRecognizer == nil) {
        _iFlySpeechRecognizer = [IFlySpeechRecognizer sharedInstance];
        
        [_iFlySpeechRecognizer setParameter:@"" forKey:[IFlySpeechConstant PARAMS]];
        
        //设置听写模式
        [_iFlySpeechRecognizer setParameter:@"iat" forKey:[IFlySpeechConstant IFLY_DOMAIN]];
    }
    _iFlySpeechRecognizer.delegate = self;
    
    if (_iFlySpeechRecognizer != nil) {
        IATConfig *instance = [IATConfig sharedInstance];
        
        //设置最长录音时间
        [_iFlySpeechRecognizer setParameter:instance.speechTimeout forKey:[IFlySpeechConstant SPEECH_TIMEOUT]];
        //设置后端点
        [_iFlySpeechRecognizer setParameter:instance.vadEos forKey:[IFlySpeechConstant VAD_EOS]];
        //设置前端点
        [_iFlySpeechRecognizer setParameter:instance.vadBos forKey:[IFlySpeechConstant VAD_BOS]];
        //网络等待时间
        [_iFlySpeechRecognizer setParameter:@"20000" forKey:[IFlySpeechConstant NET_TIMEOUT]];
        
        //设置采样率,推荐使用16K
        [_iFlySpeechRecognizer setParameter:instance.sampleRate forKey:[IFlySpeechConstant SAMPLE_RATE]];
        
        if ([instance.language isEqualToString:[IATConfig chinese]]) {
            //设置语言
            [_iFlySpeechRecognizer setParameter:instance.language forKey:[IFlySpeechConstant LANGUAGE]];
            //设置方言
            [_iFlySpeechRecognizer setParameter:instance.accent forKey:[IFlySpeechConstant ACCENT]];
        }else if ([instance.language isEqualToString:[IATConfig english]]) {
            [_iFlySpeechRecognizer setParameter:instance.language forKey:[IFlySpeechConstant LANGUAGE]];
        }
        //设置是否返回标点符号
        [_iFlySpeechRecognizer setParameter:instance.dot forKey:[IFlySpeechConstant ASR_PTT]];
    }
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

// !!!: push界面的识别,点击事件
- (IBAction)voiceToText:(id)sender {
    [self.iflyRecognizerView start];
}

// !!!: 触发语音识别类的点击事件
- (IBAction)voiceToTextWithoutUI:(id)sender {
    self.textView.text = @"";
    // 这个需要手动停止翻译.
    [_iFlySpeechRecognizer cancel];
    
    //设置音频来源为麦克风
    [_iFlySpeechRecognizer setParameter:IFLY_AUDIO_SOURCE_MIC forKey:@"audio_source"];
    
    //设置听写结果格式为json
    [_iFlySpeechRecognizer setParameter:@"json" forKey:[IFlySpeechConstant RESULT_TYPE]];
    
    //保存录音文件,保存在sdk工作路径中,如未设置工作路径,则默认保存在library/cache下
    [_iFlySpeechRecognizer setParameter:@"asr.pcm" forKey:[IFlySpeechConstant ASR_AUDIO_PATH]];
    
    [_iFlySpeechRecognizer setDelegate:self];
    
    [_iFlySpeechRecognizer startListening];
}

// !!!:实现代理方法
// !!!:注意有没有s, 语音识别的结果回调(带界面的那个)
-(void)onResult:(NSArray *)resultArray isLast:(BOOL)isLast
{
    NSMutableString *result = [[NSMutableString alloc] init];
    NSDictionary *dic = [resultArray objectAtIndex:0];
    for (NSString *key in dic) {
        [result appendFormat:@"%@",key];
    }
    
    // 注意: 语音识别回调返回结果是一个json格式字符串, 解析起来比较麻烦, 但是我们只需要其中的字符串部分, 这个过程讯飞也觉得麻烦, 就推出了一个工具类, 能将这个josn解析最终字符串返回. 这也是前面导入ISRDataHelper.h的作用.
    NSString * resu = [ISRDataHelper stringFromJson:result];
    self.textView.text = [NSString stringWithFormat:@"%@%@",self.textView.text,resu];
}
// !!!:解析失败代理方法
-(void)onError:(IFlySpeechError *)error
{
    NSLog(@"解析失败了");
}

// !!!:语音识别类的回调方法(不带界面的那个)
- (void) onResults:(NSArray *) results isLast:(BOOL)isLast{
    NSMutableString *result = [[NSMutableString alloc] init];
    NSDictionary *dic = [results objectAtIndex:0];
    for (NSString *key in dic) {
        [result appendFormat:@"%@",key];
    }
    NSString * resu = [ISRDataHelper stringFromJson:result];
    self.textView.text = [NSString stringWithFormat:@"%@%@", self.textView.text, resu];
}

@end

在上面的代码中, 使用了两个类:

1
2
#import "ISRDataHelper.h"
#import "IATConfig.h"

他们的功能已经在注释中说明, 那么这两个类的源文件怎办呢… 让我想想…
算了, 最后我把这个工程传到git上吧. 你们从哪里扒下来就好了.

四.语音合成

其实iOS自带语音合成, 我们不必使用讯飞也可以达到这样的效果, 下面的代码能让你的APP读出这些文字.
Appdelegate.m中, 添加一个延展, 并且 didFinishLaunchingWithOptions 中添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@interface AppDelegate ()
@property(nonatomic,strong)AVSpeechSynthesizer * speechSynthesizer; // 合成器
@property(nonatomic,strong)AVSpeechUtterance * speechUtterance; // 合成器所说的内容
@end

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    
    self.speechSynthesizer = [[AVSpeechSynthesizer alloc] init];
    
    self.speechUtterance = [[AVSpeechUtterance alloc] initWithString:@"啪啪啪"];
    
    [self.speechSynthesizer  speakUtterance:self.speechUtterance];
    
    return YES;
}

运行之后, app能读出”啪啪啪”. 女性发音效果更好.


  • 使用讯飞实现啪啪啪的功能
    我们直接在上面的工程里添加吧.
    首先在sb中的viewcontroller里, 再拖一个textfiled, 我们让讯飞朗读textfiled中的内容.
    file-listfile-list

viewController.m, 这个将三个功能写到了同一个controller中.比较臃肿, 你们自己捋顺一下, 封装成类, 供以后使用.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
#import "ViewController.h"
#import <iflyMSC/iflyMSC.h>
#import "ISRDataHelper.h"
#import "IATConfig.h"

#import "PcmPlayerDelegate.h"
#import "PcmPlayer.h"
#import "TTSConfig.h"

typedef NS_OPTIONS(NSInteger, SynthesizeType) {
    NomalType           = 5,//普通合成
    UriType             = 6, //uri合成
};

@interface ViewController ()<IFlyRecognizerViewDelegate, IFlySpeechRecognizerDelegate, IFlySpeechRecognizerDelegate>
// 翻译好的Text会展示在这个label上.
@property (weak, nonatomic) IBOutlet UILabel *textView;
// 朗读这里的内容.
@property (weak, nonatomic) IBOutlet UITextField *VoiceText;

/*!
 *  语音识别控件
 *    录音时触摸控件结束录音,开始识别(相当于旧版的停止);触摸其他位置,取消录音,结束会话(取消)
 *  出错时触摸控件,重新开启会话(相当于旧版的再说一次);触摸其他位置,取消录音,结束会话(取消)
 *
 */
@property (nonatomic,strong)IFlyRecognizerView * iflyRecognizerView;

/*!
 *  语音识别类
 *   此类现在设计为单例,你在使用中只需要创建此对象,不能调用release/dealloc函数去释放此对象。所有关于语音识别的操作都在此类中。
 */
@property (nonatomic, strong)IFlySpeechRecognizer * iFlySpeechRecognizer;


@property (nonatomic, strong) IFlySpeechSynthesizer * iFlySpeechSynthesizer;//语音合成对象
@property (nonatomic, strong) PcmPlayer *audioPlayer;//用于播放音频的
@property (nonatomic, assign) SynthesizeType synType;//是何种合成方式
@property (nonatomic, assign) BOOL hasError;//将解析过程中是否出现错误
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 语音识别视图空间及配置.
    [self initRecognizerView];
    
    // 语音识别类的初始化及配置.
    [self initSpeechRecognizer];
 
    // 初始化语音合成
    [self initMakeVoice];
}
// !!!:语音识别视图空间及配置--方法.
-(void)initRecognizerView{
    _iflyRecognizerView = [[IFlyRecognizerView alloc] initWithCenter:self.view.center];
    _iflyRecognizerView.delegate = self;
    [_iflyRecognizerView setParameter: @"iat" forKey: [IFlySpeechConstant IFLY_DOMAIN]];
    //asr_audio_path保存录音文件名,如不再需要,设置value为nil表示取消,默认目录是documents
    [_iflyRecognizerView setParameter:@"asrview.pcm " forKey:[IFlySpeechConstant ASR_AUDIO_PATH]];
}
// !!!:语音识别类的初始化及配置--方法.
-(void)initSpeechRecognizer{
    //单例模式,无UI的实例
    if (_iFlySpeechRecognizer == nil) {
        _iFlySpeechRecognizer = [IFlySpeechRecognizer sharedInstance];
        
        [_iFlySpeechRecognizer setParameter:@"" forKey:[IFlySpeechConstant PARAMS]];
        
        //设置听写模式
        [_iFlySpeechRecognizer setParameter:@"iat" forKey:[IFlySpeechConstant IFLY_DOMAIN]];
    }
    _iFlySpeechRecognizer.delegate = self;
    
    if (_iFlySpeechRecognizer != nil) {
        IATConfig *instance = [IATConfig sharedInstance];
        
        //设置最长录音时间
        [_iFlySpeechRecognizer setParameter:instance.speechTimeout forKey:[IFlySpeechConstant SPEECH_TIMEOUT]];
        //设置后端点
        [_iFlySpeechRecognizer setParameter:instance.vadEos forKey:[IFlySpeechConstant VAD_EOS]];
        //设置前端点
        [_iFlySpeechRecognizer setParameter:instance.vadBos forKey:[IFlySpeechConstant VAD_BOS]];
        //网络等待时间
        [_iFlySpeechRecognizer setParameter:@"20000" forKey:[IFlySpeechConstant NET_TIMEOUT]];
        
        //设置采样率,推荐使用16K
        [_iFlySpeechRecognizer setParameter:instance.sampleRate forKey:[IFlySpeechConstant SAMPLE_RATE]];
        
        if ([instance.language isEqualToString:[IATConfig chinese]]) {
            //设置语言
            [_iFlySpeechRecognizer setParameter:instance.language forKey:[IFlySpeechConstant LANGUAGE]];
            //设置方言
            [_iFlySpeechRecognizer setParameter:instance.accent forKey:[IFlySpeechConstant ACCENT]];
        }else if ([instance.language isEqualToString:[IATConfig english]]) {
            [_iFlySpeechRecognizer setParameter:instance.language forKey:[IFlySpeechConstant LANGUAGE]];
        }
        //设置是否返回标点符号
        [_iFlySpeechRecognizer setParameter:instance.dot forKey:[IFlySpeechConstant ASR_PTT]];
    }
}

// !!!:语音合成的初始化
-(void)initMakeVoice{
    TTSConfig *instance = [TTSConfig sharedInstance];
    if (instance == nil) {
        return;
    }
    
    //合成服务单例
    if (_iFlySpeechSynthesizer == nil) {
        _iFlySpeechSynthesizer = [IFlySpeechSynthesizer sharedInstance];
    }
    
    _iFlySpeechSynthesizer.delegate = self;
    
    //设置语速1-100
    [_iFlySpeechSynthesizer setParameter:instance.speed forKey:[IFlySpeechConstant SPEED]];
    
    //设置音量1-100
    [_iFlySpeechSynthesizer setParameter:instance.volume forKey:[IFlySpeechConstant VOLUME]];
    
    //设置音调1-100
    [_iFlySpeechSynthesizer setParameter:instance.pitch forKey:[IFlySpeechConstant PITCH]];
    
    //设置采样率
    [_iFlySpeechSynthesizer setParameter:instance.sampleRate forKey:[IFlySpeechConstant SAMPLE_RATE]];
    
    //设置发音人
    [_iFlySpeechSynthesizer setParameter:instance.vcnName forKey:[IFlySpeechConstant VOICE_NAME]];
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

// !!!: push界面的识别,点击事件
- (IBAction)voiceToText:(id)sender {
    [self.iflyRecognizerView start];
}
// !!!: 触发语音识别类的点击事件
- (IBAction)voiceToTextWithoutUI:(id)sender {
    self.textView.text = @"";
    [_iFlySpeechRecognizer cancel];
    
    //设置音频来源为麦克风
    [_iFlySpeechRecognizer setParameter:IFLY_AUDIO_SOURCE_MIC forKey:@"audio_source"];
    
    //设置听写结果格式为json
    [_iFlySpeechRecognizer setParameter:@"json" forKey:[IFlySpeechConstant RESULT_TYPE]];
    
    //保存录音文件,保存在sdk工作路径中,如未设置工作路径,则默认保存在library/cache下
    [_iFlySpeechRecognizer setParameter:@"asr.pcm" forKey:[IFlySpeechConstant ASR_AUDIO_PATH]];
    
    [_iFlySpeechRecognizer setDelegate:self];
    
    [_iFlySpeechRecognizer startListening];
}
- (IBAction)speechAction:(id)sender {
    if ([self.VoiceText.text isEqualToString:@""]) {
        return;
    }
    
    if (_audioPlayer != nil && _audioPlayer.isPlaying == YES) {
        [_audioPlayer stop];
    }
    
    _synType = NomalType;
    
    self.hasError = NO;
    [NSThread sleepForTimeInterval:0.05];
    _iFlySpeechSynthesizer.delegate = self;
    [_iFlySpeechSynthesizer startSpeaking:self.VoiceText.text];
}

// !!!:实现代理方法
// !!!:注意有没有s, 语音识别的结果回调
-(void)onResult:(NSArray *)resultArray isLast:(BOOL)isLast
{
    NSMutableString *result = [[NSMutableString alloc] init];
    NSDictionary *dic = [resultArray objectAtIndex:0];
    for (NSString *key in dic) {
        [result appendFormat:@"%@",key];
    }
    
    // 注意: 语音识别回调返回结果是一个json格式字符串, 解析起来比较麻烦, 但是我们只需要其中的字符串部分, 这个过程讯飞也觉得麻烦, 就推出了一个工具类, 能将这个josn解析最终字符串返回. 这也是前面导入ISRDataHelper.h的作用.
    NSString * resu = [ISRDataHelper stringFromJson:result];
    self.textView.text = [NSString stringWithFormat:@"%@%@",self.textView.text,resu];
}
// !!!:解析失败代理方法
-(void)onError:(IFlySpeechError *)error
{
    NSLog(@"解析失败了");
}

// !!!:语音识别类的回调方法
//语音合成回调函数
- (void) onResults:(NSArray *) results isLast:(BOOL)isLast{
    NSMutableString *result = [[NSMutableString alloc] init];
    NSDictionary *dic = [results objectAtIndex:0];
    for (NSString *key in dic) {
        [result appendFormat:@"%@",key];
    }
    NSString * resu = [ISRDataHelper stringFromJson:result];
    self.textView.text = [NSString stringWithFormat:@"%@%@", self.textView.text, resu];
}
@end
2019-06-30 17:06:07 weixin_38358881 阅读数 1138
  • C++语音识别开篇

    本篇mark老师将教大家使用第三方库的调用来简单的实现语音识别。随着机器学习和人工智能的热闹,国内语音行业也可谓是百花齐放。 语音识别一个伟大的时代已在我们身边悄悄走来。

    6112 人正在学习 去看看 杨波

语音识别

LibriSpeech ASR corpus

LibriSpeech 数据集
共将近1000个小时的数据集。分为clean和other两类。具体见链接。

WER评价指标

WER means " word error rate"
对于语音识别的预测结果,需要对此结果进行替换删除、插入某些词使之和标注词序列完全相同。修改的总词数比上标注词序列的个数即为WER,此项指标越低越好。具体计算公式如下,其中替换误差加权为1,删除和插入的误差加权为0.5
在这里插入图片描述
WER的取值范围是最小是0,最大可以大于1。此外,类似的评价指标还有SER,CER,仅仅是粗细粒度不同,计算方式相同。

2019-11-08 10:49:05 qq_37820249 阅读数 38
  • C++语音识别开篇

    本篇mark老师将教大家使用第三方库的调用来简单的实现语音识别。随着机器学习和人工智能的热闹,国内语音行业也可谓是百花齐放。 语音识别一个伟大的时代已在我们身边悄悄走来。

    6112 人正在学习 去看看 杨波

转载自
https://blog.csdn.net/tbl1234567/article/details/70173330
https://blog.csdn.net/xiaoding133/article/details/8842945
https://blog.csdn.net/fzyjsy/article/details/83041149

一.会议

1.1国际最顶尖会议

ICASSP:International Conference on Acoustics, Speech and Signal Processing 每年一届,10月截稿,次年5月开会。国际声学语言和信号处理的旗舰会议,ICASSP是信号处理领域最权威的会议之一,是声学、语音信号处理方面最顶级的学术会议,也是图像、视频信号处理领域的权威会议之一,每年举办一次。其学术水平和影响力在语音信号处理领域属于最重要的国际会议。
ICSLP:International Conference on Semiconductor Laser and Photonics 偶数年举办,4月截稿,9月开会
EuroSpeech:European Conference on Speech Communication and Technology 奇数年举办,4月截稿,9月开会
附上2019年Interspeech会议的论文集:
https://www.isca-speech.org/archive/Interspeech_2019/

1.2其他

ICSMC:Int l Conference on Systems, Man & Cybernetics
NAECON:National Aerospace and Electronics Conference
ICTTA:International Conference on Telecommunication Technology and Applications
ISSPA: Information Sciences, Signal Processing and their Applications
ISPACS:International Symposium on Intelligent Signal Processing and Communications Systems
SBEC:Southern Biomedical Engineering Conference
ICAPR:International Conference on Advances in Pattern Recognition
ICOSP: International Conference on Signal Processing Proceedings
ICSLP: International Conference on Spoken Language Processing
ICICIC:International Conference on Innovative Computing, Information and Control
IEMBS:Institute of Electrical and Electronics Engineers
NLPKE: Natural Language Processing and Knowledge Engineering
IECON:Conference of the IEEE Industrial Electronics Society
ICCT:International Council on Clean Transportation
ASRU:Automatic Speech Recognition and Understanding
ISCAS:International Symposium on Circuits and Systems
ISPACS:International Symposium on Intelligent Signal Processing and Communications Systems
ICDSP:International Conference on Digital Signal Processing
SPAWC:signal processing advances in wireless communications
ICCSIT: International Conference on Computer Science and Information Technology
ICSE: International Conference on Software Engineering
ICIAS:International Conference on Intelligent and Advanced Systems
TENCON:Technical Environmental Consulting
ICFCC:International Conference on Future Computer and Communication
WCICA:World Congress on Intelligent Control and Automation
MMSP:international workshop on multimedia signal processing
IROS: Intelligent Robots and Systems
ICSDA: INTERNATIONAL COMBATIVES SELF DEFENSE ASSOCIATION
ICCCE:International Conference on Computer and Communication Engineering
其他的会议还有:ISPA,ASPAA,INDICO,NetCom等

二. 期刊

2.1国内

声学学报
应用声学
声学工程
信号处理
电子学报

2.2国外:

IEEE Signal Processing Magazine (IF:2.655),一年6期,是双月刊)
Computer Speech and Language (CSL)(IF:1.776)
Digital Signal Processing(IF: 0.889)
IEE Electronics Letters (IF:1.063)
IEEE Signal Processing Letters (SPL)---(IF: 0.722)
IEEE Transactions on Audio, Speech and Language Processing (IF:2.950)
IEEE Transactions on Circuits and Systems-II: Express Briefs (CAS-II)---(IF:0.922)
IEEE Transactions on Signal Processing (TSP)-- (IF:1.57)
IEEE Transactions on Circuits and Systems-I: Regular Papers (CAS-I)---(IF:1.139)
IET Signal Processing(IF:1.250)
Signal Processing (IF: 0.669)
Signal Processing: Image Communication (IF: 1.109)
Speech Communication(IF:1.585)其中IF为影响因子

三.国际语音识别技术研究机构

AT&T  http://www.research.att.com/editions/201304_home.html
ATR    http://www.slt.atr.co.jp/index.html
BBN    http://www.bbn.com/technology/speech_recognition/
Cambridge University Engineering Department (CUED) http://mi.eng.cam.ac.uk/
Carnegie Mellon University (CMU) 
HP Labs   http://www.hpl.hp.com/
Columbia University 
Centre for Speech Technology Research at Edinburgh University 
ESAT - PSI Speech Group at K.U.Leuven 
International Computer Science Institute (ICSI) 
IBM Human Language Technologies     http://www.research.ibm.com/hlt/
IDIAP Research Institute 
INESC-ID Lisboa, Spoken Language Systems Lab 
IRST 
ISIP 
Johns Hopkins University (CLSP) 
Speech, Music and Hearing at KTH 
LIMSI 
Alcatel Lucent (Bell Labs)  http://www.alcatel-lucent.com/wps/portal/BellLabs
Microsoft    http://research.microsoft.com/en-us/groups/speech/
MIT Spoken Language Systems 
Oregon Graduate Institute (OGI) Center for Spoken Language Understanding 
Speech and Language Processing Laboratory at Rutgers University 
RWTH Aachen 
University of Colorado, Boulder (CLEAR) 
University of Sheffield 
SRI 
Furui Laboratory, Tokyo Institute of Technology 
University of Illinois at Urbana and Champaign 
University of Washington 
Universitaet Erlangen-Nürnberg
剑桥大学 http://htk.eng.cam.ac.uk/
CMU大学 http://www.speech.cs.cmu.edu/
张智星 语音识别,机器学习 http://mirlab.org/jang/
安徽科大讯飞 http://www.iflytek.com/

四.国际语音识别技术评测

NIST Spoken Language Technology Evaluations Benchmark Tests
(http://www.nist.gov/speech/tests/index.htm)

五. 语音识别技术工具包

AT&T FSM Library
CMU-Cambridge Statistical LM Toolkit
CMU Sphinx
CSLU toolkit
CUED HTK
Edinburgh Speech Tools Library
KTH WaveSurfer
MSState ASR Toolkit
NIST Utility Software
SPRACHcore software package
SRI Language Modelling Toolkit
SoX – Sound eXchange
Transcriber
UCL Speech Filing System
FBVIEW multi-channel audio file viewer

1.6语音识别网站及相关论坛

http://www.voxforge.org/home/forums/message-boards/acoustic-model-discussions
http://bbs.matwav.com
http://www.yuyinshibie.com/
http://www.ctiforum.com/voice.html
http://liceu.uab.es/~joaquim/phonetics/fon_anal_acus/herram_anal_acus.html
http://www.phon.ucl.ac.uk/resource/scribe/

六.主页和博客

 1.bill  xia 的博客:http://ibillxia.github.io/blog/categories/assp/            这个大神的博客有深度学习的一些东西,有用。

  2.zouxy09的博客:http://blog.csdn.net/zouxy09/article/category/1218766   zouxy09大神对深度学习和机器学习都有研究,博客质量很高的

  3.台湾张智星教授的主页:http://mirlab.org/jang/    里面有一个语音课:音频信号处理和识别

  4.cmu大学的语音组:http://www.speech.cs.cmu.edu/   里面有很多链接

  5. dan ellis教授的主页:  http://www.ee.columbia.edu/~dpwe/    里面有很多工具箱

  6.dan povey大神的主页:http://www.danielpovey.com/index.html  kaldi的资料很多

  7.微软邓力老师的主页:http://research.microsoft.com/en-us/people/deng/  关于深度学习的语音识别资料

  8.王德江老师的主页:http://www.cse.ohio-state.edu/~dwang/pnl/software.html 关于语音识别 语音分离,音乐分离

  9.国外大神SnippyHolloW的github主页:https://github.com/SnippyHolloW

 10.自然语言处理的论坛:http://www.threedweb.cn/portal.php    非常多的资源

语音识别与合成
Speech at Carnegie Mellon University
鼎鼎大名的CMU语音组。著名的Sphinx系统的诞生地,李开复当年作研究的地方
http://fife.speech.cs.cmu.edu/
The Center for Language and Speech Processing (CLSP) at The Johns Hopkins University
著名的Jelinek教授领导的语言与语音处理组
http://www.clsp.jhu.edu/
Speech Research-----确是非常全的一个网站
国外比较全的一个语音技术研究的链接
http://mambo.ucsc.edu/psl/speech.html
Signal Compression Lab, Department of Electrical and Computer Engineering
著名的Allen Gersho教授所在的实验室-University of California, Santa Babra。该实验室包括好几位杰出的教授,像K.Rose, V. Cuperman等等。该校非常令人尊敬的地方是从这里毕业的学生有很多后来都成为了学术科研上的佼佼者
http://scl.ece.ucsb.edu/index.htm
The Speech Recognition Group
Rutgers大学CAPI中心下的语音识别组。论文集Modern Methods of Speech Processing中的R.P. Ramachandran就是该中心的教授
http://www.caip.rutgers.edu/ARPA-SLT
Speech Processing Laboratory at at Michigan State University
著名的Deller教授所领导的语音处理研究组
http://www.egr.msu.edu/~deller/speechlab_people.html
Purdue University Speech and Language Processing Research Group
Purdue大学语音处理研究组
http://wavelet.ecn.purdue.edu/~speechg
还有一个比较有名的做语音的科研机构, 日本名古屋工业大学的Keiichi TOKUDA教授,
他们在基于参数的语音合成领域非常有名气的, 他们开发的HTS平台目前的应用也非常广泛.
对于研究语音合成和语音识别的人会有帮助.地址如下:
http://www.sp.nitech.ac.jp/
HTS的主页为:
http://hts.sp.nitech.ac.jp/

语音识别工具箱:

1.kaldi:http://kaldi.sourceforge.net/

2.htk:http://htk.eng.cam.ac.uk/

3.RWTH:http://www-i6.informatik.rwth-aachen.de/rwth-asr/

4.sphinx:http://cmusphinx.sourceforge.net/

5.julius:http://julius.sourceforge.jp/en_index.php

说话人识别:

1.微软的开源库MSR Identity Toolkit v1.0:http://research.microsoft.com/en-us/downloads/a6262fec-03a7-4060-a08c-0b0d037a3f5b/

2.王德江老师的主页也有说话人识别的资料:http://www.cse.ohio-state.edu/~dwang/pnl/software.html

2018-11-12 15:33:01 qq_23057733 阅读数 3967
  • C++语音识别开篇

    本篇mark老师将教大家使用第三方库的调用来简单的实现语音识别。随着机器学习和人工智能的热闹,国内语音行业也可谓是百花齐放。 语音识别一个伟大的时代已在我们身边悄悄走来。

    6112 人正在学习 去看看 杨波
会议室实拍图

大家好,现在已经到了2018年的年底了,作为一个语音识别行业内的工作者,我想写一篇文章,来给大家测试一下,目前市面上各大"语音识别"引擎的实际识别效果,本文仅作为交流学习使用.

一、识别引擎

1、捷通华声(支持中文、英文、粤语)

2、云知声(支持中文)

3、百度(支持中文、英文、粤语)

4、科大讯飞(支持中文、英文、粤语、等十四种方言以上)

5、阿里云(支持中文)

6、有道云(支持中文以及英语)

二、测试项目

声音内容涉及:时间、地区、常用语、人名、金额、新闻稿内容

1.近距离录音测试(首先我们会准备一段对着手机以及录音笔说话的清晰录音,测试以上6款识别引擎识别的效果)

2.远距离录音测试(我们会准备二段录音,分别距离为1米和3米,采用录音笔以及手机进行录音,并测试声音识别情况,对比各家识别引擎的错误率)

3.新闻稿发音人声音测试(采用标准发音,慢速测试每个识别引擎的识别情况,对比正确率)

三、测试参数

为了保证测试的公平性,所有测试录音,统一转换为

采样率 :16000 

编码:16bit 位深的单声道。

手机:Galaxys9+

录音笔:新科V-19

语音识别软件:录音啦

录音环境:室内会议室(无杂音)

语言类型:中文普通话

四、测试过程

一米距离录音

 

3米距离录音

一、手机录音”近距离[演讲稿]:

北京时间11月12日,2018-2019赛季短道速滑世界杯第二站在美国盐湖城继续进行,在男子500米比赛中武大靖以39秒505的成绩夺冠,并打破自己在平昌冬奥会上创造的39秒584的世界纪录。继上周两次登顶后,武大靖在500米项目上实现三连冠,成为该项目上当之无愧的霸主。

二、“手机录音”识别引擎近距离[演讲稿]识别结果

三、“手机录音”1米远距离录音原文:

关于王总的商业报告书我看了,大家打开第九页,文章中提到了“语音识别”行业的发展趋势正在迅速发展,我希望大家能够牢牢把握机会,争取在2018年的年底,把11月份,12月份的资料。详细的数据整理出来

四、“手机录音”识别引擎1米远录音识别结果

五、“手机录音”3米远距离录音原文:

2003年12月24日开工建设,2008年3月完工,总造价22.67亿元。作为国家标志性建筑,2008年奥运会主体育场,国家体育场结构特点十分显著。体育场为特级体育建筑,大型体育场馆。主体结构设计使用年限100年,耐火等级为一级,抗震设防烈度8度,地下工程防水等级1级。

 

六、“手机录音”识别引擎3米远录音识别结果

七、录音笔”近距离原文:

今天是2018年11月12日,我们在广东省广州市番禺区市桥街,小明将给大家介绍一下周杰伦演唱的歌曲,如“黑色毛衣”“七里香”等歌曲,都充满了年轻人的回忆。

 

八、录音笔”近距离识别结果:

九、录音笔”3米距离[演讲稿]

2003年12月24日开工建设,2008年3月完工,总造价22.67亿元。作为国家标志性建筑,2008年奥运会主体育场,国家体育场结构特点十分显著。体育场为特级体育建筑,大型体育场馆。主体结构设计使用年限100年,耐火等级为一级,抗震设防烈度8度,地下工程防水等级1级。

十、录音笔”3米距离识别结果:

十一、得出对比图以及结论

评分规则:

1.最佳得:3分

2.推荐得:2分

3.效果不理想得:1 分

总结:

1.在近距离的"手机"和"录音笔"录音中,各大识别引擎识别出来的文字效果都不错,会存在部分错别字,对于数字类的识别,推荐选用“云知声”,文字显示的比较直观,对于人名,歌曲名,捷通华声、云知声、科大讯飞、阿里云、有道云的识别效果都非常不错

2.录音距离超过或者等于3米的,首选“云知声”识别引擎,丢字率比较低,识别的完整性较高

3.对比“手机”和“录音笔”由于手机属于近距离录音设备,在对比三米录音距离下,除了“云知声”其他的识别引擎文字丢失率比较严重。

4.对于近距离的录音,每个识别引擎出来的文字相差不大

5.请注意!本次测试仅限与学习交流,实际不同录音识别效果会有差异

感谢您的阅读,如果有什么疑问或建议,欢迎在评论区评论……

iOS 语音识别转文字

阅读数 2397

没有更多推荐了,返回首页