Skip to content

Commit 951ef85

Browse files
committed
多线程log至主线程打印
1 parent 4f486f2 commit 951ef85

File tree

4 files changed

+10782
-15
lines changed

4 files changed

+10782
-15
lines changed

Workers/AudioProcesserWorker.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
let model, audioContainer;
44
async function init_import() {
5-
// const { tf } = await import('../tensorflowjs/[email protected]');
65
const { MyWorkerScript } = await import('../Workers/MyWorker.js');
76
const { AudioContainer, AudioData, StftData } = await import('../Audio/AudioContainer.js');
87
const { Float32Matrix } = await import('../utils/CyclicContainer.js');
@@ -29,25 +28,31 @@ async function prepare_pinyin() {
2928
const pinyin = new PinYin('../ASR/Label/pinyin2num_dict.json');
3029
await pinyin.init();
3130
return pinyin;
32-
}
31+
};
3332

3433
async function main() {
3534
const { MyWorkerScript, AudioContainer, AudioData, StftData, Float32Matrix } = await init_import();
3635
const pinyin = await prepare_pinyin();
3736
const myWorkerScript = new MyWorkerScript(self);
37+
function log(msg) {
38+
// console.log(`[MyWorkerScript]${msg}`);
39+
myWorkerScript.sendData('Log', msg);
40+
};
3841
myWorkerScript.reciveData('initInfo',
3942
async (dataContent) => {
43+
log(`收到initInfo,准备初始化audioContainer`);
4044
self.audioContainer = new AudioContainer(
4145
dataContent.sampleRate,
4246
dataContent.fft_s,
4347
dataContent.hop_s,
4448
dataContent.numberOfChannels,
4549
dataContent.max_duration,
4650
false);
51+
log(`准备加载model...`);
4752
self.model = await init_model();
4853
const len = Math.round(self.audioContainer.max_duration / self.audioContainer.hop_s);
4954
self.model.predict(tf.zeros([1, len, 129]));
50-
console.log(`当前tensorflowJS的Backend:${tf.getBackend()}`)
55+
log(`当前tensorflowJS的Backend:${tf.getBackend()}`);
5156
myWorkerScript.sendData('Event', 'inited');
5257
}
5358
);

main.js

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -84,16 +84,19 @@ switch_btn.onclick = async function (e) {
8484
const sampleRate = 8000, fft_s = 0.032, hop_s = 0.008;
8585
const audioContainer = new AudioContainer(sampleRate, fft_s, hop_s, 1, 10);
8686
const myWorker = new MyWorker('./Workers/AudioProcesserWorker.js');
87+
myWorker.reciveData('Log', (msg) => { console.log(`[MyWorkerScript]${msg}`); });
8788
// myWorker.reciveData('predict_res', (content) => { console.log(`输出长度:${content.length},${content[0].length},${content[0][0].length}`) });
8889
myWorker.reciveData('pinyinArray', (pinyinArray) => { console.log(pinyinArray) });
8990
myWorker.reciveData('Event', (content) => {
9091
switch (content) {
9192
case 'created':
93+
console.log('myWorkerScript Created!');
9294
myWorker.sendData('initInfo', {
9395
sampleRate, fft_s, hop_s, numberOfChannels: 1, max_duration: 3
9496
});
9597
break;
9698
case 'inited':
99+
console.log('myWorkerScript Inited!');
97100
switch_btn.textContent = "Start";
98101
switch_btn.disabled = false;
99102
break;
@@ -110,29 +113,29 @@ const audioProcesser = new AudioFlowProcesser(
110113
undefined,
111114
256,
112115
1,
113-
(audioData) => {
114-
audioContainer.updateAudioDataClip(audioData);
116+
(audioData_Clip) => {
117+
audioContainer.updateAudioDataClip(audioData_Clip);
115118
const cur_full_audioData = audioContainer.getAudioData();
116119
waveDrawer.set_data(cur_full_audioData);
117120

118-
const stftData = AudioUtils.getAudioClipStftData(cur_full_audioData, audioData.channels[0].length, audioContainer.fft_n, audioContainer.hop_n);
119-
audioContainer.updateStftDataClip(stftData);
121+
const stftData_Clip = AudioUtils.getAudioClipStftData(cur_full_audioData, audioData_Clip.channels[0].length, audioContainer.fft_n, audioContainer.hop_n);
122+
audioContainer.updateStftDataClip(stftData_Clip);
120123
stftDrawer.set_data(audioContainer.getStftData());
121124

122125
myWorker.sendData(
123126
'stftData',
124127
{
125-
sampleRate: stftData.sampleRate,
126-
fft_n: stftData.fft_n,
127-
hop_n: stftData.hop_n,
128+
sampleRate: stftData_Clip.sampleRate,
129+
fft_n: stftData_Clip.fft_n,
130+
hop_n: stftData_Clip.hop_n,
128131
stft: {
129-
stftMartrixArrayBuffer: stftData.stft._arrayBuffer,
130-
stftMartrixHeight: stftData.stft.height,
131-
stftMartrixWidth: stftData.stft.width,
132+
stftMartrixArrayBuffer: stftData_Clip.stft._arrayBuffer,
133+
stftMartrixHeight: stftData_Clip.stft.height,
134+
stftMartrixWidth: stftData_Clip.stft.width,
132135
},
133-
audioTime: stftData.audioTime,
136+
audioTime: stftData_Clip.audioTime,
134137
},
135-
[stftData.stft._arrayBuffer]
138+
[stftData_Clip.stft._arrayBuffer]
136139
);
137140
},
138141
null,

0 commit comments

Comments
 (0)