add initial marp implementation with sample content and build configuration
This commit is contained in:
47
node_modules/speech-rule-engine/mjs/audio/abstract_audio_renderer.js
generated
vendored
Normal file
47
node_modules/speech-rule-engine/mjs/audio/abstract_audio_renderer.js
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
import { Engine } from '../common/engine.js';
|
||||
export class AbstractAudioRenderer {
|
||||
constructor() {
|
||||
this.separator_ = ' ';
|
||||
}
|
||||
set separator(sep) {
|
||||
this.separator_ = sep;
|
||||
}
|
||||
get separator() {
|
||||
return Engine.getInstance().modality === 'braille' ? '' : this.separator_;
|
||||
}
|
||||
error(_key) {
|
||||
return null;
|
||||
}
|
||||
merge(spans) {
|
||||
let str = '';
|
||||
const len = spans.length - 1;
|
||||
for (let i = 0, span; (span = spans[i]); i++) {
|
||||
str += span.speech;
|
||||
if (i < len) {
|
||||
const sep = span.attributes['separator'];
|
||||
str += sep !== undefined ? sep : this.separator;
|
||||
}
|
||||
}
|
||||
return str;
|
||||
}
|
||||
finalize(str) {
|
||||
return str;
|
||||
}
|
||||
pauseValue(value) {
|
||||
let numeric;
|
||||
switch (value) {
|
||||
case 'long':
|
||||
numeric = 750;
|
||||
break;
|
||||
case 'medium':
|
||||
numeric = 500;
|
||||
break;
|
||||
case 'short':
|
||||
numeric = 250;
|
||||
break;
|
||||
default:
|
||||
numeric = parseInt(value, 10);
|
||||
}
|
||||
return Math.floor((numeric * Engine.getInstance().getRate()) / 100);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user