Libraries for the use of rest API recognition, synthesis and speech diarization
rest API
https://cp.speechpro.com/vkasr/rest/
help
https://cp.speechpro.com/vkasr/help
rest API
https://cp.speechpro.com/vktts/rest/
help
https://cp.speechpro.com/vktts/help
rest API
https://cp.speechpro.com/vkdiarization/rest/
help
https://cp.speechpro.com/vkdiarization/help
Load main script from HTML first.
<script src="SpeechProASR.js"></script>
asr = new SpeechProASR(config);
- config (Parameters with default values are not required)
host
: url rest API (default ="https://cp.speechpro.com/vkasr/rest/"
)client
: user data for authorization.username
: "username".password
: "password".domain_id
: "id"
recorder
: record audio input and encodes to audio file image (Blob object). After the end of the recording, it sends the data to the server for recognition (default =false
)bufferLength
: The size of the buffer sent to the server (only WebSockets)package
: package name for using recognize (default ="TelecomRus"
)packageSocket
: package name for using online recognize (WebSockets) (default ="CommonRus"
)
asr.getPackages();
Get all available packages
- Parameters
- (none)
- Returns (Promise
then
orcatch
)Array
: array of objects with data about available packages
asr.setPackage(packageId);
Set package after initialization
- Parameters
.packageId
: package identifier (type: 'String')
- Returns
- (none)
asr.setPackageSocket(packageId);
Set package for WebSockets after initialization
- Parameters
.packageId
: package identifier (type: 'String')
- Returns
- (none)
asr.recognizeFile(file);
Recognize from wav file
- Note
- The file must have a sampling frequency of 8000
- Parameters
.file
: blob object (type: 'audio/wav')
- Returns
- (none)
asr.startRecord();
Start recording from microphone (Can be used if the parameter recorder
= true
)
- Parameters
- (none)
- Returns
- (none)
asr.stopRecord();
Stop recording and send audio to server (Can be used if the parameter recorder
= true
)
- Parameters
- (none)
- Returns
- (none)
asr.startRecordSocket();
Start recording and send audio to server on WebSockets (automatically used recorder)
- Parameters
- (none)
- Returns
- (none)
asr.stopRecordSocket();
Stop recording and close WebSockets
- Parameters
- (none)
- Returns
- (none)
complete
- asr object has been initialized
recognizeComplete
- Recognition result
recognizeSocketComplete
- Recognition result web sockets
recognizeSocketCompleteFinal
- The final result of recognition web sockets (Returns the result after the socket is closed)
recognizeError
- Recognition error
let asr = new SpeechProASR({
"client": {
"username": "username",
"password": "password",
"domain_id": "id"
},
"recorder": true, //default false
});
asr.complete = function(){
// asr object initialized, here you can use the available methods
// Events
asr.recognizeComplete = function(result){
// result = {
// "score": recognize score,
// "text": recognized text,
// }
}
asr.recognizeError = function(error){
// recognize error
}
asr.recognizeSocketComplete = function(result){
// result = recognized text
}
asr.recognizeSocketCompleteFinal = function(result){
// result = {
// "score": recognize score,
// "text": recognized text,
// }
}
}
Load main script from HTML first.
<script src="SpeechProTTS.js"></script>
tts = new SpeechProTTS(config);
- config (Parameters with default values are not required)
host
: url rest API (default ="https://cp.speechpro.com/vktts/rest/"
)client
: user data for authorization.username
: "username".password
: "password".domain_id
: "id"
tts.getLanguages();
Get all available languages
- Parameters
- (none)
- Returns (Promise
then
orcatch
)Array
: array of objects with data about available languages
tts.getVoices(language);
Get all available voices
- Parameters
language
: 'language name' (default = 'Russian')
- Returns (Promise
then
orcatch
)Array
: array of objects with data about available voices
tts.setLanguage(language);
Set language after initialization
- Parameters
.language
: language identifier (type: 'String')
- Returns
- (none)
tts.setVoice(voice);
Set voice after initialization
- Parameters
.voice
: voice identifier (type: 'String')
- Returns
- (none)
tts.synthesize(text, options);
Text synthesis
- Parameters
text
: "your text"options
:.voice
: "voice_name" (default = 'Alexander').play
: Synthesized text playing (default = 'false')
- Returns
- (none)
tts.sendSocket(text, options);
Text synthesis for WebSockets
- Parameters
text
: "your text"options
:.voice
: "voice_name" (default = 'Alexander').play
: Synthesized text playing after socket closed (default = 'false')
- Returns
- (none)
tts.getWavFromBuffer();
Returns the wav file from the accumulated socket message buffer. If the socket is closed, returns null
- Parameters
- (none)
- Returns
blob
: object Blob (type = 'audio/wav')
complete
- tts object has been initialized
synthesizeComplete
- Synthesis result
synthesizeSocketComplete
- Synthesis result WebSockets
synthesizeError
- Synthesis error
synthesizeSocketOnline
- Intermediate synthesis result (socket messages, type: 'ArrayBuffer')
let tts = new SpeechProTTS({
"client": {
"username": "username",
"password": "password",
"domain_id": "id"
}
});
tts.complete = function() {
// tts object initialized, here you can use the available methods
// Events
tts.synthesizeComplete = function(result) {
// result = {
// "b64Data": base64 data,
// "blob": object blob (type = 'audio/wav'),
// "blobUrl": blobUrl (object URL.createObjectURL)
// }
}
tts.synthesizeError = function(error) {
// Synthesis error
}
tts.synthesizeSocketComplete = function(result) {
// result = {
// "blob": object blob (type = 'audio/wav'),
// "blobUrl": blobUrl (object URL.createObjectURL)
// }
}
tts.synthesizeSocketOnline = function(arraybuffer) {
// result socket message
}
}
Load main script from HTML first.
<script src="SpeechProDiarization.js"></script>
diariz = new SpeechProDiarization(config);
- config (Parameters with default values are not required)
host
: url rest API (default ="https://cp.speechpro.com/vkasr/rest/"
)client
: user data for authorization.username
: "username".password
: "password".domain_id
: "id"
recorder
: record audio input and encodes to audio file image (Blob object). After the end of the recording, it sends the data to the server for diarization (default =false
)
diariz.diarization(file);
Diarization from wav file
- Parameters
.file
: blob object (type: 'audio/wav')
- Returns
- (none)
diariz.startRecord();
Start recording from microphone (Can be used if the parameter recorder
= true
)
- Parameters
- (none)
- Returns
- (none)
diariz.stopRecord();
Stop recording and send audio to server (Can be used if the parameter recorder
= true
)
- Parameters
- (none)
- Returns
- (none)
complete
- diarization object has been initialized
diarizationComplete
- Diarization result
diarizationError
- Diarization error
let diariz = new SpeechProDiarization({
"client": {
"username": "username",
"password": "password",
"domain_id": "id"
},
"recorder": true, //default false
});
diariz.complete = function(){
// diarization object initialized, here you can use the available methods
// Events
diariz.diarizationComplete = function(result){
// result = {
// "data": {
// "speakers": [{
// "number": 0,
// "segments": [{
// "start": 0,
// "length": 0
// }]
// }]
// }
// }
}
diariz.diarizationError = function(error){
// recognize error
}
}