Socket
Socket
Sign inDemoInstall

tts-narrator

Package Overview
Dependencies
116
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.1.2 to 2.2.0

28

dist/narration-script.d.ts
import { TtsServiceType } from './tts-service';
export interface VoiceSettings {
/**
* Language, corresponding to `speak#xml:lang` in SSML.
*/
language?: string;
/**
* Voice name, corresponding to `speak.voice#name` in SSML.
*/
name?: string;
language?: string;
/**
* Voice effect, corresponding to `speak.voice#effect` in SSML.
*/
effect?: string;
/**
* Corresponding to `speak.voice.prosody` in SSML.
*/
prosody?: {
rate?: string;
pitch?: string;
volume?: string;
};
/**
* Corresponding to `speak.voice.mstts:express-as` in SSML.
*/
msttsExpressAs?: {
style?: string;
styleDegree?: string;
role?: string;
};
}

@@ -6,0 +32,0 @@ export interface ScriptSettings {

@@ -17,2 +17,4 @@ import { NarrationParagraph, VoiceSettings } from './narration-script';

protected buildVoiceStartTag(voiceSettings: VoiceSettings): string;
protected buildProsodyStartTag(prosodySettings: Exclude<VoiceSettings['prosody'], undefined>): string;
protected buildMsttsExpressAsStartTag(msttsExpressAsSettings: Exclude<VoiceSettings['msttsExpressAs'], undefined>): string;
protected generateSsmlWithoutValidation(paragraph: NarrationParagraph): {

@@ -19,0 +21,0 @@ lineOffset: number;

@@ -29,2 +29,8 @@ "use strict";

}
buildProsodyStartTag(prosodySettings) {
return `<prosody ${prosodySettings.pitch ? `pitch="${prosodySettings.pitch}"` : ''} ${prosodySettings.rate ? `rate="${prosodySettings.rate}"` : ''} ${prosodySettings.volume ? `volume="${prosodySettings.volume}"` : ''}>`;
}
buildMsttsExpressAsStartTag(msttsExpressAsSettings) {
return `<mstts:express-as ${msttsExpressAsSettings.style ? `style="${msttsExpressAsSettings.style}"` : ''} ${msttsExpressAsSettings.role ? `role="${msttsExpressAsSettings.role}"` : ''} ${msttsExpressAsSettings.styleDegree ? `styledegree="${msttsExpressAsSettings.styleDegree}"` : ''}>`;
}
generateSsmlWithoutValidation(paragraph) {

@@ -54,4 +60,16 @@ var _a;

const voiceEndTag = '</voice>';
let prosodyStartTagOrEmpty = '';
let prosodyEndTagOrEmpty = '';
if (voiceSettings.prosody) {
prosodyStartTagOrEmpty = this.buildProsodyStartTag(voiceSettings.prosody);
prosodyEndTagOrEmpty = '</prosody>';
}
let msttsExpressAsStartTagOrEmpty = '';
let msttsExpressAsEndTagOrEmpty = '';
if (voiceSettings.msttsExpressAs) {
msttsExpressAsStartTagOrEmpty = this.buildMsttsExpressAsStartTag(voiceSettings.msttsExpressAs);
msttsExpressAsEndTagOrEmpty = '</mstts:express-as>';
}
// plain text or fragments containing other tags
return { lineOffset: 1, ssml: `${speakStartTag}${voiceStartTag}\n${text}\n${voiceEndTag}${speakEndTag}` };
return { lineOffset: 1, ssml: `${speakStartTag}${voiceStartTag}${prosodyStartTagOrEmpty}${msttsExpressAsStartTagOrEmpty}\n${text}\n${msttsExpressAsEndTagOrEmpty}${prosodyEndTagOrEmpty}${voiceEndTag}${speakEndTag}` };
}

@@ -58,0 +76,0 @@ generateAudio(_ssml, _options) {

2

package.json
{
"name": "tts-narrator",
"version": "2.1.2",
"version": "2.2.0",
"description": "Generate narration with Text-To-Speech technology",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

@@ -166,2 +166,48 @@ # tts-narrator

##### buildMsttsExpressAsStartTag
▸ `Protected` **buildMsttsExpressAsStartTag**(`msttsExpressAsSettings`): `string`
###### Parameters
| Name | Type |
| :------ | :------ |
| `msttsExpressAsSettings` | `Object` |
| `msttsExpressAsSettings.role?` | `string` |
| `msttsExpressAsSettings.style?` | `string` |
| `msttsExpressAsSettings.styleDegree?` | `string` |
###### Returns
`string`
###### Inherited from
[BaseTtsService](#classestts_servicebasettsservicemd).[buildMsttsExpressAsStartTag](#buildmsttsexpressasstarttag)
___
##### buildProsodyStartTag
▸ `Protected` **buildProsodyStartTag**(`prosodySettings`): `string`
###### Parameters
| Name | Type |
| :------ | :------ |
| `prosodySettings` | `Object` |
| `prosodySettings.pitch?` | `string` |
| `prosodySettings.rate?` | `string` |
| `prosodySettings.volume?` | `string` |
###### Returns
`string`
###### Inherited from
[BaseTtsService](#classestts_servicebasettsservicemd).[buildProsodyStartTag](#buildprosodystarttag)
___
##### buildSpeakStartTag

@@ -1133,2 +1179,40 @@

##### buildMsttsExpressAsStartTag
▸ `Protected` **buildMsttsExpressAsStartTag**(`msttsExpressAsSettings`): `string`
###### Parameters
| Name | Type |
| :------ | :------ |
| `msttsExpressAsSettings` | `Object` |
| `msttsExpressAsSettings.role?` | `string` |
| `msttsExpressAsSettings.style?` | `string` |
| `msttsExpressAsSettings.styleDegree?` | `string` |
###### Returns
`string`
___
##### buildProsodyStartTag
▸ `Protected` **buildProsodyStartTag**(`prosodySettings`): `string`
###### Parameters
| Name | Type |
| :------ | :------ |
| `prosodySettings` | `Object` |
| `prosodySettings.pitch?` | `string` |
| `prosodySettings.rate?` | `string` |
| `prosodySettings.volume?` | `string` |
###### Returns
`string`
___
##### buildSpeakStartTag

@@ -1387,4 +1471,7 @@

| --- | --- |
| `Optional` **language**: `string` | |
| `Optional` **name**: `string` | |
| `Optional` **effect**: `string` | Voice effect, corresponding to `speak.voice#effect` in SSML. |
| `Optional` **language**: `string` | Language, corresponding to `speak#xml:lang` in SSML. |
| `Optional` **msttsExpressAs**: `Object` | Corresponding to `speak.voice.mstts:express-as` in SSML.<br>Type declaration<br><br>| Name | Type |<br>| :------ | :------ |<br>| `role?` | `string` |<br>| `style?` | `string` |<br>| `styleDegree?` | `string` | |
| `Optional` **name**: `string` | Voice name, corresponding to `speak.voice#name` in SSML. |
| `Optional` **prosody**: `Object` | Corresponding to `speak.voice.prosody` in SSML.<br>Type declaration<br><br>| Name | Type |<br>| :------ | :------ |<br>| `pitch?` | `string` |<br>| `rate?` | `string` |<br>| `volume?` | `string` | |

@@ -1391,0 +1478,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc