echogarden 1.0.5 → 1.1.1

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 (122) hide show
  1. package/README.md +26 -23
  2. package/data/schemas/options.json +177 -36
  3. package/dist/alignment/SpeechAlignment.d.ts +1 -1
  4. package/dist/alignment/SpeechAlignment.js +1 -1
  5. package/dist/alignment/SpeechAlignment.js.map +1 -1
  6. package/dist/api/API.d.ts +1 -0
  7. package/dist/api/API.js +1 -0
  8. package/dist/api/API.js.map +1 -1
  9. package/dist/api/APIOptions.d.ts +1 -0
  10. package/dist/api/Alignment.d.ts +3 -3
  11. package/dist/api/Alignment.js +7 -11
  12. package/dist/api/Alignment.js.map +1 -1
  13. package/dist/api/LanguageDetection.d.ts +5 -7
  14. package/dist/api/LanguageDetection.js +3 -2
  15. package/dist/api/LanguageDetection.js.map +1 -1
  16. package/dist/api/Recognition.d.ts +4 -5
  17. package/dist/api/Recognition.js +5 -8
  18. package/dist/api/Recognition.js.map +1 -1
  19. package/dist/api/SourceSeparation.d.ts +2 -0
  20. package/dist/api/SourceSeparation.js +4 -2
  21. package/dist/api/SourceSeparation.js.map +1 -1
  22. package/dist/api/Synthesis.d.ts +3 -1
  23. package/dist/api/Synthesis.js +9 -10
  24. package/dist/api/Synthesis.js.map +1 -1
  25. package/dist/api/Translation.d.ts +1 -1
  26. package/dist/api/Translation.js +4 -8
  27. package/dist/api/Translation.js.map +1 -1
  28. package/dist/api/TranslationAlignment.d.ts +31 -0
  29. package/dist/api/TranslationAlignment.js +121 -0
  30. package/dist/api/TranslationAlignment.js.map +1 -0
  31. package/dist/api/VoiceActivityDetection.d.ts +5 -1
  32. package/dist/api/VoiceActivityDetection.js +38 -2
  33. package/dist/api/VoiceActivityDetection.js.map +1 -1
  34. package/dist/audio/AudioPlayer.js +6 -1
  35. package/dist/audio/AudioPlayer.js.map +1 -1
  36. package/dist/cli/CLI.js +85 -0
  37. package/dist/cli/CLI.js.map +1 -1
  38. package/dist/dsp/FFT.js.map +1 -1
  39. package/dist/math/MedianFilter.d.ts +5 -0
  40. package/dist/math/MedianFilter.js +102 -0
  41. package/dist/math/MedianFilter.js.map +1 -0
  42. package/dist/math/VectorMath.d.ts +0 -2
  43. package/dist/math/VectorMath.js +1 -25
  44. package/dist/math/VectorMath.js.map +1 -1
  45. package/dist/recognition/OpenAICloudSTT.d.ts +1 -1
  46. package/dist/recognition/OpenAICloudSTT.js.map +1 -1
  47. package/dist/recognition/SileroSTT.d.ts +22 -1
  48. package/dist/recognition/SileroSTT.js +122 -95
  49. package/dist/recognition/SileroSTT.js.map +1 -1
  50. package/dist/recognition/WhisperCppSTT.js +1 -1
  51. package/dist/recognition/WhisperCppSTT.js.map +1 -1
  52. package/dist/recognition/WhisperSTT.d.ts +52 -19
  53. package/dist/recognition/WhisperSTT.js +639 -478
  54. package/dist/recognition/WhisperSTT.js.map +1 -1
  55. package/dist/server/Server.js.map +1 -1
  56. package/dist/source-separation/MDXNetSourceSeparation.d.ts +5 -3
  57. package/dist/source-separation/MDXNetSourceSeparation.js +26 -19
  58. package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
  59. package/dist/speech-language-detection/SileroLanguageDetection.d.ts +15 -9
  60. package/dist/speech-language-detection/SileroLanguageDetection.js +23 -16
  61. package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
  62. package/dist/synthesis/EspeakTTS.js +4 -0
  63. package/dist/synthesis/EspeakTTS.js.map +1 -1
  64. package/dist/synthesis/GoogleCloudTTS.js.map +1 -1
  65. package/dist/synthesis/VitsTTS.d.ts +8 -6
  66. package/dist/synthesis/VitsTTS.js +36 -31
  67. package/dist/synthesis/VitsTTS.js.map +1 -1
  68. package/dist/tests/Test.js.map +1 -1
  69. package/dist/utilities/OnnxUtilities.d.ts +14 -0
  70. package/dist/utilities/OnnxUtilities.js +43 -0
  71. package/dist/utilities/OnnxUtilities.js.map +1 -0
  72. package/dist/utilities/Utilities.d.ts +4 -8
  73. package/dist/utilities/Utilities.js +35 -58
  74. package/dist/utilities/Utilities.js.map +1 -1
  75. package/dist/voice-activity-detection/SileroVAD.d.ts +5 -3
  76. package/dist/voice-activity-detection/SileroVAD.js +9 -11
  77. package/dist/voice-activity-detection/SileroVAD.js.map +1 -1
  78. package/docs/API.md +54 -34
  79. package/docs/CLI.md +25 -13
  80. package/docs/Contributing.md +7 -5
  81. package/docs/Engines.md +43 -32
  82. package/docs/Licenses.md +3 -4
  83. package/docs/Options.md +49 -13
  84. package/docs/Releases.md +7 -7
  85. package/docs/Server.md +8 -6
  86. package/docs/Tasklist.md +49 -62
  87. package/docs/Technical.md +1 -1
  88. package/package.json +7 -11
  89. package/src/alignment/SpeechAlignment.ts +1 -1
  90. package/src/api/API.ts +1 -0
  91. package/src/api/APIOptions.ts +1 -0
  92. package/src/api/Alignment.ts +14 -16
  93. package/src/api/LanguageDetection.ts +14 -10
  94. package/src/api/Recognition.ts +17 -10
  95. package/src/api/SourceSeparation.ts +7 -2
  96. package/src/api/Synthesis.ts +26 -11
  97. package/src/api/Translation.ts +14 -8
  98. package/src/api/TranslationAlignment.ts +213 -0
  99. package/src/api/VoiceActivityDetection.ts +66 -3
  100. package/src/audio/AudioPlayer.ts +6 -2
  101. package/src/cli/CLI.ts +121 -2
  102. package/src/dsp/FFT.ts +3 -0
  103. package/src/math/MedianFilter.ts +124 -0
  104. package/src/math/VectorMath.ts +1 -36
  105. package/src/recognition/OpenAICloudSTT.ts +27 -27
  106. package/src/recognition/SileroSTT.ts +149 -102
  107. package/src/recognition/WhisperCppSTT.ts +1 -1
  108. package/src/recognition/WhisperSTT.ts +959 -669
  109. package/src/server/Server.ts +1 -1
  110. package/src/source-separation/MDXNetSourceSeparation.ts +35 -19
  111. package/src/speech-language-detection/SileroLanguageDetection.ts +53 -33
  112. package/src/synthesis/EspeakTTS.ts +8 -0
  113. package/src/synthesis/GoogleCloudTTS.ts +12 -1
  114. package/src/synthesis/VitsTTS.ts +57 -46
  115. package/src/tests/Test.ts +1 -1
  116. package/src/utilities/OnnxUtilities.ts +68 -0
  117. package/src/utilities/Utilities.ts +38 -66
  118. package/src/voice-activity-detection/SileroVAD.ts +15 -15
  119. package/dist/utilities/NdArrayUtilities.d.ts +0 -3
  120. package/dist/utilities/NdArrayUtilities.js +0 -23
  121. package/dist/utilities/NdArrayUtilities.js.map +0 -1
  122. package/src/utilities/NdArrayUtilities.ts +0 -31
