iOS 语音识别转文字

语音转成文字

这里写图片描述

科大讯飞语音识别技术,支持英文,中文,方言等。识别效率十分迅速,而且准确率官网能够达到97%以上。
在使用过程中,也确实发现,可以商用,或者利用其API进行开发。

使用场景,包含英语学习,单词朗读,语音评测等。

本文介绍如何使用 语音转成文字 的功能

Demo 地址:https://git.coding.net/Xoxo_x/IFlyDemo.git

使用讯飞的SDK,需要进行注册,并添加项目,其SDK与申请的APPID有关,不同的SDK和不同的APPID不能通用

本文的APPID:57d22af3
说明:该id没有被审核,每天使用次数有限

原demo中含有不必要的文件,这里进行了处理。
使用这几个文件,就可以进行语音识别了。

结构如下:

这里写图片描述

/**
语音听写demo
使用该功能仅仅需要四步
1.创建识别对象;
2.设置识别参数;
3.有选择的实现识别回调;
4.启动识别
*/

导入 #import “iflyMSC/iflyMSC.h”

//
//  ViewController.h
//  IFlyDemo
//
//  Created by fsk-0-1-n on 17/2/21.
//  Copyright © 2017年 Xoxo. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "iflyMSC/iflyMSC.h"

@class IFlySpeechRecognizer;
@class IFlyPcmRecorder;

@interface ViewController : UIViewController<IFlySpeechRecognizerDelegate,IFlyRecognizerViewDelegate,IFlyPcmRecorderDelegate>
@property (nonatomic, strong) NSString *pcmFilePath;//音频文件路径
@property (nonatomic, strong) IFlySpeechRecognizer *iFlySpeechRecognizer;//不带界面的识别对象




@property (nonatomic, strong) NSString * result;
@property (nonatomic, assign) BOOL isCanceled;

@property (nonatomic,strong) IFlyPcmRecorder *pcmRecorder;//录音器,用于音频流识别的数据传入

@end

demo录音文件保存路径

- (void)viewDidLoad {
    [super viewDidLoad];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *cachePath = [paths objectAtIndex:0];
    _pcmFilePath = [[NSString alloc] initWithFormat:@"%@",[cachePath stringByAppendingPathComponent:@"asr.pcm"]];
}

/**
设置识别参数
**/


-(void)initRecognizer
{
    NSLog(@"%s",__func__);


        //单例模式,无UI的实例
        if (_iFlySpeechRecognizer == nil) {
            _iFlySpeechRecognizer = [IFlySpeechRecognizer sharedIns
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 引入SDK 在podfile文件中添加以下代码: ``` pod 'QCloudAiSDK' ``` 执行pod install命令,导入SDK。如果有问题可以尝试更新pod库: ``` pod repo update ``` 2. 获取API密钥 在腾讯云官网控制台开通语音识别服务,并获取API密钥。 3. 引入头文件 在需要使用语音识别功能的文件中引入头文件: ```objective-c #import <QCloudCore/QCloudCore.h> #import <QCloudAiPlatformSDK/QCloudAiPlatformSDK.h> ``` 4. 配置SDK参数 创建一个QCloudAuthentationV2对象,并传入API密钥: ```objective-c QCloudCredential* credential = [QCloudCredential new]; credential.secretID = @"您的API密钥ID"; credential.secretKey = @"您的API密钥Key"; credential.expirationDate = [NSDate dateWithTimeIntervalSinceNow:3600*24*30]; QCloudServiceConfiguration* configuration = [QCloudServiceConfiguration new]; configuration.appID = @"您的APPID"; configuration.regionName = @"ap-guangzhou"; configuration.credential = credential; ``` 修改appID和regionName为对应的信息。 5. 调用语音识别API 创建一个QCloudGetRecognitionResultRequest对象,并传入需要识别的音频文件路径和语音识别接口的配置: ```objective-c QCloudGetRecognitionResultRequest* recognitionRequest = [QCloudGetRecognitionResultRequest new]; recognitionRequest.filePath = @"音频文件路径"; recognitionRequest.engineModelType = QCloudASREngineModelType16k_qc; recognitionRequest.voiceFormat = QCloudASRVoiceFormat_MP3; recognitionRequest.hotwordId = @"0"; recognitionRequest.enableFlush = YES; recognitionRequest.enableVad = YES; recognitionRequest.workMode = QCloudASRWorkModeRecognition; recognitionRequest.filterDirty = NO; recognitionRequest.filterModal = NO; recognitionRequest.filterPunc = NO; recognitionRequest.convertNumMode = QCloudASRConvertNumModeWord; recognitionRequest.queryType = QCloudASRQueryTypeJSON; recognitionRequest.channelNum = 1; recognitionRequest.resType = QCloudASRResType16k; recognitionRequest.source = @"sdk"; [[QCloudAiPlatformOCRService sharedInstance] GetRecognitionResult:recognitionRequest appid:@"您的APPID" region:@"ap-guangzhou" configuration:configuration withCompletionHandler:^(id outputObject, NSError *error) { NSLog(@"output: %@, error: %@", outputObject, error); }]; ``` 注释中有每个参数的说明,根据需要调整。 6. 完整代码 ```objective-c #import "ViewController.h" #import <QCloudCore/QCloudCore.h> #import <QCloudAiPlatformSDK/QCloudAiPlatformSDK.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self requestSpeechRecognition]; } - (void)requestSpeechRecognition { QCloudCredential* credential = [QCloudCredential new]; credential.secretID = @"您的API密钥ID"; credential.secretKey = @"您的API密钥Key"; credential.expirationDate = [NSDate dateWithTimeIntervalSinceNow:3600*24*30]; QCloudServiceConfiguration* configuration = [QCloudServiceConfiguration new]; configuration.appID = @"您的APPID"; configuration.regionName = @"ap-guangzhou"; configuration.credential = credential; QCloudGetRecognitionResultRequest* recognitionRequest = [QCloudGetRecognitionResultRequest new]; recognitionRequest.filePath = @"音频文件路径"; recognitionRequest.engineModelType = QCloudASREngineModelType16k_qc; recognitionRequest.voiceFormat = QCloudASRVoiceFormat_MP3; recognitionRequest.hotwordId = @"0"; recognitionRequest.enableFlush = YES; recognitionRequest.enableVad = YES; recognitionRequest.workMode = QCloudASRWorkModeRecognition; recognitionRequest.filterDirty = NO; recognitionRequest.filterModal = NO; recognitionRequest.filterPunc = NO; recognitionRequest.convertNumMode = QCloudASRConvertNumModeWord; recognitionRequest.queryType = QCloudASRQueryTypeJSON; recognitionRequest.channelNum = 1; recognitionRequest.resType = QCloudASRResType16k; recognitionRequest.source = @"sdk"; [[QCloudAiPlatformOCRService sharedInstance] GetRecognitionResult:recognitionRequest appid:@"您的APPID" region:@"ap-guangzhou" configuration:configuration withCompletionHandler:^(id outputObject, NSError *error) { NSLog(@"output: %@, error: %@", outputObject, error); }]; } @end ``` 在上述代码中,获取API密钥的部分需要替换成您的实际信息,其他部分根据需要调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值