echogarden 0.7.2 → 0.8.0

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.
Files changed (48) hide show
  1. package/data/schemas/options.json +12 -0
  2. package/dist/alignment/SpeechAlignment.js +3 -2
  3. package/dist/alignment/SpeechAlignment.js.map +1 -1
  4. package/dist/api/Alignment.js +9 -0
  5. package/dist/api/Alignment.js.map +1 -1
  6. package/dist/api/LanguageDetection.d.ts +1 -2
  7. package/dist/api/LanguageDetection.js +38 -9
  8. package/dist/api/LanguageDetection.js.map +1 -1
  9. package/dist/api/Recognition.d.ts +2 -0
  10. package/dist/api/Recognition.js +4 -2
  11. package/dist/api/Recognition.js.map +1 -1
  12. package/dist/api/Synthesis.js +2 -2
  13. package/dist/api/Synthesis.js.map +1 -1
  14. package/dist/api/Translation.d.ts +2 -0
  15. package/dist/api/Translation.js +5 -2
  16. package/dist/api/Translation.js.map +1 -1
  17. package/dist/audio/AudioPlayer.js +2 -2
  18. package/dist/audio/AudioPlayer.js.map +1 -1
  19. package/dist/cli/CLI.js +2 -2
  20. package/dist/math/VectorMath.d.ts +1 -1
  21. package/dist/math/VectorMath.js +6 -4
  22. package/dist/math/VectorMath.js.map +1 -1
  23. package/dist/nlp/EspeakPhonemizer.js +1 -1
  24. package/dist/nlp/EspeakPhonemizer.js.map +1 -1
  25. package/dist/nlp/Segmentation.d.ts +1 -0
  26. package/dist/nlp/Segmentation.js +3 -0
  27. package/dist/nlp/Segmentation.js.map +1 -1
  28. package/dist/recognition/WhisperSTT.d.ts +7 -4
  29. package/dist/recognition/WhisperSTT.js +106 -42
  30. package/dist/recognition/WhisperSTT.js.map +1 -1
  31. package/dist/speech-language-detection/SileroLanguageDetection.d.ts +20 -8
  32. package/dist/speech-language-detection/SileroLanguageDetection.js +65 -38
  33. package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
  34. package/dist/subtitles/Subtitles.js +2 -2
  35. package/dist/subtitles/Subtitles.js.map +1 -1
  36. package/dist/synthesis/GoogleCloudTTS.d.ts +1 -0
  37. package/dist/utilities/FileDownloader.js +3 -2
  38. package/dist/utilities/FileDownloader.js.map +1 -1
  39. package/dist/utilities/NdArrayUtilities.js +2 -2
  40. package/dist/utilities/RandomGenerator.d.ts +1 -0
  41. package/dist/utilities/RandomGenerator.js +14 -0
  42. package/dist/utilities/RandomGenerator.js.map +1 -1
  43. package/dist/utilities/Timeline.d.ts +1 -1
  44. package/dist/utilities/Timeline.js +5 -2
  45. package/dist/utilities/Timeline.js.map +1 -1
  46. package/docs/Options.md +4 -0
  47. package/docs/Tasklist.md +6 -13
  48. package/package.json +5 -5
@@ -1,9 +1,21 @@
1
+ import Onnx from 'onnxruntime-node';
1
2
  import { RawAudio } from "../audio/AudioUtilities.js";