package/README.md CHANGED
@@ -1,25 +1,28 @@
1
1
  # Echogarden
2
2
 
3
- Echogarden is an integrated speech toolset that provides a variety of synthesis, recognition, alignment, and other processing tools, designed to be directly accessible to end-users:
3
+ Echogarden is an easy-to-use speech toolset that includes a variety of speech processing tools.
4
4
 
5
5
  * Easy to install, run, and update
6
6
  * Runs on Windows (x64), macOS (x64, ARM64) and Linux (x64, ARM64)
7
7
  * Written in TypeScript, for the Node.js runtime
8
- * Doesn't require Python, Docker, or similar system-level dependencies
9
- * Doesn't rely on any essential platform-specific binaries. Engines are either ported via WebAssembly, imported using the [ONNX runtime](https://onnxruntime.ai/), or written in pure JavaScript
10
-
11
- ## Feature highlights
12
-
13
- * Fast, high-quality offline multilingual text-to-speech voices based on the [VITS](https://github.com/jaywalnut310/vits) neural architecture
14
- * Accurate offline speech recognition using [OpenAI Whisper](https://openai.com/research/whisper) models
15
- * Supports a [large variety of offline and cloud engines](docs/Engines.md), including services by Google, Microsoft, Amazon, OpenAI, Elevenlabs and others
16
- * Word-level timestamps for all synthesis and recognition outputs
17
- * Speech-to-transcript alignment using dynamic time warping (DTW), and dynamic time warping with recognition assist (DTW-RA) methods, including support for multi-pass (hierarchical) processing. Supports 100+ languages
18
- * Advanced subtitle generation, accounting for sentence and phrase boundaries
19
- * Can directly generate translated transcripts for 98 languages, transcribed directly to English, and produce near word-level timestamps for the translated transcript
20
- * Attempts to improve TTS pronunciation accuracy on some engines: adds text normalization (e.g. idiomatic date and currency pronunciation), heteronym disambiguation (based on a rule-based model) and user-customizable pronunciation lexicons
21
- * Internal package system that auto-downloads and installs voices, models and other resources, as needed
22
- * Other features include: language detection (for both audio and text), voice activity detection, speech denoising and source separation
8
+ * Doesn't require Python, Docker, or other system-level dependencies
9
+ * Doesn't rely on essential platform-specific binaries. Engines are either ported via WebAssembly, imported using the [ONNX runtime](https://onnxruntime.ai/), or written in pure JavaScript
10
+
11
+ ## Features
12
+
13
+ * **Text-to-speech** using the [VITS](https://github.com/jaywalnut310/vits) neural architecture, and [15 other offline and online engines](docs/Engines.md), including cloud services by [Google](https://cloud.google.com/text-to-speech), [Microsoft](https://azure.microsoft.com/en-us/products/ai-services/text-to-speech/), [Amazon](https://aws.amazon.com/polly/), [OpenAI](https://platform.openai.com/) and [Elevenlabs](https://elevenlabs.io/)
14
+ * **Speech-to-text** using [OpenAI Whisper](https://openai.com/research/whisper), and [several other engines](docs/Engines.md), including cloud services by [Google](https://cloud.google.com/speech-to-text), [Microsoft](https://azure.microsoft.com/en-us/products/ai-services/speech-to-text/), [Amazon](https://aws.amazon.com/transcribe/) and [OpenAI](https://platform.openai.com/)
15
+ * **Speech-to-transcript alignment** using several variants of [dynamic time warping](https://en.wikipedia.org/wiki/Dynamic_time_warping) (DTW, DTW-RA), including support for multi-pass (hierarchical) processing, or via guided decoding using Whisper recognition models. Supports 100+ languages
16
+ * **Speech-to-text translation**, translates speech in any of the [98 languages](https://platform.openai.com/docs/guides/speech-to-text/supported-languages) supported by Whisper, to English, with near word-level timing for the translated transcript
17
+ * **Speech-to-translated-transcript alignment** attempts to synchronize spoken audio in one language, to a provided English-translated transcript, using the Whisper engine
18
+ * **Language detection** identifies the language of a given audio or text. Provides Whisper or [Silero](https://github.com/snakers4/silero-vad/wiki/Other-Models) engines for audio, and [TinyLD](https://www.npmjs.com/package/tinyld) or [FastText](https://github.com/facebookresearch/fastText) for text
19
+ * **Voice activity detection** attempts to identify segments of audio where voice is active or inactive. Includes [WebRTC VAD](https://github.com/dpirch/libfvad), [Silero VAD](https://github.com/snakers4/silero-vad), [RNNoise-based VAD](https://github.com/xiph/rnnoise) and a custom Adaptive Gate
20
+ * **Speech denoising** attenuates background noise from spoken audio. Includes the [RNNoise](https://github.com/xiph/rnnoise) engine
21
+ * **Source separation** isolates voice from any music or background ambience. Supports the [MDX-NET](https://github.com/kuielab/mdx-net) deep learning architecture
22
+ * **Word-level timestamps** for all recognition, synthesis, alignment and translation outputs
23
+ * Advanced **subtitle generation**, accounting for sentence and phrase boundaries
24
+ * For the VITS and eSpeak-NG synthesis engines, includes **enhancements to improve TTS pronunciation accuracy**: adds text normalization (e.g. idiomatic date and currency pronunciation), heteronym disambiguation (based on a rule-based model) and user-customizable pronunciation lexicons
25
+ * **Internal package system** that auto-downloads and installs voices, models and other resources, as needed
23
26
 
24
27
  ## Installation
25
28
 
@@ -44,25 +47,25 @@ On macOS, only `ffmpeg` is currently auto-downloaded. It is recommended to insta
44
47
  npm update echogarden -g
45
48
  ```
46
49
 
47
- ## Interfacing with the toolset
50
+ ## Using the toolset
48
51
 
49
- Currently, tools are accessible mainly through a [command-line interface](docs/CLI.md), which enables powerful customization and is especially useful for long-running bulk operations.
52
+ Tools are accessible via a [command-line interface](docs/CLI.md), which enables powerful customization and is especially useful for long-running bulk operations.
50
53
 
51
54
  Development of more graphical and interactive tooling is [planned](https://github.com/echogarden-project/echogarden/issues/28). A text-to-speech browser extension is currently under development (but not released yet).
52
55
 
53
- If you are a developer, you can also [import the package as a module](docs/API.md) or [interface with it via a local WebSocket service](docs/Server.md).
56
+ If you are a developer, you can also [import the package as a module](docs/API.md) or [interface with it via a local WebSocket service](docs/Server.md) (currently experimental).
54
57
 
55
- ## Guides and resource pages
58
+ ## Documentation
56
59
 
57
- * [Using the command-line interface](docs/CLI.md)
60
+ * [Quick guide to the command-line interface](docs/CLI.md)
58
61
  * [Options reference](docs/Options.md)
59
62
  * [Full list of supported engines](docs/Engines.md)
60
63
  * [Node.js API reference](docs/API.md)
64
+ * [Technical overview and Q&A](docs/Technical.md)
61
65
  * [How to help](docs/Contributing.md)
62
66
  * [Setting up a development environment](docs/Development.md)
63
- * [Technical overview and Q&A](docs/Technical.md)
64
67
  * [Developer's task list](docs/Tasklist.md)
65
- * [Release notes](docs/Releases.md)
68
+ * [Release notes (for releases up to `1.0.0`)](docs/Releases.md)
66
69
 
67
70
  ## Credits
68
71
 
@@ -17,6 +17,9 @@
17
17
  "AlignmentOptions": {
18
18
  "$ref": "#/definitions/AlignmentOptions"
19
19
  },
20
+ "TranslationAlignmentOptions": {
21
+ "$ref": "#/definitions/TranslationAlignmentOptions"
22
+ },
20
23
  "SpeechTranslationOptions": {
21
24
  "$ref": "#/definitions/SpeechTranslationOptions"
22
25
  },
@@ -44,6 +47,7 @@
44
47
  "SynthesisOptions",
45
48
  "RecognitionOptions",
46
49
  "AlignmentOptions",
50
+ "TranslationAlignmentOptions",
47
51
  "SpeechTranslationOptions",
48
52
  "SpeechLanguageDetectionOptions",
49
53
  "TextLanguageDetectionOptions",
@@ -160,6 +164,9 @@
160
164
  "properties": {
161
165
  "speakerId": {
162
166
  "type": "number"
167
+ },
168
+ "provider": {
169
+ "$ref": "#/definitions/OnnxExecutionProvider"
163
170
  }
164
171
  },
165
172
  "additionalProperties": false
@@ -488,7 +495,7 @@
488
495
  "$ref": "#/definitions/SourceSeparationOptions"
489
496
  },
490
497
  "whisper": {
491
- "$ref": "#/definitions/WhisperOptions"
498
+ "$ref": "#/definitions/WhisperAlignmentOptions"
492
499
  }
493
500
  },
494
501
  "additionalProperties": false
@@ -565,6 +572,9 @@
565
572
  60,
566
573
  90
567
574
  ]
575
+ },
576
+ "provider": {
577
+ "$ref": "#/definitions/OnnxExecutionProvider"
568
578
  }
569
579
  },
570
580
  "additionalProperties": false
@@ -573,6 +583,9 @@
573
583
  "type": "object",
574
584
  "additionalProperties": false
575
585
  },
586
+ "whisper": {
587
+ "$ref": "#/definitions/WhisperVADOptions"
588
+ },
576
589
  "adaptiveGate": {
577
590
  "$ref": "#/definitions/AdaptiveGateVADOptions"
578
591
  }
@@ -585,9 +598,52 @@
585
598
  "webrtc",
586
599
  "silero",
587
600
  "rnnoise",
601
+ "whisper",
588
602
  "adaptive-gate"
589
603
  ]
590
604
  },
605
+ "OnnxExecutionProvider": {
606
+ "type": "string",
607
+ "enum": [
608
+ "cpu",
609
+ "dml"
610
+ ]
611
+ },
612
+ "WhisperVADOptions": {
613
+ "type": "object",
614
+ "properties": {
615
+ "model": {
616
+ "$ref": "#/definitions/WhisperModelName"
617
+ },
618
+ "temperature": {
619
+ "type": "number"
620
+ },
621
+ "encoderProvider": {
622
+ "$ref": "#/definitions/OnnxExecutionProvider"
623
+ },
624
+ "decoderProvider": {
625
+ "$ref": "#/definitions/OnnxExecutionProvider"
626
+ }
627
+ },
628
+ "additionalProperties": false
629
+ },
630
+ "WhisperModelName": {
631
+ "type": "string",
632
+ "enum": [
633
+ "tiny",
634
+ "tiny.en",
635
+ "base",
636
+ "base.en",
637
+ "small",
638
+ "small.en",
639
+ "medium",
640
+ "medium.en",
641
+ "large",
642
+ "large-v1",
643
+ "large-v2",
644
+ "large-v3"
645
+ ]
646
+ },
591
647
  "AdaptiveGateVADOptions": {
592
648
  "type": "object",
593
649
  "properties": {
@@ -754,13 +810,7 @@
754
810
  "additionalProperties": false
755
811
  },
756
812
  "silero": {
757
- "type": "object",
758
- "properties": {
759
- "modelPath": {
760
- "type": "string"
761
- }
762
- },
763
- "additionalProperties": false
813
+ "$ref": "#/definitions/SileroRecognitionOptions"
764
814
  },
765
815
  "googleCloud": {
766
816
  "type": "object",
@@ -848,20 +898,10 @@
848
898
  "type": "boolean"
849
899
  },
850
900
  "silero": {
851
- "type": "object",
852
- "additionalProperties": false
901
+ "$ref": "#/definitions/SileroLanguageDetectionOptions"
853
902
  },
854
903
  "whisper": {
855
- "type": "object",
856
- "properties": {
857
- "model": {
858
- "$ref": "#/definitions/WhisperModelName"
859
- },
860
- "temperature": {
861
- "type": "number"
862
- }
863
- },
864
- "additionalProperties": false
904
+ "$ref": "#/definitions/WhisperLanguageDetectionOptions"
865
905
  },
866
906
  "whisperCpp": {
867
907
  "$ref": "#/definitions/WhisperCppOptions"
@@ -880,22 +920,32 @@
880
920
  "whisper.cpp"
881
921
  ]
882
922
  },
883
- "WhisperModelName": {
884
- "type": "string",
885
- "enum": [
886
- "tiny",
887
- "tiny.en",
888
- "base",
889
- "base.en",
890
- "small",
891
- "small.en",
892
- "medium",
893
- "medium.en",
894
- "large",
895
- "large-v1",
896
- "large-v2",
897
- "large-v3"
898
- ]
923
+ "SileroLanguageDetectionOptions": {
924
+ "type": "object",
925
+ "properties": {
926
+ "provider": {
927
+ "$ref": "#/definitions/OnnxExecutionProvider"
928
+ }
929
+ },
930
+ "additionalProperties": false
931
+ },
932
+ "WhisperLanguageDetectionOptions": {
933
+ "type": "object",
934
+ "properties": {
935
+ "model": {
936
+ "$ref": "#/definitions/WhisperModelName"
937
+ },
938
+ "temperature": {
939
+ "type": "number"
940
+ },
941
+ "encoderProvider": {
942
+ "$ref": "#/definitions/OnnxExecutionProvider"
943
+ },
944
+ "decoderProvider": {
945
+ "$ref": "#/definitions/OnnxExecutionProvider"
946
+ }
947
+ },
948
+ "additionalProperties": false
899
949
  },
900
950
  "WhisperCppOptions": {
901
951
  "type": "object",
@@ -987,6 +1037,9 @@
987
1037
  "properties": {
988
1038
  "model": {
989
1039
  "type": "string"
1040
+ },
1041
+ "executionProvider": {
1042
+ "$ref": "#/definitions/OnnxExecutionProvider"
990
1043
  }
991
1044
  },
992
1045
  "additionalProperties": false
@@ -1028,12 +1081,36 @@
1028
1081
  "decodeTimestampTokens": {
1029
1082
  "type": "boolean"
1030
1083
  },
1084
+ "endTokenThreshold": {
1085
+ "type": "number"
1086
+ },
1087
+ "includeEndTokenInCandidates": {
1088
+ "type": "boolean"
1089
+ },
1090
+ "encoderProvider": {
1091
+ "$ref": "#/definitions/OnnxExecutionProvider"
1092
+ },
1093
+ "decoderProvider": {
1094
+ "$ref": "#/definitions/OnnxExecutionProvider"
1095
+ },
1031
1096
  "seed": {
1032
1097
  "type": "number"
1033
1098
  }
1034
1099
  },
1035
1100
  "additionalProperties": false
1036
1101
  },
1102
+ "SileroRecognitionOptions": {
1103
+ "type": "object",
1104
+ "properties": {
1105
+ "modelPath": {
1106
+ "type": "string"
1107
+ },
1108
+ "provider": {
1109
+ "$ref": "#/definitions/OnnxExecutionProvider"
1110
+ }
1111
+ },
1112
+ "additionalProperties": false
1113
+ },
1037
1114
  "OpenAICloudSTTOptions": {
1038
1115
  "type": "object",
1039
1116
  "properties": {
@@ -1065,6 +1142,24 @@
1065
1142
  },
1066
1143
  "additionalProperties": false
1067
1144
  },
1145
+ "WhisperAlignmentOptions": {
1146
+ "type": "object",
1147
+ "properties": {
1148
+ "model": {
1149
+ "$ref": "#/definitions/WhisperModelName"
1150
+ },
1151
+ "endTokenThreshold": {
1152
+ "type": "number"
1153
+ },
1154
+ "encoderProvider": {
1155
+ "$ref": "#/definitions/OnnxExecutionProvider"
1156
+ },
1157
+ "decoderProvider": {
1158
+ "$ref": "#/definitions/OnnxExecutionProvider"
1159
+ }
1160
+ },
1161
+ "additionalProperties": false
1162
+ },
1068
1163
  "TimePitchShiftingMethod": {
1069
1164
  "type": "string",
1070
1165
  "enum": [
@@ -1307,6 +1402,9 @@
1307
1402
  "properties": {
1308
1403
  "speakerId": {
1309
1404
  "type": "number"
1405
+ },
1406
+ "provider": {
1407
+ "$ref": "#/definitions/OnnxExecutionProvider"
1310
1408
  }
1311
1409
  },
1312
1410
  "additionalProperties": false
@@ -1492,6 +1590,49 @@
1492
1590
  },
1493
1591
  "additionalProperties": false
1494
1592
  },
1593
+ "TranslationAlignmentOptions": {
1594
+ "type": "object",
1595
+ "properties": {
1596
+ "engine": {
1597
+ "$ref": "#/definitions/TranslationAlignmentEngine"
1598
+ },
1599
+ "sourceLanguage": {
1600
+ "type": "string"
1601
+ },
1602
+ "targetLanguage": {
1603
+ "type": "string"
1604
+ },
1605
+ "isolate": {
1606
+ "type": "boolean"
1607
+ },
1608
+ "crop": {
1609
+ "type": "boolean"
1610
+ },
1611
+ "languageDetection": {
1612
+ "$ref": "#/definitions/SpeechLanguageDetectionOptions"
1613
+ },
1614
+ "vad": {
1615
+ "$ref": "#/definitions/VADOptions"
1616
+ },
1617
+ "plainText": {
1618
+ "$ref": "#/definitions/PlainTextOptions"
1619
+ },
1620
+ "subtitles": {
1621
+ "$ref": "#/definitions/SubtitlesConfig"
1622
+ },
1623
+ "sourceSeparation": {
1624
+ "$ref": "#/definitions/SourceSeparationOptions"
1625
+ },
1626
+ "whisper": {
1627
+ "$ref": "#/definitions/WhisperAlignmentOptions"
1628
+ }
1629
+ },
1630
+ "additionalProperties": false
1631
+ },
1632
+ "TranslationAlignmentEngine": {
1633
+ "type": "string",
1634
+ "const": "whisper"
1635
+ },
1495
1636
  "SpeechTranslationOptions": {
1496
1637
  "type": "object",
1497
1638
  "properties": {
@@ -6,7 +6,7 @@ export declare function alignUsingDtw(sourceRawAudio: RawAudio, referenceRawAudi
6
6
  export declare function alignUsingDtwWithRecognition(sourceRawAudio: RawAudio, referenceRawAudio: RawAudio, referenceTimeline: Timeline, recognitionTimeline: Timeline, granularities: DtwGranularity[], windowDurations: number[], espeakOptions: EspeakOptions, phoneAlignmentMethod?: API.PhoneAlignmentMethod): Promise<Timeline>;
7
7
  export declare function interpolatePhoneTimelines(sourceTimeline: Timeline, referenceTimeline: Timeline): Promise<Timeline>;
8
8
  export declare function alignPhoneTimelines(sourceRawAudio: RawAudio, sourceWordTimeline: Timeline, referenceRawAudio: RawAudio, referenceTimeline: Timeline, windowDuration: number): Promise<Timeline>;
9
- export declare function createAlignmentReferenceUsingEspeakForFragments(fragments: string[], espeakOptions: EspeakOptions, insertSeparators?: boolean): Promise<{
9
+ export declare function createAlignmentReferenceUsingEspeakForFragments(fragments: string[], espeakOptions: EspeakOptions): Promise<{
10
10
  rawAudio: RawAudio;
11
11
  timeline: Timeline;
12
12
  events: import("../synthesis/EspeakTTS.js").EspeakEvent[];
@@ -283,7 +283,7 @@ export async function alignPhoneTimelines(sourceRawAudio, sourceWordTimeline, re
283
283
  }
284
284
  return alignedWordTimeline;
285
285
  }
286
- export async function createAlignmentReferenceUsingEspeakForFragments(fragments, espeakOptions, insertSeparators = true) {
286
+ export async function createAlignmentReferenceUsingEspeakForFragments(fragments, espeakOptions) {
287
287
  const progressLogger = new Logger();
288
288
  progressLogger.start("Load espeak module");
289
289
  const Espeak = await import("../synthesis/EspeakTTS.js");
@@ -1 +1 @@
1
- {"version":3,"file":"SpeechAlignment.js","sourceRoot":"","sources":["../../src/alignment/SpeechAlignment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpeechAlignment.js","sourceRoot":"","sources":["../../src/alignment/SpeechAlignment.ts"],"names":[],"mappings":"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"}
package/dist/api/API.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './Synthesis.js';
5
5
  export * from './Recognition.js';
6
6
  export * from './Alignment.js';
7
7
  export * from './Translation.js';
8
+ export * from './TranslationAlignment.js';
8
9
  export * from './LanguageDetection.js';
9
10
  export * from './VoiceActivityDetection.js';
10
11
  export * from './Denoising.js';
package/dist/api/API.js CHANGED
@@ -5,6 +5,7 @@ export * from './Synthesis.js';
5
5
  export * from './Recognition.js';
6
6
  export * from './Alignment.js';
7
7
  export * from './Translation.js';
8
+ export * from './TranslationAlignment.js';
8
9
  export * from './LanguageDetection.js';
9
10
  export * from './VoiceActivityDetection.js';
10
11
  export * from './Denoising.js';
@@ -1 +1 @@
1
- {"version":3,"file":"API.js","sourceRoot":"","sources":["../../src/api/API.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"API.js","sourceRoot":"","sources":["../../src/api/API.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA"}
@@ -5,6 +5,7 @@ export interface APIOptions {
5
5
  SynthesisOptions: API.SynthesisOptions;
6
6
  RecognitionOptions: API.RecognitionOptions;
7
7
  AlignmentOptions: API.AlignmentOptions;
8
+ TranslationAlignmentOptions: API.TranslationAlignmentOptions;
8
9
  SpeechTranslationOptions: API.SpeechTranslationOptions;
9
10
  SpeechLanguageDetectionOptions: API.SpeechLanguageDetectionOptions;
10
11
  TextLanguageDetectionOptions: API.TextLanguageDetectionOptions;
@@ -1,9 +1,9 @@
1
1
  import { AudioSourceParam, RawAudio } from '../audio/AudioUtilities.js';
2
2
  import * as API from './API.js';
3
3
  import { Timeline } from '../utilities/Timeline.js';
4
- import { type WhisperOptions } from '../recognition/WhisperSTT.js';
4
+ import { type WhisperAlignmentOptions } from '../recognition/WhisperSTT.js';
5
5
  import { DtwGranularity } from '../alignment/SpeechAlignment.js';
6
- import { SubtitlesConfig } from '../subtitles/Subtitles.js';
6
+ import { type SubtitlesConfig } from '../subtitles/Subtitles.js';
7
7
  export declare function align(input: AudioSourceParam, transcript: string, options: AlignmentOptions): Promise<AlignmentResult>;
8
8
  export declare function alignSegments(sourceRawAudio: RawAudio, segmentTimeline: Timeline, alignmentOptions: AlignmentOptions): Promise<Timeline>;
9
9
  export interface AlignmentResult {
@@ -34,7 +34,7 @@ export interface AlignmentOptions {
34
34
  };
35
35
  recognition?: API.RecognitionOptions;
36
36
  sourceSeparation?: API.SourceSeparationOptions;
37
- whisper?: WhisperOptions;
37
+ whisper?: WhisperAlignmentOptions;
38
38
  }
39
39
  export declare const defaultAlignmentOptions: AlignmentOptions;
40
40
  export declare const alignmentEngines: API.EngineMetadata[];
@@ -7,7 +7,6 @@ import { addTimeOffsetToTimeline, addWordTextOffsetsToTimeline, wordTimelineToSe
7
7
  import { formatLanguageCodeWithName, getDefaultDialectForLanguageCodeIfPossible, getShortLanguageCode, normalizeLanguageCode } from '../utilities/Locale.js';
8
8
  import chalk from 'chalk';
9
9
  import { createAlignmentReferenceUsingEspeak } from '../alignment/SpeechAlignment.js';
10
- import { defaultSubtitlesBaseConfig } from '../subtitles/Subtitles.js';
11
10
  import { defaultEspeakOptions } from '../synthesis/EspeakTTS.js';
12
11
  import { isWord } from '../nlp/Segmentation.js';
13
12
  const log = logToStderr;
@@ -102,6 +101,7 @@ export async function align(input, transcript, options) {
102
101
  let mappedTimeline;
103
102
  switch (options.engine) {
104
103
  case 'dtw': {
104
+ logger.end();
105
105
  const { referenceRawAudio, referenceTimeline } = await createAlignmentReferenceUsingEspeak(transcript, language, options.plainText, options.customLexiconPaths, false);
106
106
  logger.end();
107
107
  const { windowDurations, granularities } = getDtwWindowDurationsAndGranularities();
@@ -109,8 +109,8 @@ export async function align(input, transcript, options) {
109
109
  break;
110
110
  }
111
111
  case 'dtw-ra': {
112
- const recognitionOptions = extendDeep({ crop: options.crop, language }, options.recognition);
113
112
  logger.end();
113
+ const recognitionOptions = extendDeep({ crop: options.crop, language }, options.recognition);
114
114
  // Recognize source audio
115
115
  let { wordTimeline: recognitionTimeline } = await API.recognize(sourceRawAudio, recognitionOptions);
116
116
  logger.log('');
@@ -134,14 +134,11 @@ export async function align(input, transcript, options) {
134
134
  }
135
135
  case 'whisper': {
136
136
  const WhisperSTT = await import('../recognition/WhisperSTT.js');
137
- const whisperOptions = options.whisper;
137
+ const whisperAlignmnentOptions = options.whisper;
138
138
  const shortLanguageCode = getShortLanguageCode(language);
139
- const { modelName, modelDir } = await WhisperSTT.loadPackagesAndGetPaths(whisperOptions.model, language);
140
- if (getRawAudioDuration(sourceRawAudio) > 30) {
141
- throw new Error('Whisper based alignment currently only supports audio inputs that are 30s or less');
142
- }
139
+ const { modelName, modelDir } = await WhisperSTT.loadPackagesAndGetPaths(whisperAlignmnentOptions.model, shortLanguageCode);
143
140
  logger.end();
144
- mappedTimeline = await WhisperSTT.align(sourceRawAudio, transcript, modelName, modelDir, shortLanguageCode);
141
+ mappedTimeline = await WhisperSTT.align(sourceRawAudio, transcript, modelName, modelDir, shortLanguageCode, whisperAlignmnentOptions);
145
142
  break;
146
143
  }
147
144
  default: {
@@ -198,7 +195,7 @@ export const defaultAlignmentOptions = {
198
195
  paragraphBreaks: 'double',
199
196
  whitespace: 'collapse'
200
197
  },
201
- subtitles: defaultSubtitlesBaseConfig,
198
+ subtitles: {},
202
199
  dtw: {
203
200
  granularity: 'auto',
204
201
  windowDuration: undefined,
@@ -213,7 +210,6 @@ export const defaultAlignmentOptions = {
213
210
  autoPromptParts: false,
214
211
  suppressRepetition: true,
215
212
  decodeTimestampTokens: true,
216
- seed: undefined,
217
213
  }
218
214
  },
219
215
  vad: {
@@ -238,7 +234,7 @@ export const alignmentEngines = [
238
234
  {
239
235
  id: 'whisper',
240
236
  name: 'OpenAI Whisper',
241
- description: 'Extracts timestamps from the internal state of the Whisper recognition model (note: currently limited to a maximum audio duration of 30 seconds).',
237
+ description: 'Extracts timestamps by guiding the Whisper recognition model to recognize the transcript tokens.',
242
238
  type: 'local'
243
239
  }
244
240
  ];