0

我已经编写了一个自定义 UniMRCP ASR 插件,并希望它与 Asterisk 上的 Voximal 一起使用。

我在这里关注了文档:https ://wiki.voximal.com/doku.php?id=asrproviders:unimrcp 。VXML 工作正常,但是当我尝试在 VXML 中录制时,我看不到任何正在发送到 UniMRCP 服务器的流。我的 UniMRCP 服务器和 Asterisk 都在同一台机器上。我也尝试过在 EC2 上安装 Voxibot,但遇到了同样的问题

以下是 Asterisk 中的一些配置:

mrcp.conf

[general]
; Default ASR and TTS profiles.
default-asr-profile = uni2
default-tts-profile = speech-nuance5-mrcp2

log-level = DEBUG,NOTICE,INFO
max-connection-count = 100
offer-new-connection = 1

; rx-buffer-size = 1024
; tx-buffer-size = 1024
; request-timeout = 5000
; speech-channel-timeout = 30000

[uni2]
version = 2

; SIP settings
server-ip = 172.17.0.2
server-port = 8060

; SIP user agent
;client-ip = 172.17.0.2
;client-port = 25097

sip-transport = udp

; RTP factory
rtp-ip = 172.17.0.2
rtp-port-min = 4000
rtp-port-max = 5000

; Jitter buffer settings
playout-delay = 50
max-playout-delay = 200

res-speech-unimrcp.conf

[general]
; UniMRCP named profile. Options are:
unimrcp-profile = uni2      ; UniMRCP MRCPv2 Server

log-level = DEBUG,INFO,NOTICE

; Preloaded grammars
[grammars]
;grammar-name = path-to-grammar-file

[mrcpv2-properties]
Recognition-Timeout = 20000
No-Input-Timeout = 15000

[mrcpv1-properties]
Recognition-Timeout = 20000
No-Input-Timeout = 15000

voximal.conf

[general]
autoanswer=yes
videosilence=
audiosilence=
; tried with speechprovider=unimrcp too
speechprovider=unimrcp:uni2
speechscore=50

[control]
forward=#
reverse=*
stop=123456789
pause=
restart=0
skipms=5000

;Optional local license
[license]
;max=1
;key=trial
tts=yes
speech=auto

[prompt]
uri=http://ttsf.voximal.net/tts/pico/tts.php
method=post
format=wav
maxage=-1


[recognize]
sendproperties=0

[account1]
number=8965
name=helloworld
url=file:///var/lib/voximal/record.vxml
speech=automatic

记录.vxml

<!-- for testing recording -->
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="en-US">
    <form>
        <block>
            <prompt>
                <audio src="/var/lib/asterisk/sounds/speech_start.wav"/>
            </prompt>
        </block>
        <record  name="msg" beep="true" maxtime="10s" finalsilence="4000ms" dtmfterm="true" type="audio/x-wav">
            <prompt timeout="5s">
                <audio src="/var/lib/asterisk/sounds/speech_start.wav"/>
            </prompt>
        </record>
    </form>
</vxml>
4

1 回答 1

0

我没有看到 ASR 和录制功能之间的联系(用于录制用户的声音,没有 . 如果要录制发送到 ASR 的音频流,可以使用属性“recordutterance”(真/假),您将有一个影子变量 field_name$.recording、field_name$.recordingsize、field_name$.recordingduration。

于 2019-10-15T13:47:50.603 回答