sable_renderer.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.SableRenderer = void 0;
  4. const EngineConst = require("../common/engine_const.js");
  5. const xml_renderer_js_1 = require("./xml_renderer.js");
  6. class SableRenderer extends xml_renderer_js_1.XmlRenderer {
  7. finalize(str) {
  8. return ('<?xml version="1.0"?>' +
  9. '<!DOCTYPE SABLE PUBLIC "-//SABLE//DTD SABLE speech mark up//EN"' +
  10. ' "Sable.v0_2.dtd" []><SABLE>' +
  11. this.separator +
  12. str +
  13. this.separator +
  14. '</SABLE>');
  15. }
  16. pause(pause) {
  17. return ('<BREAK ' +
  18. 'MSEC="' +
  19. this.pauseValue(pause[EngineConst.personalityProps.PAUSE]) +
  20. '"/>');
  21. }
  22. prosodyElement(tag, value) {
  23. value = this.applyScaleFunction(value);
  24. switch (tag) {
  25. case EngineConst.personalityProps.PITCH:
  26. return '<PITCH RANGE="' + value + '%">';
  27. case EngineConst.personalityProps.RATE:
  28. return '<RATE SPEED="' + value + '%">';
  29. case EngineConst.personalityProps.VOLUME:
  30. return '<VOLUME LEVEL="' + value + '%">';
  31. default:
  32. return '<' + tag.toUpperCase() + ' VALUE="' + value + '">';
  33. }
  34. }
  35. closeTag(tag) {
  36. return '</' + tag.toUpperCase() + '>';
  37. }
  38. }
  39. exports.SableRenderer = SableRenderer;