帖子

iOS语音转汉字的问题

[复制链接]

该用户从未签到

21354  楼主| wanghuizhou21@1 发表于 2018-10-23 15:16:41 1#
使用SDK提供的转换汉字功能,转换出来的结果有点太不靠谱了。从贵公司在网页上提供的转换功能,转换结果还是说的过去的!!!
请问是我写的有问题吗?

下面是我识别语音的代码
  1. // 开始识别
  2. - (void)startRec {
  3.     // pcm和wav格式的音频
  4.     self.iflySpeechRecognizer = [IFlySpeechRecognizer sharedInstance];
  5.     //设置音频源为音频流(-1)
  6.     [self.iflySpeechRecognizer setParameter:@"-1" forKey:@"audio_source"];
  7. //    self.iflySpeechRecognizer.delegate = self;
  8.     self.showText = [NSMutableString new];
  9.     //启动识别服务
  10.     [self.iflySpeechRecognizer startListening];
  11.     //写入音频数据
  12.     NSString * path = [[NSBundle mainBundle] pathForResource:@"zk.wav" ofType:nil];
  13.     NSData *data = [NSData dataWithContentsOfFile:path];
  14.     [self.iflySpeechRecognizer writeAudio:data];
  15.     [self.iflySpeechRecognizer stopListening];
  16. }
复制代码




155****2675 发表于 2018-10-23 16:00:49
2#
你好,这一般是由于音频格式不符合要求,或者音频质量较差(信噪比太低)等原因,我们支持的格式是采样率16k或者8k,位长16bit,单声道的pcm和wav,还请首先检查您的音频是否符合要求。

楼内回复

我这样设置 有哪里不妥吗  详情 发表于 2018-10-23 16:26
使用道具 举报 回复
 楼主| wanghuizhou21@1 发表于 2018-10-23 16:26:32
3#
machlu@mail2.sy 发表于 2018-10-23 16:00
你好,这一般是由于音频格式不符合要求,或者音频质量较差(信噪比太低)等原因,我们支持的格式是采样率16 ...

我这样设置 有哪里不妥吗
  1. + (NSDictionary*)GetAudioRecorderSettingDict{
  2.     NSDictionary *recordSetting = [[NSDictionary alloc] initWithObjectsAndKeys:
  3.                                    [NSNumber numberWithFloat: 8000.0],AVSampleRateKey, //采样率
  4.                                    [NSNumber numberWithInt: kAudioFormatLinearPCM],AVFormatIDKey,
  5.                                    [NSNumber numberWithInt:16],AVLinearPCMBitDepthKey,//采样位数 默认 16
  6.                                    [NSNumber numberWithInt: 1], AVNumberOfChannelsKey,//通道的数目
  7.                                    //                                   [NSNumber numberWithBool:NO],AVLinearPCMIsBigEndianKey,//大端还是小端 是内存的组织方式
  8.                                    //                                   [NSNumber numberWithBool:NO],AVLinearPCMIsFloatKey,//采样信号是整数还是浮点数
  9.                                    //                                   [NSNumber numberWithInt: AVAudioQualityMedium],AVEncoderAudioQualityKey,//音频编码质量
  10.                                    nil];
  11.     return recordSetting;
  12. }
复制代码



使用道具 举报 回复
155****2675 发表于 2018-10-23 16:34:17
4#
您的采样率设置要和您的音频相对应,您的音频如果是8k采样率的,您的参数就设置为8k采样率的对应参数,具体您参考下api文档,http://mscdoc.xfyun.cn/ios/api/Classes/IFlySpeechConstant.html

楼内回复

如上一段代码设置 ,我在录音时设置的的采样率为8000。录出的音频文件也是显示采样率为8000。请问这样还是有哪里不对吗?  详情 发表于 2018-10-23 17:18
使用道具 举报 回复
 楼主| wanghuizhou21@1 发表于 2018-10-23 17:18:35
5#
machlu@mail2.sy 发表于 2018-10-23 16:34
您的采样率设置要和您的音频相对应,您的音频如果是8k采样率的,您的参数就设置为8k采样率的对应参数,具体 ...

如上一段代码设置 ,我在录音时设置的的采样率为8000。录出的音频文件也是显示采样率为8000。请问这样还是有哪里不对吗?
使用道具 举报 回复