Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
fef0ea07
Commit
fef0ea07
authored
Jun 10, 2022
by
chenzhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
语音融合调整
parent
b69c3cb5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
4 deletions
+9
-4
AppSpeechTranscriber.java
...in/java/com/yeejoin/amos/speech/AppSpeechTranscriber.java
+9
-4
No files found.
amos-boot-utils/amos-boot-utils-speech/src/main/java/com/yeejoin/amos/speech/AppSpeechTranscriber.java
View file @
fef0ea07
package
com
.
yeejoin
.
amos
.
speech
;
import
com.alibaba.nls.client.protocol.InputFormatEnum
;
import
com.alibaba.nls.client.protocol.NlsClient
;
import
com.alibaba.nls.client.protocol.SampleRateEnum
;
import
com.alibaba.nls.client.protocol.asr.SpeechTranscriber
;
import
com.alibaba.nls.client.protocol.asr.SpeechTranscriberListener
;
import
com.alibaba.nls.client.protocol.asr.SpeechTranscriberResponse
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -29,6 +31,7 @@ public class AppSpeechTranscriber {
private
final
TimerTask
timerTask
;
private
final
String
localIpAddress
;
private
int
idleTime
=
0
;
private
NlsClient
client
;
public
AppSpeechTranscriber
(
SpeechTranscriberListener
listener
,
DatagramSocket
serverSocket
,
String
localIpAddress
)
{
this
.
localIpAddress
=
localIpAddress
;
...
...
@@ -73,7 +76,7 @@ public class AppSpeechTranscriber {
}
idleTime
=
0
;
logger
.
warn
(
"收到数据包:"
+
b
.
length
);
//去掉前12个字节的rtp包头,后面的3
32
字节为语音数据
//去掉前12个字节的rtp包头,后面的3
20
字节为语音数据
//4秒未再次调用此方法,阿里云会抛出超时异常
transcriber
.
send
(
Arrays
.
copyOfRange
(
b
,
12
,
b
.
length
));
}
...
...
@@ -112,14 +115,15 @@ public class AppSpeechTranscriber {
transcriber
.
setEnablePunctuation
(
false
);
//是否将返回结果规整化,比如将一百返回为100。
transcriber
.
setEnableITN
(
true
);
//设置vad断句参数。默认值:800ms,有效值:200ms~2000ms。
transcriber
.
addCustomedParam
(
"max_sentence_silence"
,
8
00
);
//transcriber.addCustomedParam("max_sentence_silence", 6
00);
//设置是否语义断句。
//transcriber.addCustomedParam("enable_semantic_sentence_detection",false);
//设置是否开启顺滑。
//transcriber.addCustomedParam("disfluency",true);
//设置是否开启词模式。
transcriber
.
addCustomedParam
(
"enable_words"
,
true
);
//transcriber.addCustomedParam("enable_words",
true);
//设置vad噪音阈值参数,参数取值为-1~+1,如-0.9、-0.8、0.2、0.9。
//取值越趋于-1,判定为语音的概率越大,亦即有可能更多噪声被当成语音被误识别。
//取值越趋于+1,判定为噪音的越多,亦即有可能更多语音段被当成噪音被拒绝识别。
...
...
@@ -130,9 +134,10 @@ public class AppSpeechTranscriber {
//设置训练后的定制热词id。
//transcriber.addCustomedParam("vocabulary_id","你的定制热词id");
//设置是否忽略单句超时。
transcriber
.
addCustomedParam
(
"enable_ignore_sentence_timeout"
,
false
);
transcriber
.
addCustomedParam
(
"enable_ignore_sentence_timeout"
,
false
);
//vad断句开启后处理。
//transcriber.addCustomedParam("enable_vad_unify_post",false);
//此方法将以上参数设置序列化为JSON发送给服务端,并等待服务端确认。
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment