@innovastudio/contentbuilder 1.4.82 → 1.4.84
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/package.json
CHANGED
|
@@ -77395,7 +77395,7 @@ class Lib {
|
|
|
77395
77395
|
}
|
|
77396
77396
|
|
|
77397
77397
|
// import RecordRTC from 'recordrtc';
|
|
77398
|
-
|
|
77398
|
+
// import Recorder from 'opus-recorder'; // Using Recorder
|
|
77399
77399
|
const dom = new Dom();
|
|
77400
77400
|
class Dictation {
|
|
77401
77401
|
constructor(opts = {}, builder) {
|
|
@@ -77829,11 +77829,17 @@ class Dictation {
|
|
|
77829
77829
|
// track.stop();
|
|
77830
77830
|
// });
|
|
77831
77831
|
|
|
77832
|
-
|
|
77833
|
-
|
|
77834
|
-
this.mediaRecorder.
|
|
77835
|
-
|
|
77836
|
-
|
|
77832
|
+
if (this.builder.useMediaRecorder) {
|
|
77833
|
+
// Using mediaRecorder
|
|
77834
|
+
if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') {
|
|
77835
|
+
this.mediaRecorder.stop();
|
|
77836
|
+
this.localStream.getTracks().forEach(track => track.stop()); // Stop the tracks to release the resources
|
|
77837
|
+
}
|
|
77838
|
+
} /* else {
|
|
77839
|
+
// Using Recorder
|
|
77840
|
+
if(this.recorder) this.recorder.stop();
|
|
77841
|
+
if(this.localStream) this.localStream.getTracks().forEach(track => track.stop()); // Stop the tracks to release the resources
|
|
77842
|
+
} */
|
|
77837
77843
|
|
|
77838
77844
|
if (this.websocket && this.websocket.readyState === WebSocket.OPEN) {
|
|
77839
77845
|
this.websocket.close();
|
|
@@ -77882,30 +77888,47 @@ class Dictation {
|
|
|
77882
77888
|
return;
|
|
77883
77889
|
}
|
|
77884
77890
|
const sampleRate = 16000;
|
|
77891
|
+
if (this.builder.useMediaRecorder) {
|
|
77892
|
+
// Using mediaRecorder
|
|
77893
|
+
navigator.mediaDevices.getUserMedia({
|
|
77894
|
+
audio: {
|
|
77895
|
+
sampleSize: 16,
|
|
77896
|
+
channelCount: 1,
|
|
77897
|
+
sampleRate: sampleRate
|
|
77898
|
+
}
|
|
77899
|
+
}).then(stream => {
|
|
77900
|
+
this.localStream = stream;
|
|
77901
|
+
this.mediaRecorder = new MediaRecorder(stream);
|
|
77902
|
+
this.mediaRecorder.addEventListener('dataavailable', event => {
|
|
77903
|
+
if (this.aborted) return;
|
|
77904
|
+
|
|
77905
|
+
// console.log(event.data);
|
|
77906
|
+
// if (event.data.size > 0) {
|
|
77907
|
+
// }
|
|
77908
|
+
this.websocket.send(event.data);
|
|
77909
|
+
});
|
|
77885
77910
|
|
|
77886
|
-
|
|
77887
|
-
|
|
77888
|
-
|
|
77889
|
-
sampleSize: 16,
|
|
77890
|
-
channelCount: 1,
|
|
77891
|
-
sampleRate: sampleRate
|
|
77892
|
-
}
|
|
77893
|
-
}).then(stream => {
|
|
77894
|
-
this.localStream = stream;
|
|
77895
|
-
this.mediaRecorder = new MediaRecorder(stream);
|
|
77896
|
-
this.mediaRecorder.addEventListener('dataavailable', event => {
|
|
77897
|
-
if (this.aborted) return;
|
|
77898
|
-
|
|
77899
|
-
// console.log(event.data);
|
|
77900
|
-
// if (event.data.size > 0) {
|
|
77901
|
-
// }
|
|
77902
|
-
this.websocket.send(event.data);
|
|
77911
|
+
// this.mediaRecorder.start(1000);
|
|
77912
|
+
}).catch(error => {
|
|
77913
|
+
console.log(error);
|
|
77903
77914
|
});
|
|
77904
|
-
|
|
77905
|
-
|
|
77906
|
-
|
|
77907
|
-
|
|
77908
|
-
|
|
77915
|
+
} /* else {
|
|
77916
|
+
// Using Recorder
|
|
77917
|
+
this.recorder = new Recorder({
|
|
77918
|
+
encoderPath: this.builder.encoderPath||
|
|
77919
|
+
'https://cdnjs.cloudflare.com/ajax/libs/opus-recorder/8.0.5/encoderWorker.min.js',
|
|
77920
|
+
leaveStreamOpen: true,
|
|
77921
|
+
numberOfChannels: 1,
|
|
77922
|
+
// OPUS options
|
|
77923
|
+
encoderSampleRate: sampleRate,
|
|
77924
|
+
streamPages: true,
|
|
77925
|
+
maxBuffersPerPage: 1,
|
|
77926
|
+
});
|
|
77927
|
+
this.recorder.ondataavailable = (e) => {
|
|
77928
|
+
if(this.aborted) return;
|
|
77929
|
+
this.websocket.send(e.buffer);
|
|
77930
|
+
};
|
|
77931
|
+
} */
|
|
77909
77932
|
|
|
77910
77933
|
/*
|
|
77911
77934
|
// Using RecordRTC
|
|
@@ -77934,25 +77957,32 @@ class Dictation {
|
|
|
77934
77957
|
}, 2000);
|
|
77935
77958
|
}
|
|
77936
77959
|
let finalTranscripts = '';
|
|
77960
|
+
let speechTimeout;
|
|
77937
77961
|
this.websocket.onmessage = event => {
|
|
77938
77962
|
const message = JSON.parse(event.data);
|
|
77939
77963
|
if (message.event === 'can-open-mic') {
|
|
77940
77964
|
//this.recorder.startRecording(); // Using RecordRTC
|
|
77941
77965
|
|
|
77942
|
-
this.
|
|
77966
|
+
if (this.builder.useMediaRecorder) {
|
|
77967
|
+
this.mediaRecorder.start(1000); // Using mediaRecorder
|
|
77968
|
+
} /* else {
|
|
77969
|
+
this.recorder.start(); // Using Recorder
|
|
77970
|
+
} */
|
|
77943
77971
|
|
|
77944
77972
|
// console.log('Start Dictation');
|
|
77945
77973
|
this.aborted = false;
|
|
77946
77974
|
}
|
|
77947
77975
|
if (message.event === 'transcript-result') {
|
|
77948
|
-
const transcripts = message.data;
|
|
77949
77976
|
if (this.builder.isInProgress || this.aborted) {
|
|
77950
77977
|
return;
|
|
77951
77978
|
}
|
|
77952
|
-
|
|
77979
|
+
const transcript = message.data.channel.alternatives[0].transcript;
|
|
77980
|
+
if (transcript && message.data.is_final) {
|
|
77981
|
+
finalTranscripts += ' ' + transcript;
|
|
77982
|
+
}
|
|
77953
77983
|
inpCommand.value = finalTranscripts;
|
|
77954
|
-
clearTimeout(
|
|
77955
|
-
|
|
77984
|
+
clearTimeout(speechTimeout);
|
|
77985
|
+
speechTimeout = setTimeout(() => {
|
|
77956
77986
|
this.builder.commandText = '';
|
|
77957
77987
|
finalTranscripts = '';
|
|
77958
77988
|
if (this.builder.autoSendCommand) {
|
|
@@ -78773,7 +78803,7 @@ class ContentBuilder {
|
|
|
78773
78803
|
enableDragResize: true,
|
|
78774
78804
|
simpleTextSettings: false,
|
|
78775
78805
|
enableColumnsPerLine: true,
|
|
78776
|
-
/* Prompt/Command Stuff */
|
|
78806
|
+
/* Prompt/Command Stuff for AI Assistant */
|
|
78777
78807
|
isContentBox: false,
|
|
78778
78808
|
sendCommandUrl: 'http://localhost:8081/answer',
|
|
78779
78809
|
// speechTranscribeUrl: 'http://192.168.1.7:8081',
|
|
@@ -78782,6 +78812,9 @@ class ContentBuilder {
|
|
|
78782
78812
|
commandPlaceholderText: '',
|
|
78783
78813
|
enableShortCommands: true,
|
|
78784
78814
|
speechRecognitionLang: 'en-US',
|
|
78815
|
+
useMediaRecorder: true,
|
|
78816
|
+
// do not change
|
|
78817
|
+
encoderPath: '',
|
|
78785
78818
|
headlineList: ['We create simple and effective designs.', 'Ultimate Experiences With Story, Emotion, And Purpose.', 'Build Anything Beautifully', 'With Less Stuff and More Compassion', 'We\'re [CompanyName]. Full stack development with a spark of creativity.', 'Transforming your digital experience with [CompanyName]. Achieve your online goals with our customized solutions.', 'Revolutionizing web development with [CompanyName]. Unleash your digital potential with our high-performance solutions.', 'Creative and Inspiring'],
|
|
78786
78819
|
shortCommandList: {
|
|
78787
78820
|
undo: ['undo'],
|