帖子

[官方问题解答] 讯飞语音iOS SDK音频问题详解

[复制链接]
 楼主| jmli3 发表于 2017-2-23 09:40:14
21#
一六二十六 发表于 2017-2-22 10:01
楼主有有没有办法让音频文件跨平台播放,要勇于网络传输,体积也不能特别大。
具体就是iOS的录音文件需要压 ...

可以考虑将音频文件重新压缩编码成其他有损音频格式,但音频质量就会有损耗。
使用道具 举报 回复
李晓航 发表于 2017-2-24 18:06:58
22#
iOS APP 集成语音合成&识别,语音播报声音会由大变小的问题。

使用道具 举报 回复
李晓航 发表于 2017-2-27 09:09:06
23#
jmli3 发表于 2017-2-20 14:25
同一个应用中,不管是在播放器或者录音器结束时,设置setActive:NO都要注意,确保当前应用没有其他的音频 ...

在语音播报的过程中,进行语法识别,并不中断之前的语音播报,采取的是取消所有SDK的内部默认设置,但是会导致 语音播报的音量由大变小,这是什么原因引起的呢?

楼内回复

在识别前这样设置AVAudioSession: [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionA  详情 发表于 2017-2-27 20:41
使用道具 举报 回复
 楼主| jmli3 发表于 2017-2-27 20:41:58
24#
李晓航 发表于 2017-2-27 09:09
在语音播报的过程中,进行语法识别,并不中断之前的语音播报,采取的是取消所有SDK的内部默认设置,但是 ...

在识别前这样设置AVAudioSession
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionAllowBluetooth|AVAudioSessionCategoryOptionMixWithOthers error:nil];

楼内回复

设置了你说的那行代码还是不行。  详情 发表于 2017-2-28 09:51
使用道具 举报 回复
李晓航 发表于 2017-2-28 09:51:39
25#
jmli3 发表于 2017-2-27 20:41
在识别前这样设置AVAudioSession:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCatego ...

设置了你说的那行代码还是不行。


这里有问题

这里有问题

楼内回复

取消SDK内部设置,再加上我说的设置。  详情 发表于 2017-2-28 12:04
使用道具 举报 回复
 楼主| jmli3 发表于 2017-2-28 12:04:41
26#
李晓航 发表于 2017-2-28 09:51
设置了你说的那行代码还是不行。

取消SDK内部设置,再加上我说的设置。

楼内回复

关键是 我做的需求是,应用A在播放过程中,进行语音识别,并不中断播放。这一需求需要取消SDK内部设置,不是么? 那现在 取消了SDK内部默认设置后,就会导致播放的系统音量出错,所以,这个问题的解决方案,麻烦再  详情 发表于 2017-2-28 15:16
使用道具 举报 回复
李晓航 发表于 2017-2-28 15:16:06
27#
jmli3 发表于 2017-2-28 12:04
取消SDK内部设置,再加上我说的设置。

关键是 我做的需求是,应用A在播放过程中,进行语音识别,并不中断播放。这一需求需要取消SDK内部设置,不是么?

那现在 取消了SDK内部默认设置后,就会导致播放的系统音量出错,所以,这个问题的解决方案,麻烦再详细说明一下。

楼内回复

是在识别之前设置,不是在合成之前设置。  详情 发表于 2017-2-28 19:37
使用道具 举报 回复
 楼主| jmli3 发表于 2017-2-28 19:37:45
28#
李晓航 发表于 2017-2-28 15:16
关键是 我做的需求是,应用A在播放过程中,进行语音识别,并不中断播放。这一需求需要取消SDK内部设置, ...

是在识别之前设置,不是在合成之前设置。
CB273574-0ABF-4E7E-A728-8C1529259345.png

楼内回复

解决了 音量的问题,但是 那个识别又识别不了了。 现在的问题就是,在语音 合成播放的过程中,加入识别。要么识别不了,要么就是播放音量减小。 个人见解,在语音播放的时候,如果要进行识别的话,就需要提取到话  详情 发表于 2017-3-1 11:46
使用道具 举报 回复
李晓航 发表于 2017-3-1 11:46:58
29#
jmli3 发表于 2017-2-28 19:37
是在识别之前设置,不是在合成之前设置。

解决了 音量的问题,但是 那个识别又识别不了了。

现在的问题就是,在语音 合成播放的过程中,加入识别。要么识别不了,要么就是播放音量减小。

个人见解,在语音播放的时候,如果要进行识别的话,就需要提取到话筒里的声音,这个时候的听筒有两种音源,1是扬声器的外放声音,2是用户对着话筒说的声音。在做识别的时候,有两种声音夹杂,所以识别就出问题。

最开始解决了识别的问题,但是音量会减小,应该是把语音播放取消了外放。

所以,不太清楚贵公司的SDK是怎么处理这一部分的呢?

0AE29EC6-E146-44AB-A04E-795C30E317AD.png

楼内回复

首先,回答你图中的问题:如果要取消SDK内部设置,[_iFlySpeechSynthesizer setParameter"0" forKey:];[_iFlySpeechSynthesizer setParameter"0" forKey:];放在合成前面;[_iFlySpeechRecognizer setParameter  详情 发表于 2017-3-1 20:17
使用道具 举报 回复
 楼主| jmli3 发表于 2017-3-1 20:17:43
30#
李晓航 发表于 2017-3-1 11:46
解决了 音量的问题,但是 那个识别又识别不了了。

现在的问题就是,在语音 合成播放的过程中,加入识别 ...

首先,回答你图中的问题:如果要取消SDK内部设置,[_iFlySpeechSynthesizer setParameter:@"0" forKey:[IFlySpeechConstant PLAYER_INIT]];[_iFlySpeechSynthesizer setParameter:@"0" forKey:[IFlySpeechConstant PLAYER_DEACTIVE]];放在合成前面;[_iFlySpeechRecognizer setParameter:@"0" forKey:[IFlySpeechConstant RECORDER_INIT]];
[_iFlySpeechRecognizer setParameter:@"0" forKey:[IFlySpeechConstant RECORDER _DEACTIVE]];放在识别前面;




如果在合成播放不受影响的情况下启动识别,合成播放的声音必然会对识别录音有影响,这是不可避免的,iPhone中没有回音消除技术。

使用道具 举报 回复