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 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
- - generate speech from text into a call (using flite)
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 recognition using pocketsphinx
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.23.0",
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
  }
@@ -0,0 +1,3 @@
1
+ install(DIRECTORY
2
+ en-us
3
+ DESTINATION ${CMAKE_INSTALL_DATADIR}/pocketsphinx/model)