2
- import type { LanguageDetectionResults } from '../api/LanguageDetection.js';
3
- export declare function detectLanguage(rawAudio: RawAudio, modelPath: string, languageDictionaryPath: string, languageGroupDictionaryPath: string): Promise<{
4
- languageResults: LanguageDetectionResults;
5
- languageGroupResults: {
6
- languageGroup: string;
7
- probability: number;
8
- }[];
9
- }>;
3
+ import { type LanguageDetectionResults } from '../api/LanguageDetection.js';
4
+ export declare function detectLanguage(rawAudio: RawAudio, modelPath: string, languageDictionaryPath: string, languageGroupDictionaryPath: string): Promise<LanguageDetectionResults>;
5
+ export declare class SileroLanguageDetection {
6
+ modelPath: string;
7
+ languageDictionaryPath: string;
8
+ languageGroupDictionaryPath: string;
9
+ languageDictionary: any;
10
+ languageGroupDictionary: any;
11
+ session: Onnx.InferenceSession | undefined;
12
+ constructor(modelPath: string, languageDictionaryPath: string, languageGroupDictionaryPath: string);
13
+ initialize(): Promise<void>;
14
+ detectLanguage(rawAudio: RawAudio): Promise<{
15
+ languageResults: LanguageDetectionResults;
16
+ languageGroupResults: {
17
+ languageGroup: string;
18
+ probability: number;
19
+ }[];
20
+ }>;
21
+ }
@@ -1,47 +1,74 @@
1
1
  import Onnx from 'onnxruntime-node';
2
- import { softMax } from '../math/VectorMath.js';
2
+ import { softmax } from '../math/VectorMath.js';
3
3
  import { Logger } from "../utilities/Logger.js";
4
4
  import { readAndParseJsonFile } from '../utilities/FileSystem.js';
5
+ import { detectLanguageByParts } from '../api/LanguageDetection.js';
5
6
  import { languageCodeToName } from '../utilities/Locale.js';
6
7
  export async function detectLanguage(rawAudio, modelPath, languageDictionaryPath, languageGroupDictionaryPath) {
7
- const logger = new Logger();
8
- logger.start("Initialize ONNX inference session");
9
- const languageDictionary = await readAndParseJsonFile(languageDictionaryPath);
10
- const languageGroupDictionary = await readAndParseJsonFile(languageGroupDictionaryPath);
11
- const audioSamples = rawAudio.audioChannels[0];
12
- const onnxOptions = {
13
- logSeverityLevel: 3
14
- };
15
- const session = await Onnx.InferenceSession.create(modelPath, onnxOptions);
16
- logger.start("Detect language with Silero");
17
- const inputTensor = new Onnx.Tensor('float32', audioSamples, [1, audioSamples.length]);
18
- const inputs = { input: inputTensor };
19
- const results = await session.run(inputs);
20
- logger.start("Parse model results");
21
- const languageLogits = results["output"].data;
22
- const languageGroupLogits = results["2038"].data;
23
- const languageProbabilities = softMax(languageLogits);
24
- const languageGroupProbabilities = softMax(languageGroupLogits);
25
- const languageResults = [];
26
- for (let i = 0; i < languageProbabilities.length; i++) {
27
- const languageString = languageDictionary[i];
28
- const languageCode = languageString.replace(/,.*$/, "");
29
- languageResults.push({
30
- language: languageCode,
31
- languageName: languageCodeToName(languageCode),
32
- probability: languageProbabilities[i]
33
- });
8
+ const languageDetection = new SileroLanguageDetection(modelPath, languageDictionaryPath, languageGroupDictionaryPath);
9
+ await languageDetection.initialize();
10
+ async function detectLanguageForPart(partAudio) {
11
+ const { languageResults } = await languageDetection.detectLanguage(partAudio);
12
+ return languageResults;
34
13
  }
35
- languageResults.sort((a, b) => b.probability - a.probability);
36
- const languageGroupResults = [];
37
- for (let i = 0; i < languageGroupProbabilities.length; i++) {
38
- languageGroupResults.push({
39
- languageGroup: languageGroupDictionary[i],
40
- probability: languageGroupProbabilities[i]
41
- });
14
+ const results = await detectLanguageByParts(rawAudio, detectLanguageForPart);
15
+ results.sort((a, b) => b.probability - a.probability);
16
+ return results;
17
+ }
18
+ export class SileroLanguageDetection {
19
+ modelPath;
20
+ languageDictionaryPath;
21
+ languageGroupDictionaryPath;
22
+ languageDictionary;
23
+ languageGroupDictionary;
24
+ session;
25
+ constructor(modelPath, languageDictionaryPath, languageGroupDictionaryPath) {
26
+ this.modelPath = modelPath;
27
+ this.languageDictionaryPath = languageDictionaryPath;
28
+ this.languageGroupDictionaryPath = languageGroupDictionaryPath;
29
+ }
30
+ async initialize() {
31
+ const logger = new Logger();
32
+ logger.start("Initialize ONNX inference session");
33
+ this.languageDictionary = await readAndParseJsonFile(this.languageDictionaryPath);
34
+ this.languageGroupDictionary = await readAndParseJsonFile(this.languageGroupDictionaryPath);
35
+ const onnxOptions = {
36
+ logSeverityLevel: 3
37
+ };
38
+ this.session = await Onnx.InferenceSession.create(this.modelPath, onnxOptions);
39
+ logger.end();
40
+ }
41
+ async detectLanguage(rawAudio) {
42
+ const logger = new Logger();
43
+ logger.start("Detect language with Silero");
44
+ const audioSamples = rawAudio.audioChannels[0];
45
+ const inputTensor = new Onnx.Tensor('float32', audioSamples, [1, audioSamples.length]);
46
+ const inputs = { input: inputTensor };
47
+ const results = await this.session.run(inputs);
48
+ logger.start("Parse model results");
49
+ const languageLogits = results["output"].data;
50
+ const languageGroupLogits = results["2038"].data;
51
+ const languageProbabilities = softmax(languageLogits);
52
+ const languageGroupProbabilities = softmax(languageGroupLogits);
53
+ const languageResults = [];
54
+ for (let i = 0; i < languageProbabilities.length; i++) {
55
+ const languageString = this.languageDictionary[i];
56
+ const languageCode = languageString.replace(/,.*$/, "");
57
+ languageResults.push({
58
+ language: languageCode,
59
+ languageName: languageCodeToName(languageCode),
60
+ probability: languageProbabilities[i]
61
+ });
62
+ }
63
+ const languageGroupResults = [];
64
+ for (let i = 0; i < languageGroupProbabilities.length; i++) {
65
+ languageGroupResults.push({
66
+ languageGroup: this.languageGroupDictionary[i],
67
+ probability: languageGroupProbabilities[i]
68
+ });
69
+ }
70
+ logger.end();
71
+ return { languageResults, languageGroupResults };
42
72
  }
43
- languageGroupResults.sort((a, b) => b.probability - a.probability);
44
- logger.end();
45
- return { languageResults, languageGroupResults };
46
73
  }
47
74
  //# sourceMappingURL=SileroLanguageDetection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SileroLanguageDetection.js","sourceRoot":"","sources":["../../src/speech-language-detection/SileroLanguageDetection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SileroLanguageDetection.js","sourceRoot":"","sources":["../../src/speech-language-detection/SileroLanguageDetection.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { convert as convertHtmlToText } from 'html-to-text';
2
2
  import { formatHMS, formatMS, secondsToHMS, secondsToMS, startsWithAnyOf } from "../utilities/Utilities.js";
3
- import { isWord } from '../nlp/Segmentation.js';
3
+ import { isWord, isWordOrSymbolWord } from '../nlp/Segmentation.js';
4
4
  import { charactersToWriteAhead } from '../audio/AudioPlayer.js';
5
5
  import { readFile } from '../utilities/FileSystem.js';
6
6
  import { deepClone } from '../utilities/ObjectUtilities.js';
@@ -138,7 +138,7 @@ export function timelineToSubtitles(timeline, subtitlesConfig, recurse = false)
138
138
  return;
139
139
  }
140
140
  if (timeline[0].type == "word") {
141
- const wordTimeline = timeline.filter(entry => isWord(entry.text));
141
+ const wordTimeline = timeline.filter(entry => isWordOrSymbolWord(entry.text));
142
142
  const text = wordTimeline.map(entry => entry.text).join(" ");
143
143
  const segmentEntry = {
144
144
  type: "segment",
@@ -1 +1 @@
1
- {"version":3,"file":"Subtitles.js","sourceRoot":"","sources":["../../src/subtitles/Subtitles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subtitles.js","sourceRoot":"","sources":["../../src/subtitles/Subtitles.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" resolution-mode="require"/>
1
2
  export declare function synthesize(text: string, apiKey: string, languageCode?: string, voice?: string, speakingRate?: number, pitchDeltaSemitones?: number, volumeGainDb?: number, ssml?: boolean, audioEncoding?: AudioEncoding, sampleRate?: number): Promise<{
2
3
  audioData: Buffer;
3
4
  timepoints: timePoint[];
@@ -6,13 +6,14 @@ import { Logger } from "./Logger.js";
6
6
  import path from "node:path";
7
7
  import { extractTarball } from "./Compression.js";
8
8
  import { createWriteStream, move, remove, readdir, ensureDir } from "./FileSystem.js";
9
+ import chalk from "chalk";
9
10
  export async function downloadAndExtractTarball(options, targetDir, baseTempPath, displayName = "archive") {
10
11
  const logger = new Logger();
11
12
  const randomID = getRandomHexString(16).toLowerCase();
12
13
  const tempTarballPath = path.join(baseTempPath, `/${randomID}.tarball`);
13
14
  const tempDirPath = path.join(baseTempPath, `/${randomID}`);
14
15
  await ensureDir(tempDirPath);
15
- await downloadFile(options, tempTarballPath, `Downloading ${displayName}`);
16
+ await downloadFile(options, tempTarballPath, `${chalk.cyanBright('Downloading')} ${chalk.greenBright(displayName)}`);
16
17
  logger.start(`Extracting ${displayName}`);
17
18
  await extractTarball(tempTarballPath, tempDirPath);
18
19
  await remove(tempTarballPath);
@@ -65,7 +66,7 @@ export async function downloadFile(options, targetFilePath, prompt = "Downloadin
65
66
  let newString;
66
67
  if (totalBytes != undefined) {
67
68
  const percentage = (downloadedMBytes / totalMBytes) * 100;
68
- newString = `${prompt}.. ${downloadedMbytesStr}MB/${totalMbytesStr}MB (${percentage.toFixed(1)}%, ${timer.elapsedTimeSeconds.toFixed(1)}s, ${downloadRateStr}MB/s)`;
69
+ newString = `${prompt}.. ${downloadedMbytesStr}MB/${totalMbytesStr}MB (${chalk.blueBright(percentage.toFixed(1) + '%')}, ${timer.elapsedTimeSeconds.toFixed(1)}s, ${downloadRateStr}MB/s)`;
69
70
  }
70
71
  else {
71
72
  newString = `${prompt}.. ${downloadedMbytesStr}MB (${timer.elapsedTimeSeconds.toFixed(1)}s, ${downloadRateStr}MB/s)`;
@@ -1 +1 @@
1
- {"version":3,"file":"FileDownloader.js","sourceRoot":"","sources":["../../src/utilities/FileDownloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileDownloader.js","sourceRoot":"","sources":["../../src/utilities/FileDownloader.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { medianFilter, softMax } from '../math/VectorMath.js';
1
+ import { medianFilter, softmax } from '../math/VectorMath.js';
2
2
  export function ndarraySoftMax(vector, temperature = 1.0) {
3
3
  const vectorAsArray = new Array(vector.shape[0]);
4
4
  for (let i = 0; i < vectorAsArray.length; i++) {
5
5
  vectorAsArray[i] = vector.get(i);
6
6
  }
7
- const result = softMax(vectorAsArray, temperature);
7
+ const result = softmax(vectorAsArray, temperature);
8
8
  for (let i = 0; i < vectorAsArray.length; i++) {
9
9
  vector.set(i, result[i]);
10
10
  }
@@ -6,6 +6,7 @@ export declare abstract class RandomGenerator {
6
6
  getNormallyDistributedVector(featureCount: number, meanVector: number[], standardDeviationVector: number[]): number[];
7
7
  getNormallyDistributedValues(count: number, mean?: number, standardDeviation?: number): number[];
8
8
  getNormallyDistributedPair(): number[];
9
+ selectRandomIndexFromDistribution(distribution: number[]): number;
9
10
  abstract nextFloat(): number;
10
11
  abstract nextUint32(): number;
11
12
  abstract nextInt32(): number;
@@ -1,3 +1,4 @@
1
+ import { sumVector } from "../math/VectorMath.js";
1
2
  import { logToStderr } from "./Utilities.js";
2
3
  export class RandomGenerator {
3
4
  getIntInRange(min, max) {
@@ -54,6 +55,19 @@ export class RandomGenerator {
54
55
  const n2 = y * m;
55
56
  return [n1, n2];
56
57
  }
58
+ selectRandomIndexFromDistribution(distribution) {
59
+ const sum = sumVector(distribution);
60
+ const randomTarget = this.getFloatInRange(0, sum);
61
+ let cumSum = 0;
62
+ for (let i = 0; i < distribution.length; i++) {
63
+ const element = distribution[i];
64
+ if (randomTarget < cumSum + element) {
65
+ return i;
66
+ }
67
+ cumSum += element;
68
+ }
69
+ return distribution.length - 1;
70
+ }
57
71
  }
58
72
  export class MurmurRNG extends RandomGenerator {
59
73
  state;
@@ -1 +1 @@
1
- {"version":3,"file":"RandomGenerator.js","sourceRoot":"","sources":["../../src/utilities/RandomGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RandomGenerator.js","sourceRoot":"","sources":["../../src/utilities/RandomGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export declare function addTimeOffsetToTimeline(targetTimeline: Timeline, timeOffset: number): Timeline;
2
2
  export declare function multiplyTimelineByFactor(targetTimeline: Timeline, factor: number): Timeline;
3
- export declare function roundTimelineTimestamps(targetTimeline: Timeline, decimalDigits?: number): Timeline;
3
+ export declare function roundTimelineProperties(targetTimeline: Timeline, decimalDigits?: number): Timeline;
4
4
  export declare function wordTimelineToSegmentSentenceTimeline(wordTimeline: Timeline, transcript: string, language: string): Promise<{
5
5
  segmentTimeline: Timeline;
6
6
  }>;
@@ -26,7 +26,7 @@ export function multiplyTimelineByFactor(targetTimeline, factor) {
26
26
  }
27
27
  return newTimeline;
28
28
  }
29
- export function roundTimelineTimestamps(targetTimeline, decimalDigits = 2) {
29
+ export function roundTimelineProperties(targetTimeline, decimalDigits = 2) {
30
30
  const roundedTimeline = deepClone(targetTimeline);
31
31
  for (const entry of roundedTimeline) {
32
32
  if (entry.startTime) {
@@ -35,8 +35,11 @@ export function roundTimelineTimestamps(targetTimeline, decimalDigits = 2) {
35
35
  if (entry.endTime) {
36
36
  entry.endTime = roundToDigits(entry.endTime, decimalDigits);
37
37
  }
38
+ if (entry.confidence) {
39
+ entry.confidence = roundToDigits(entry.confidence, decimalDigits);
40
+ }
38
41
  if (entry.timeline) {
39
- entry.timeline = roundTimelineTimestamps(entry.timeline);
42
+ entry.timeline = roundTimelineProperties(entry.timeline);
40
43
  }
41
44
  }
42
45
  return roundedTimeline;
@@ -1 +1 @@
1
- {"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../../src/utilities/Timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,UAAU,uBAAuB,CAAC,cAAwB,EAAE,UAAkB;IACnF,IAAI,CAAC,cAAc,EAAE;QACpB,OAAO,cAAc,CAAA;KACrB;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;IAE7C,KAAK,MAAM,oBAAoB,IAAI,WAAW,EAAE;QAC/C,oBAAoB,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC,CAAC,CAAA;QACzF,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC,CAAA;QAErF,IAAI,oBAAoB,CAAC,QAAQ,EAAE;YAClC,oBAAoB,CAAC,QAAQ,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;SAClG;KACD;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;AAGD,MAAM,UAAU,wBAAwB,CAAC,cAAwB,EAAE,MAAc;IAChF,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;IAE7C,KAAK,MAAM,oBAAoB,IAAI,WAAW,EAAE;QAC/C,oBAAoB,CAAC,SAAS,GAAG,oBAAoB,CAAC,SAAS,GAAG,MAAM,CAAA;QACxE,oBAAoB,CAAC,OAAO,GAAG,oBAAoB,CAAC,OAAO,GAAG,MAAM,CAAA;QAEpE,IAAI,oBAAoB,CAAC,QAAQ,EAAE;YAClC,oBAAoB,CAAC,QAAQ,GAAG,wBAAwB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;SAC/F;KACD;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,cAAwB,EAAE,aAAa,GAAG,CAAC;IAClF,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;IAEjD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE;QACpC,IAAI,KAAK,CAAC,SAAS,EAAE;YACpB,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;SAC/D;QAED,IAAI,KAAK,CAAC,OAAO,EAAE;YAClB,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;SAC3D;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE;YACnB,KAAK,CAAC,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;SACxD;KACD;IAED,OAAO,eAAe,CAAA;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CAAC,YAAsB,EAAE,UAAkB,EAAE,QAAgB;IACvH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;IAE5E,MAAM,QAAQ,GAAG,UAAU;SACxB,GAAG,CAAC,OAAO,CAAC,EAAE,CACd,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAClD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAErB,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,MAAM,+BAA+B,GAAoB,EAAE,CAAA;IAE3D,MAAM,eAAe,GAAa,EAAE,CAAA;IAEpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC/B,MAAM,kBAAkB,GAAa,EAAE,CAAA;QAEvC,MAAM,YAAY,GAAkB;YACnC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,CAAC,CAAC;YACb,OAAO,EAAE,CAAC,CAAC;YACX,QAAQ,EAAE,kBAAkB;SAC5B,CAAA;QAED,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE;YAC/B,MAAM,aAAa,GAAkB;gBACpC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC,CAAC;gBACb,OAAO,EAAE,CAAC,CAAC;gBACX,QAAQ,EAAE,EAAE;aACZ,CAAA;YAED,KAAK,MAAM,IAAI,IAAI,QAAQ,GAAG,GAAG,EAAE;gBAClC,IAAI,IAAI,IAAI,CAAA;gBACZ,+BAA+B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;aACnD;YAED,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;SACtC;QAED,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;KAClC;IAED,IAAI,qBAAqB,GAAG,CAAC,CAAA;IAE7B,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;QACrE,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAA;QAE/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACtB,SAAQ;SACR;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAA;QAEvE,IAAI,iBAAiB,IAAI,CAAC,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,mCAAmC,qBAAqB,EAAE,CAAC,CAAA;SAC9G;QAED,MAAM,mBAAmB,GAAG,+BAA+B,CAAC,iBAAiB,CAAC,CAAA;QAC9E,mBAAmB,CAAC,QAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAE7C,qBAAqB,GAAG,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAA;KAC3D;IAED,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE;QAC3C,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAS,CAAA;QAE/C,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SAClD;QAED,KAAK,MAAM,aAAa,IAAI,gBAAgB,EAAE;YAC7C,MAAM,YAAY,GAAG,aAAa,CAAC,QAAS,CAAA;YAE5C,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;aAC/C;YAED,aAAa,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACnD,aAAa,CAAC,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA;SACrE;QAED,YAAY,CAAC,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEvF,YAAY,CAAC,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACtD,YAAY,CAAC,OAAO,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA;KAC5E;IAED,OAAO,EAAE,eAAe,EAAE,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../../src/utilities/Timeline.ts"],"names":[],"mappings":"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"}
package/docs/Options.md CHANGED
@@ -106,6 +106,8 @@ Applicable to CLI command: `transcribe`.
106
106
 
107
107
  **Whisper**:
108
108
  * `whisper.model`: selects which Whisper model to use. Can be `tiny`, `tiny.en`, `base`, `base.en`, `small`, `small.en`, `medium`, `medium.en`, `large` (same as `large-v2`), `large-v1`, `large-v2`. Defaults to `tiny`
109
+ * `whisper.temperature`: temperature setting for the text decoder. Impacts amount of randomization for token selection. It is recommended to leave at `0.0` (no randomization - always chooses top ranked token) or choose a relatively low value (about `0.2` or lower) for best results. Defaults to `0.0`
110
+ * `whisper.prompt`: initial text to give the Whisper model, can be a vocabulary or a example of some sort. Note that if the prompt is very similar to the transcript, the model may avoid producing the correct tokens. Optional
109
111
 
110
112
  **Vosk**:
111
113
  * `vosk.modelPath`: path to the Vosk model to be used
@@ -157,6 +159,8 @@ Applicable to CLI command: `translate-speech`.
157
159
 
158
160
  **Whisper**:
159
161
  * `whisper.model`: Whisper model to use (multilingual engines only). Defaults to `tiny`
162
+ * `whisper.temperature`: temperature setting for the text decoder. See recognition options for more details. Defaults to `0.0`
163
+ * `whisper.prompt` initial text to give the Whisper model. See recognition options for more details. Optional
160
164
 
161
165
  ## Language detection
162
166
 
package/docs/Tasklist.md CHANGED
@@ -105,7 +105,6 @@
105
105
  * Accept voice list caching options in `SynthesisOptions`
106
106
 
107
107
  ### Speech language detection
108
- * When using Whisper for language detection of speech, apply it to the entire audio, not just the first 30 seconds
109
108
 
110
109
  ### Text language detection
111
110
  * Deploy and add the new n-gram based text language detection model
@@ -125,9 +124,10 @@
125
124
  * Option to generate captions that have word-level timings
126
125
 
127
126
  ### Synthesis
127
+ * Option to disable alignment.
128
128
  * Find places to add commas (",") to improve speech fluency. VITS voices don't normally add phrasing breaks if there is no punctuation
129
129
  * An isolated dash " - " can be converted to a " , " to ensure there's a break in the speech.
130
- * Ensure abbreviations like "Ph.d" or names like are segmented and read correctly (why doesn't `cldr` treat it as a word? Maybe it's not getting the right parameters, or it's not included in the list?) and "C#"
130
+ * Ensure abbreviations like "Ph.d" or names like are segmented and read correctly (does `cldr` treat it as a word? Maybe eSpeak doesn't recognize it as a word). "C#" as well
131
131
  * Find way to manually reset voice list cache
132
132
  * When synthesized text isn't pre-split to sentences, apply sentence splits by using the existing method to convert the output of word timelines to sentence/segment timelines
133
133
  * Some `sapi` voices and `msspeech` languages output phones that are converted to Microsoft alphabet, not IPA symbols. Try to see if these can be translated to IPA
@@ -135,10 +135,8 @@
135
135
  * Add partial SSML support for all engines. In particular, allow changing language or voice using the `<voice>` and `<lang>` tags, `<say-as>` and `<phoneme>` where possible.
136
136
  * Try to remove reliance on `()` after `.` character hack in `EspeakTTS.synthesizeFragments`.
137
137
  * eSpeak IPA output puts stress marks on vowels, not syllables - which is the standard for IPA. Consider how to make a conversion to and from these two approaches (possibly detect it automatically).
138
- * Investigate if eSpeak can be made to correctly support phonemizing and pronouncing the dot character like in `object.key`
139
- * Speaker-specific voice option
140
138
  * Decide if `msspeech` engine should be selected if available. This would require attempting to load a matching voice, and falling back if it is not installed
141
- * Option to disable alignment
139
+ * Speaker-specific voice option
142
140
  * Use VAD on the synthesized audio file to get more accurate sentence or word segmentation
143
141
 
144
142
  ### Synthesis / preprocessing
@@ -169,17 +167,11 @@
169
167
  * Option to split recognized audio to segments or sentences, as is done with synthesized audio
170
168
 
171
169
  ### Recognition / Whisper
172
- * Add sampling and temperature support to decoder. This may help with repetitive token sequences.
173
- * During language detection, if file is more than 30s, run the detection over all the segments and average the resulting probability distributions, consider how to handle very short segments
174
- * When using `dtw-ra` alignment, pass the transcript as a prompt. Remove some of the initial transcript based on what has been detected (try to find the best matching initial segment between the transcript and recognized text, and remove it at each recognition window).
175
- * Accept custom prompt via an option
176
- * Log individual tokens to the terminal as they are being decoded from the model
177
- * Timestamps extracted from cross-attention are still not as accurate as what the official Python implementation gets. Try to see if you can make them better.
178
170
  * Cache last model (if enough memory available)
179
- * Integrate speech language detection into the recognition itself, so it is done efficiently when the language is not known
180
171
  * Bring back option to use eSpeak DTW based alignment on segments, as an alternative approach
181
- * The segment output can be use to split to segment files, otherwise it is possible to try to guess using the pause lengths or voice activity detection
172
+ * The segment output can be use to split to segments, otherwise it is possible to try to guess using pause lengths or voice activity detection
182
173
  * Way to specify general model size, such that the English-only/multilingual variant would be automatically selected for sizes other than `tiny`?
174
+ * Timestamps extracted from cross-attention are still not as accurate as what the official Python implementation gets. Try to see if you can make them better.
183
175
 
184
176
  ### Alignment
185
177
 
@@ -202,6 +194,7 @@
202
194
  * `espeak-ng`: 'Oh dear!”' is read as "oh dear exclamation mark", because of the special quote character following the exclamation mark
203
195
  * `espeak-ng`: [Marker right after sentence end is not reported as an event](https://github.com/espeak-ng/espeak-ng/issues/920)
204
196
  * `espeak-ng`: On Japanese text, it says "Chinese character" or "Japanese character" for characters it doesn't know
197
+ * `espeak-ng`: Joins multiple words into a single event when its lexicon has a compound pronunciation. For example "there was" includes the phonemes for both "there" and "was" (`ðɛɹwˌʌz`) only under "there", and leaves "was" empty.
205
198
  * `wtf_wikipedia` Sometimes fails on `getResult.js` without throwing a humanly readable error
206
199
  * `wtf_wikipedia` Sometimes captures markup like `.svg` etc.
207
200
  * `msspeech`: Initialization fails on Chinese and Japanese voices (but not Korean)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "0.7.2",
4
- "description": "An integrated speech system, providing a range of synthesis, recognition and other processing tools designed to be directly accessible to end-users.",
3
+ "version": "0.8.0",
4
+ "description": "An integrated speech system, providing a range of synthesis, recognition, alignment, and other processing tools, designed to be directly accessible to end-users.",
5
5
  "author": "Rotem Dan",
6
6
  "license": "GPL-3.0-only",
7
7
  "keywords": [
@@ -77,7 +77,7 @@
77
77
  "compromise": "^14.9.0",
78
78
  "compromise-dates": "^3.4.1",
79
79
  "fs-extra": "^11.1.1",
80
- "gaxios": "^6.0.2",
80
+ "gaxios": "^6.0.3",
81
81
  "graceful-fs": "^4.2.11",
82
82
  "html-escaper": "^3.0.3",
83
83
  "html-to-text": "^9.0.5",
@@ -125,8 +125,8 @@
125
125
  "@types/recursive-readdir": "^2.2.1",
126
126
  "@types/tar": "^6.1.5",
127
127
  "@types/ws": "^8.5.5",
128
- "@typescript-eslint/eslint-plugin": "^6.1.0",
129
- "@typescript-eslint/parser": "^6.1.0",
128
+ "@typescript-eslint/eslint-plugin": "^6.2.0",
129
+ "@typescript-eslint/parser": "^6.2.0",
130
130
  "eslint": "^8.45.0",
131
131
  "ts-json-schema-generator": "^1.2.0",
132
132
  "typescript": "^5.1.6"