sip-lab 1.23.0 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/binding.gyp +4 -0
- package/build_deps.sh +19 -0
- package/index.js +18 -0
- package/package.json +4 -2
- package/pocketsphinx/model/CMakeLists.txt +3 -0
- package/pocketsphinx/model/en-us/cmudict-en-us.dict +134782 -0
- package/pocketsphinx/model/en-us/en-us/README +34 -0
- package/pocketsphinx/model/en-us/en-us/feat.params +12 -0
- package/pocketsphinx/model/en-us/en-us/mdef +0 -0
- package/pocketsphinx/model/en-us/en-us/means +0 -0
- package/pocketsphinx/model/en-us/en-us/noisedict +5 -0
- package/pocketsphinx/model/en-us/en-us/sendump +0 -0
- package/pocketsphinx/model/en-us/en-us/transition_matrices +0 -0
- package/pocketsphinx/model/en-us/en-us/variances +0 -0
- package/pocketsphinx/model/en-us/en-us-phone.lm.bin +0 -0
- package/pocketsphinx/model/en-us/en-us.lm.bin +0 -0
- package/prebuilds/linux-x64/sip-lab.node +0 -0
- package/runtests +80 -0
- package/samples/artifacts/hello_good_morning.wav +0 -0
- package/samples/play_wav_and_speech_recog.bad_transcript.pcmu8000.js +182 -0
- package/samples/speech_synth_and_recog.speex16000.js +186 -0
- package/samples/tcp_and_extra_headers.js +44 -1
- package/src/addon.cpp +37 -0
- package/src/event_templates.cpp +6 -0
- package/src/event_templates.hpp +2 -0
- package/src/pjmedia/include/pjmedia/pocketsphinx_port.h +19 -0
- package/src/pjmedia/src/pjmedia/flite_port.c +4 -7
- package/src/pjmedia/src/pjmedia/pocketsphinx_port.c +169 -46
- package/src/sip.cpp +464 -293
- package/src/sip.hpp +3 -0
package/README.md
CHANGED
|
@@ -12,12 +12,12 @@ It permits to:
|
|
|
12
12
|
- send/receive fax (T.30 only)
|
|
13
13
|
- send/receive MRCPv2 messages (TCP only, no TLS)
|
|
14
14
|
- send/receive audio using SRTP
|
|
15
|
-
-
|
|
15
|
+
- do speech synth using flite
|
|
16
|
+
- do speech recog using pocketsphinx (but only works well with sampling rate of 16000)
|
|
16
17
|
|
|
17
18
|
TODO:
|
|
18
19
|
- add support for video playing/recording from/to file
|
|
19
|
-
- add support for speech
|
|
20
|
-
- add support for speech synth/recog via websocket server
|
|
20
|
+
- add support for speech synth/recog via websocket server to permit to access Google Speech, Whisper, Amazon Poly etc.
|
|
21
21
|
- add support for T.38 fax
|
|
22
22
|
- add support for SIP over WebSocket
|
|
23
23
|
- add support for WebRTC
|
package/binding.gyp
CHANGED
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
"3rdParty/rapidjson/include",
|
|
18
18
|
"3rdParty/boost_1_66_0",
|
|
19
19
|
"3rdParty/spandsp/src",
|
|
20
|
+
"3rdParty/pocketsphinx/include",
|
|
21
|
+
"3rdParty/pocketsphinx/build/include",
|
|
20
22
|
"<!@(node -p \"require('node-addon-api').include\")",
|
|
21
23
|
],
|
|
22
24
|
'conditions': [
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
'-l pjlib-util-x86_64-unknown-linux-gnu',
|
|
65
67
|
'../3rdParty/spandsp/src/.libs/libspandsp.a',
|
|
66
68
|
'../3rdParty/bcg729/src/libbcg729.a',
|
|
69
|
+
'../3rdParty/pocketsphinx/build/libpocketsphinx.a',
|
|
67
70
|
'-lstdc++',
|
|
68
71
|
'-lopus',
|
|
69
72
|
'-lssl',
|
|
@@ -116,6 +119,7 @@
|
|
|
116
119
|
'src/pjmedia/src/pjmedia/dtmfdet.c',
|
|
117
120
|
'src/pjmedia/src/pjmedia/fax_port.c',
|
|
118
121
|
'src/pjmedia/src/pjmedia/flite_port.c',
|
|
122
|
+
'src/pjmedia/src/pjmedia/pocketsphinx_port.c',
|
|
119
123
|
],
|
|
120
124
|
},
|
|
121
125
|
],
|
package/build_deps.sh
CHANGED
|
@@ -82,6 +82,25 @@ then
|
|
|
82
82
|
fi
|
|
83
83
|
|
|
84
84
|
|
|
85
|
+
cd $START_DIR/3rdParty
|
|
86
|
+
if [[ ! -d pocketsphinx ]]
|
|
87
|
+
then
|
|
88
|
+
POCKETSPHINX_VERSION=5.0.3
|
|
89
|
+
rm -f v${POCKETSPHINX_VERSION}.tar.gz
|
|
90
|
+
wget https://github.com/cmusphinx/pocketsphinx/archive/refs/tags/v${POCKETSPHINX_VERSION}.tar.gz
|
|
91
|
+
tar xf v${POCKETSPHINX_VERSION}.tar.gz
|
|
92
|
+
rm -f v${POCKETSPHINX_VERSION}.tar.gz
|
|
93
|
+
mv pocketsphinx-${POCKETSPHINX_VERSION} pocketsphinx
|
|
94
|
+
cd pocketsphinx
|
|
95
|
+
sed -i '/include(GNUInstallDirs)/a \\nset(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")' CMakeLists.txt
|
|
96
|
+
cmake -S . -B build
|
|
97
|
+
cmake --build build
|
|
98
|
+
|
|
99
|
+
rm -fr ../../pocketsphinx
|
|
100
|
+
mkdir -p ../../pocketsphinx
|
|
101
|
+
cp -r model/ ../../pocketsphinx/
|
|
102
|
+
fi
|
|
103
|
+
|
|
85
104
|
|
|
86
105
|
#cd $START_DIR/3rdParty
|
|
87
106
|
#if [[ ! -d openssl ]]
|
package/index.js
CHANGED
|
@@ -68,6 +68,24 @@ addon.call = {
|
|
|
68
68
|
stop_fax: (c_id, params) => { return addon.call_stop_fax(c_id, JSON.stringify(params ? params : {})) },
|
|
69
69
|
start_speech_synth: (c_id, params) => { return addon.call_start_speech_synth(c_id, JSON.stringify(params)) },
|
|
70
70
|
stop_speech_synth: (c_id, params) => { return addon.call_stop_speech_synth(c_id, JSON.stringify(params ? params : {})) },
|
|
71
|
+
|
|
72
|
+
start_speech_recog: (c_id, params) => {
|
|
73
|
+
var ps = {}
|
|
74
|
+
if(params) {
|
|
75
|
+
ps = {...params}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if(ps.model_path) {
|
|
79
|
+
process.env.POCKETSPHINX_PATH = ps.model_path
|
|
80
|
+
delete ps.model_path
|
|
81
|
+
} else {
|
|
82
|
+
process.env.POCKETSPHINX_PATH = __dirname + "/pocketsphinx/model"
|
|
83
|
+
}
|
|
84
|
+
return addon.call_start_speech_recog(c_id, JSON.stringify(ps))
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
stop_speech_recog: (c_id, params) => { return addon.call_stop_speech_recog(c_id, JSON.stringify(params ? params : {})) },
|
|
88
|
+
|
|
71
89
|
get_stream_stat: (c_id, params) => { return addon.call_get_stream_stat(c_id, JSON.stringify(params ? params : {})) },
|
|
72
90
|
//refer: (c_id, params) => { return addon.call_refer(c_id, JSON.stringify(params)) },
|
|
73
91
|
get_info: addon.call_get_info,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sip-lab",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"engines": {
|
|
@@ -44,6 +44,8 @@
|
|
|
44
44
|
"README.md",
|
|
45
45
|
"DEV.md",
|
|
46
46
|
"samples",
|
|
47
|
-
"prebuilds"
|
|
47
|
+
"prebuilds",
|
|
48
|
+
"pocketsphinx",
|
|
49
|
+
"runtests"
|
|
48
50
|
]
|
|
49
51
|
}
|