echogarden 2.10.2 → 3.0.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.
- package/LICENSE.MIT.md +7 -0
- package/README.md +9 -1
- package/data/lexicons/heteronyms.en.json +44 -10
- package/data/lexicons/words.en.json +726 -22
- package/data/schemas/options.json +91 -153
- package/dist/alignment/DTWMfccSequenceAlignment.js.map +1 -1
- package/dist/alignment/SemanticTextAlignment.d.ts +4 -2
- package/dist/alignment/SemanticTextAlignment.d.ts.map +1 -1
- package/dist/alignment/SemanticTextAlignment.js +7 -7
- package/dist/alignment/SemanticTextAlignment.js.map +1 -1
- package/dist/alignment/SpeechAlignment.d.ts +9 -10
- package/dist/alignment/SpeechAlignment.d.ts.map +1 -1
- package/dist/alignment/SpeechAlignment.js +23 -96
- package/dist/alignment/SpeechAlignment.js.map +1 -1
- package/dist/api/APIOptions.d.ts +1 -1
- package/dist/api/APIOptions.d.ts.map +1 -1
- package/dist/api/Alignment.d.ts +8 -6
- package/dist/api/Alignment.d.ts.map +1 -1
- package/dist/api/Alignment.js +31 -40
- package/dist/api/Alignment.js.map +1 -1
- package/dist/api/Common.d.ts +7 -0
- package/dist/api/Common.d.ts.map +1 -1
- package/dist/api/Common.js.map +1 -1
- package/dist/api/Denoising.d.ts +5 -2
- package/dist/api/Denoising.d.ts.map +1 -1
- package/dist/api/Denoising.js +15 -15
- package/dist/api/Denoising.js.map +1 -1
- package/dist/api/GlobalOptions.d.ts +2 -8
- package/dist/api/GlobalOptions.d.ts.map +1 -1
- package/dist/api/GlobalOptions.js +2 -13
- package/dist/api/GlobalOptions.js.map +1 -1
- package/dist/api/Recognition.d.ts +11 -12
- package/dist/api/Recognition.d.ts.map +1 -1
- package/dist/api/Recognition.js +32 -82
- package/dist/api/Recognition.js.map +1 -1
- package/dist/api/SourceSeparation.d.ts +7 -2
- package/dist/api/SourceSeparation.d.ts.map +1 -1
- package/dist/api/SourceSeparation.js +12 -10
- package/dist/api/SourceSeparation.js.map +1 -1
- package/dist/api/SpeechLanguageDetection.d.ts +11 -7
- package/dist/api/SpeechLanguageDetection.d.ts.map +1 -1
- package/dist/api/SpeechLanguageDetection.js +37 -30
- package/dist/api/SpeechLanguageDetection.js.map +1 -1
- package/dist/api/SpeechSearch.d.ts +4 -1
- package/dist/api/SpeechSearch.d.ts.map +1 -1
- package/dist/api/SpeechSearch.js.map +1 -1
- package/dist/api/SpeechTranslation.d.ts +10 -6
- package/dist/api/SpeechTranslation.d.ts.map +1 -1
- package/dist/api/SpeechTranslation.js +28 -26
- package/dist/api/SpeechTranslation.js.map +1 -1
- package/dist/api/Synthesis.d.ts +13 -8
- package/dist/api/Synthesis.d.ts.map +1 -1
- package/dist/api/Synthesis.js +67 -89
- package/dist/api/Synthesis.js.map +1 -1
- package/dist/api/TextLanguageDetection.d.ts +4 -2
- package/dist/api/TextLanguageDetection.d.ts.map +1 -1
- package/dist/api/TextLanguageDetection.js +4 -7
- package/dist/api/TextLanguageDetection.js.map +1 -1
- package/dist/api/TextTranslation.d.ts +4 -2
- package/dist/api/TextTranslation.d.ts.map +1 -1
- package/dist/api/TextTranslation.js +13 -24
- package/dist/api/TextTranslation.js.map +1 -1
- package/dist/api/TimelineTranslationAlignment.d.ts +6 -3
- package/dist/api/TimelineTranslationAlignment.d.ts.map +1 -1
- package/dist/api/TimelineTranslationAlignment.js +20 -11
- package/dist/api/TimelineTranslationAlignment.js.map +1 -1
- package/dist/api/TranscriptAndTranslationAlignment.d.ts +6 -4
- package/dist/api/TranscriptAndTranslationAlignment.d.ts.map +1 -1
- package/dist/api/TranscriptAndTranslationAlignment.js +11 -12
- package/dist/api/TranscriptAndTranslationAlignment.js.map +1 -1
- package/dist/api/TranslationAlignment.d.ts +6 -4
- package/dist/api/TranslationAlignment.d.ts.map +1 -1
- package/dist/api/TranslationAlignment.js +20 -21
- package/dist/api/TranslationAlignment.js.map +1 -1
- package/dist/api/VoiceActivityDetection.d.ts +9 -8
- package/dist/api/VoiceActivityDetection.d.ts.map +1 -1
- package/dist/api/VoiceActivityDetection.js +20 -43
- package/dist/api/VoiceActivityDetection.js.map +1 -1
- package/dist/audio/AudioBufferConversion.js.map +1 -1
- package/dist/audio/AudioPlayer.d.ts +1 -3
- package/dist/audio/AudioPlayer.d.ts.map +1 -1
- package/dist/audio/AudioPlayer.js +3 -188
- package/dist/audio/AudioPlayer.js.map +1 -1
- package/dist/audio/AudioUtilities.d.ts +2 -1
- package/dist/audio/AudioUtilities.d.ts.map +1 -1
- package/dist/audio/AudioUtilities.js +2 -2
- package/dist/audio/AudioUtilities.js.map +1 -1
- package/dist/build-tools/MakeTarballsForInstalledPackages.js +3 -3
- package/dist/build-tools/MakeTarballsForInstalledPackages.js.map +1 -1
- package/dist/cli/CLI.d.ts.map +1 -1
- package/dist/cli/CLI.js +139 -92
- package/dist/cli/CLI.js.map +1 -1
- package/dist/codecs/FFMpegTranscoder.d.ts +4 -3
- package/dist/codecs/FFMpegTranscoder.d.ts.map +1 -1
- package/dist/codecs/FFMpegTranscoder.js +16 -14
- package/dist/codecs/FFMpegTranscoder.js.map +1 -1
- package/dist/codecs/TIMITCodec.d.ts.map +1 -1
- package/dist/data-structures/DynamicTypedArray.d.ts.map +1 -1
- package/dist/data-structures/DynamicTypedArray.js.map +1 -1
- package/dist/data-structures/Queue.d.ts.map +1 -1
- package/dist/data-structures/WindowedList.d.ts.map +1 -1
- package/dist/data-structures/WindowedList.js.map +1 -1
- package/dist/denoising/NSNet2.d.ts +3 -2
- package/dist/denoising/NSNet2.d.ts.map +1 -1
- package/dist/denoising/NSNet2.js +4 -4
- package/dist/denoising/NSNet2.js.map +1 -1
- package/dist/denoising/RNNoise.d.ts +2 -1
- package/dist/denoising/RNNoise.d.ts.map +1 -1
- package/dist/denoising/RNNoise.js +10 -6
- package/dist/denoising/RNNoise.js.map +1 -1
- package/dist/dsp/BiquadFilter.d.ts.map +1 -1
- package/dist/dsp/DecayingPeakEstimator.d.ts.map +1 -1
- package/dist/dsp/DecayingPeakEstimator.js.map +1 -1
- package/dist/dsp/FFT.d.ts.map +1 -1
- package/dist/dsp/FFT.js +2 -1
- package/dist/dsp/FFT.js.map +1 -1
- package/dist/dsp/KWeightingFilter.d.ts.map +1 -1
- package/dist/dsp/KWeightingFilter.js.map +1 -1
- package/dist/dsp/LoudnessEstimator.d.ts.map +1 -1
- package/dist/dsp/LoudnessEstimator.js.map +1 -1
- package/dist/dsp/MFCC.d.ts +3 -2
- package/dist/dsp/MFCC.d.ts.map +1 -1
- package/dist/dsp/MFCC.js +4 -4
- package/dist/dsp/MFCC.js.map +1 -1
- package/dist/dsp/MelSpectrogram.d.ts +10 -8
- package/dist/dsp/MelSpectrogram.d.ts.map +1 -1
- package/dist/dsp/MelSpectrogram.js +31 -34
- package/dist/dsp/MelSpectrogram.js.map +1 -1
- package/dist/dsp/Rubberband.d.ts.map +1 -1
- package/dist/dsp/Rubberband.js +8 -3
- package/dist/dsp/Rubberband.js.map +1 -1
- package/dist/dsp/Sonic.d.ts.map +1 -1
- package/dist/dsp/Sonic.js +1 -1
- package/dist/dsp/Sonic.js.map +1 -1
- package/dist/dsp/SpeexResampler.d.ts.map +1 -1
- package/dist/dsp/SpeexResampler.js +1 -1
- package/dist/dsp/SpeexResampler.js.map +1 -1
- package/dist/encodings/Ascii.d.ts +1 -1
- package/dist/encodings/Ascii.d.ts.map +1 -1
- package/dist/encodings/Base64.js.map +1 -1
- package/dist/encodings/Utf16.d.ts.map +1 -1
- package/dist/encodings/Utf8.d.ts.map +1 -1
- package/dist/math/VectorMath.d.ts +1 -0
- package/dist/math/VectorMath.d.ts.map +1 -1
- package/dist/math/VectorMath.js +9 -5
- package/dist/math/VectorMath.js.map +1 -1
- package/dist/nlp/ChineseSegmentation.d.ts +1 -1
- package/dist/nlp/ChineseSegmentation.d.ts.map +1 -1
- package/dist/nlp/EspeakPhonemizer.d.ts +1 -1
- package/dist/nlp/EspeakPhonemizer.d.ts.map +1 -1
- package/dist/nlp/EspeakPhonemizer.js +2 -2
- package/dist/nlp/EspeakPhonemizer.js.map +1 -1
- package/dist/nlp/IPA.d.ts +2 -2
- package/dist/nlp/Segmentation.d.ts +1 -1
- package/dist/nlp/Segmentation.d.ts.map +1 -1
- package/dist/nlp/Segmentation.js +8 -4
- package/dist/nlp/Segmentation.js.map +1 -1
- package/dist/recognition/AmazonTranscribeSTT.d.ts +2 -1
- package/dist/recognition/AmazonTranscribeSTT.d.ts.map +1 -1
- package/dist/recognition/AmazonTranscribeSTT.js +3 -3
- package/dist/recognition/AmazonTranscribeSTT.js.map +1 -1
- package/dist/recognition/AzureCognitiveServicesSTT.d.ts +2 -1
- package/dist/recognition/AzureCognitiveServicesSTT.d.ts.map +1 -1
- package/dist/recognition/AzureCognitiveServicesSTT.js +4 -4
- package/dist/recognition/AzureCognitiveServicesSTT.js.map +1 -1
- package/dist/recognition/DeepgramSTT.d.ts +2 -1
- package/dist/recognition/DeepgramSTT.d.ts.map +1 -1
- package/dist/recognition/DeepgramSTT.js +12 -13
- package/dist/recognition/DeepgramSTT.js.map +1 -1
- package/dist/recognition/GoogleCloudSTT.d.ts +2 -1
- package/dist/recognition/GoogleCloudSTT.d.ts.map +1 -1
- package/dist/recognition/GoogleCloudSTT.js +11 -10
- package/dist/recognition/GoogleCloudSTT.js.map +1 -1
- package/dist/recognition/OpenAICloudSTT.d.ts +2 -1
- package/dist/recognition/OpenAICloudSTT.d.ts.map +1 -1
- package/dist/recognition/OpenAICloudSTT.js +6 -6
- package/dist/recognition/OpenAICloudSTT.js.map +1 -1
- package/dist/recognition/WhisperCommon.d.ts +9 -0
- package/dist/recognition/WhisperCommon.d.ts.map +1 -0
- package/dist/recognition/WhisperCommon.js +52 -0
- package/dist/recognition/WhisperCommon.js.map +1 -0
- package/dist/recognition/{WhisperCppSTT.d.ts → WhisperCppCliSTT.d.ts} +14 -16
- package/dist/recognition/WhisperCppCliSTT.d.ts.map +1 -0
- package/dist/recognition/{WhisperCppSTT.js → WhisperCppCliSTT.js} +55 -84
- package/dist/recognition/WhisperCppCliSTT.js.map +1 -0
- package/dist/recognition/WhisperSTT.d.ts +72 -85
- package/dist/recognition/WhisperSTT.d.ts.map +1 -1
- package/dist/recognition/WhisperSTT.js +384 -519
- package/dist/recognition/WhisperSTT.js.map +1 -1
- package/dist/server/Client.d.ts +2 -2
- package/dist/server/Client.d.ts.map +1 -1
- package/dist/server/Client.js.map +1 -1
- package/dist/server/Worker.d.ts +6 -7
- package/dist/server/Worker.d.ts.map +1 -1
- package/dist/server/Worker.js +42 -44
- package/dist/server/Worker.js.map +1 -1
- package/dist/source-separation/MDXNetSourceSeparation.d.ts +3 -2
- package/dist/source-separation/MDXNetSourceSeparation.d.ts.map +1 -1
- package/dist/source-separation/MDXNetSourceSeparation.js +10 -8
- package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
- package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.d.ts +3 -2
- package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.d.ts.map +1 -1
- package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js +5 -5
- package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js.map +1 -1
- package/dist/speech-language-detection/SileroLanguageDetection.d.ts +5 -3
- package/dist/speech-language-detection/SileroLanguageDetection.d.ts.map +1 -1
- package/dist/speech-language-detection/SileroLanguageDetection.js +8 -8
- package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
- package/dist/speech-search/DTWSpeechSearch.d.ts +2 -1
- package/dist/speech-search/DTWSpeechSearch.d.ts.map +1 -1
- package/dist/speech-search/DTWSpeechSearch.js +4 -4
- package/dist/speech-search/DTWSpeechSearch.js.map +1 -1
- package/dist/subtitles/Subtitles.d.ts +13 -1
- package/dist/subtitles/Subtitles.d.ts.map +1 -1
- package/dist/subtitles/Subtitles.js +22 -22
- package/dist/subtitles/Subtitles.js.map +1 -1
- package/dist/synthesis/AwsPollyTTS.d.ts +3 -2
- package/dist/synthesis/AwsPollyTTS.d.ts.map +1 -1
- package/dist/synthesis/AwsPollyTTS.js +5 -5
- package/dist/synthesis/AwsPollyTTS.js.map +1 -1
- package/dist/synthesis/AzureCognitiveServicesTTS.d.ts +2 -1
- package/dist/synthesis/AzureCognitiveServicesTTS.d.ts.map +1 -1
- package/dist/synthesis/AzureCognitiveServicesTTS.js +3 -3
- package/dist/synthesis/AzureCognitiveServicesTTS.js.map +1 -1
- package/dist/synthesis/CoquiServerTTS.d.ts +2 -1
- package/dist/synthesis/CoquiServerTTS.d.ts.map +1 -1
- package/dist/synthesis/CoquiServerTTS.js +7 -8
- package/dist/synthesis/CoquiServerTTS.js.map +1 -1
- package/dist/synthesis/DeepgramTTS.d.ts +2 -2
- package/dist/synthesis/DeepgramTTS.d.ts.map +1 -1
- package/dist/synthesis/DeepgramTTS.js +13 -13
- package/dist/synthesis/DeepgramTTS.js.map +1 -1
- package/dist/synthesis/ElevenLabsTTS.d.ts +3 -3
- package/dist/synthesis/ElevenLabsTTS.d.ts.map +1 -1
- package/dist/synthesis/ElevenLabsTTS.js +22 -21
- package/dist/synthesis/ElevenLabsTTS.js.map +1 -1
- package/dist/synthesis/EspeakTTS.d.ts +11 -9
- package/dist/synthesis/EspeakTTS.d.ts.map +1 -1
- package/dist/synthesis/EspeakTTS.js +118 -68
- package/dist/synthesis/EspeakTTS.js.map +1 -1
- package/dist/synthesis/FliteTTS.d.ts +2 -2
- package/dist/synthesis/FliteTTS.d.ts.map +1 -1
- package/dist/synthesis/FliteTTS.js +2 -2
- package/dist/synthesis/FliteTTS.js.map +1 -1
- package/dist/synthesis/GnuSpeechTTS.d.ts +2 -2
- package/dist/synthesis/GnuSpeechTTS.d.ts.map +1 -1
- package/dist/synthesis/GnuSpeechTTS.js +1 -1
- package/dist/synthesis/GnuSpeechTTS.js.map +1 -1
- package/dist/synthesis/GoogleCloudTTS.d.ts +3 -2
- package/dist/synthesis/GoogleCloudTTS.d.ts.map +1 -1
- package/dist/synthesis/GoogleCloudTTS.js +15 -14
- package/dist/synthesis/GoogleCloudTTS.js.map +1 -1
- package/dist/synthesis/GoogleTranslateTTS.d.ts +3 -2
- package/dist/synthesis/GoogleTranslateTTS.d.ts.map +1 -1
- package/dist/synthesis/GoogleTranslateTTS.js +11 -11
- package/dist/synthesis/GoogleTranslateTTS.js.map +1 -1
- package/dist/synthesis/KokoroTTS.d.ts +4 -4
- package/dist/synthesis/KokoroTTS.d.ts.map +1 -1
- package/dist/synthesis/KokoroTTS.js +11 -10
- package/dist/synthesis/KokoroTTS.js.map +1 -1
- package/dist/synthesis/MicrosoftEdgeTTS.d.ts +4 -3
- package/dist/synthesis/MicrosoftEdgeTTS.d.ts.map +1 -1
- package/dist/synthesis/MicrosoftEdgeTTS.js +41 -20
- package/dist/synthesis/MicrosoftEdgeTTS.js.map +1 -1
- package/dist/synthesis/OpenAICloudTTS.d.ts +2 -2
- package/dist/synthesis/OpenAICloudTTS.d.ts.map +1 -1
- package/dist/synthesis/OpenAICloudTTS.js +6 -5
- package/dist/synthesis/OpenAICloudTTS.js.map +1 -1
- package/dist/synthesis/SamTTS.d.ts +2 -1
- package/dist/synthesis/SamTTS.d.ts.map +1 -1
- package/dist/synthesis/SamTTS.js +2 -2
- package/dist/synthesis/SamTTS.js.map +1 -1
- package/dist/synthesis/SapiTTS.d.ts +2 -2
- package/dist/synthesis/SapiTTS.d.ts.map +1 -1
- package/dist/synthesis/SapiTTS.js +2 -2
- package/dist/synthesis/SapiTTS.js.map +1 -1
- package/dist/synthesis/SvoxPicoTTS.d.ts +2 -2
- package/dist/synthesis/SvoxPicoTTS.d.ts.map +1 -1
- package/dist/synthesis/SvoxPicoTTS.js +3 -3
- package/dist/synthesis/SvoxPicoTTS.js.map +1 -1
- package/dist/synthesis/VitsTTS.d.ts +3 -3
- package/dist/synthesis/VitsTTS.d.ts.map +1 -1
- package/dist/synthesis/VitsTTS.js +14 -11
- package/dist/synthesis/VitsTTS.js.map +1 -1
- package/dist/text-translation/DeepLTextTranslation.d.ts +2 -2
- package/dist/text-translation/DeepLTextTranslation.d.ts.map +1 -1
- package/dist/text-translation/DeepLTextTranslation.js +10 -9
- package/dist/text-translation/DeepLTextTranslation.js.map +1 -1
- package/dist/text-translation/GoogleTranslateTextTranslation.d.ts +4 -4
- package/dist/text-translation/GoogleTranslateTextTranslation.d.ts.map +1 -1
- package/dist/text-translation/GoogleTranslateTextTranslation.js +20 -18
- package/dist/text-translation/GoogleTranslateTextTranslation.js.map +1 -1
- package/dist/text-translation/NLLBTextTranslation.d.ts +2 -2
- package/dist/text-translation/NLLBTextTranslation.d.ts.map +1 -1
- package/dist/text-translation/NLLBTextTranslation.js +4 -6
- package/dist/text-translation/NLLBTextTranslation.js.map +1 -1
- package/dist/typings/TypedArray.d.ts.map +1 -1
- package/dist/utilities/Compression.d.ts +4 -3
- package/dist/utilities/Compression.d.ts.map +1 -1
- package/dist/utilities/Compression.js +9 -9
- package/dist/utilities/Compression.js.map +1 -1
- package/dist/utilities/FileDownloader.d.ts +6 -3
- package/dist/utilities/FileDownloader.d.ts.map +1 -1
- package/dist/utilities/FileDownloader.js +25 -21
- package/dist/utilities/FileDownloader.js.map +1 -1
- package/dist/utilities/FileReader.d.ts.map +1 -1
- package/dist/utilities/FileReader.js.map +1 -1
- package/dist/utilities/FileSystem.js +1 -1
- package/dist/utilities/FileSystem.js.map +1 -1
- package/dist/utilities/FileWriter.d.ts.map +1 -1
- package/dist/utilities/FileWriter.js.map +1 -1
- package/dist/utilities/Hashing.d.ts.map +1 -1
- package/dist/utilities/Hashing.js.map +1 -1
- package/dist/utilities/Locale.js.map +1 -1
- package/dist/utilities/Logger.d.ts +17 -9
- package/dist/utilities/Logger.d.ts.map +1 -1
- package/dist/utilities/Logger.js +50 -35
- package/dist/utilities/Logger.js.map +1 -1
- package/dist/utilities/NpmUtilities.d.ts.map +1 -1
- package/dist/utilities/NpmUtilities.js +4 -5
- package/dist/utilities/NpmUtilities.js.map +1 -1
- package/dist/utilities/ObjectUtilities.js.map +1 -1
- package/dist/utilities/OpenPromise.d.ts.map +1 -1
- package/dist/utilities/OpenPromise.js.map +1 -1
- package/dist/utilities/PackageManager.d.ts +4 -1
- package/dist/utilities/PackageManager.d.ts.map +1 -1
- package/dist/utilities/PackageManager.js +37 -22
- package/dist/utilities/PackageManager.js.map +1 -1
- package/dist/utilities/PathUtilities.d.ts +2 -0
- package/dist/utilities/PathUtilities.d.ts.map +1 -1
- package/dist/utilities/PathUtilities.js +5 -2
- package/dist/utilities/PathUtilities.js.map +1 -1
- package/dist/utilities/RandomGenerator.d.ts.map +1 -1
- package/dist/utilities/SignalChannel.d.ts.map +1 -1
- package/dist/utilities/SmoothEstimator.d.ts.map +1 -1
- package/dist/utilities/SmoothEstimator.js.map +1 -1
- package/dist/utilities/StringBuilder.d.ts.map +1 -1
- package/dist/utilities/TarballMaker.d.ts +4 -3
- package/dist/utilities/TarballMaker.d.ts.map +1 -1
- package/dist/utilities/TarballMaker.js +6 -6
- package/dist/utilities/TarballMaker.js.map +1 -1
- package/dist/utilities/Timeline.js.map +1 -1
- package/dist/utilities/Timer.d.ts.map +1 -1
- package/dist/utilities/Utilities.d.ts +9 -7
- package/dist/utilities/Utilities.d.ts.map +1 -1
- package/dist/utilities/Utilities.js +49 -33
- package/dist/utilities/Utilities.js.map +1 -1
- package/dist/utilities/VirtualFileReadStream.d.ts.map +1 -1
- package/dist/utilities/WebReader.d.ts +2 -1
- package/dist/utilities/WebReader.d.ts.map +1 -1
- package/dist/utilities/WebReader.js +7 -6
- package/dist/utilities/WebReader.js.map +1 -1
- package/dist/utilities/WikipediaReader.d.ts +2 -1
- package/dist/utilities/WikipediaReader.d.ts.map +1 -1
- package/dist/utilities/WikipediaReader.js +1 -5
- package/dist/utilities/WikipediaReader.js.map +1 -1
- package/dist/voice-activity-detection/AdaptiveGateVAD.d.ts +2 -1
- package/dist/voice-activity-detection/AdaptiveGateVAD.d.ts.map +1 -1
- package/dist/voice-activity-detection/AdaptiveGateVAD.js +1 -1
- package/dist/voice-activity-detection/AdaptiveGateVAD.js.map +1 -1
- package/dist/voice-activity-detection/SileroVAD.d.ts.map +1 -1
- package/dist/voice-activity-detection/SileroVAD.js.map +1 -1
- package/dist/voice-activity-detection/WebRtcVAD.d.ts.map +1 -1
- package/dist/voice-activity-detection/WebRtcVAD.js +1 -1
- package/dist/voice-activity-detection/WebRtcVAD.js.map +1 -1
- package/docs/API.md +62 -17
- package/docs/CUDA.md +4 -3
- package/docs/Engines.md +8 -7
- package/docs/Licenses.md +0 -3
- package/docs/Options.md +27 -31
- package/docs/Server.md +1 -0
- package/docs/Tasklist.md +2 -1
- package/docs/Technical.md +2 -2
- package/package.json +45 -35
- package/src/alignment/SemanticTextAlignment.ts +14 -7
- package/src/alignment/SpeechAlignment.ts +47 -150
- package/src/api/APIOptions.ts +1 -1
- package/src/api/Alignment.ts +95 -61
- package/src/api/Common.ts +11 -0
- package/src/api/Denoising.ts +22 -17
- package/src/api/GlobalOptions.ts +4 -20
- package/src/api/Recognition.ts +106 -123
- package/src/api/SourceSeparation.ts +39 -21
- package/src/api/SpeechLanguageDetection.ts +77 -37
- package/src/api/SpeechSearch.ts +6 -1
- package/src/api/SpeechTranslation.ts +75 -38
- package/src/api/Synthesis.ts +220 -116
- package/src/api/TextLanguageDetection.ts +10 -12
- package/src/api/TextTranslation.ts +43 -26
- package/src/api/TimelineTranslationAlignment.ts +41 -13
- package/src/api/TranscriptAndTranslationAlignment.ts +28 -15
- package/src/api/TranslationAlignment.ts +53 -24
- package/src/api/VoiceActivityDetection.ts +33 -68
- package/src/audio/AudioPlayer.ts +4 -232
- package/src/audio/AudioUtilities.ts +9 -2
- package/src/build-tools/MakeTarballsForInstalledPackages.ts +4 -3
- package/src/cli/CLI.ts +209 -101
- package/src/codecs/FFMpegTranscoder.ts +18 -16
- package/src/denoising/NSNet2.ts +5 -4
- package/src/denoising/RNNoise.ts +14 -6
- package/src/dsp/FFT.ts +2 -1
- package/src/dsp/MFCC.ts +7 -5
- package/src/dsp/MelSpectrogram.ts +56 -36
- package/src/dsp/Rubberband.ts +10 -3
- package/src/dsp/Sonic.ts +2 -1
- package/src/dsp/SpeexResampler.ts +2 -1
- package/src/encodings/Ascii.ts +1 -1
- package/src/encodings/Base64.ts +1 -1
- package/src/math/VectorMath.ts +10 -6
- package/src/nlp/EspeakPhonemizer.ts +2 -2
- package/src/nlp/Segmentation.ts +9 -4
- package/src/recognition/AmazonTranscribeSTT.ts +4 -3
- package/src/recognition/AzureCognitiveServicesSTT.ts +5 -4
- package/src/recognition/DeepgramSTT.ts +16 -16
- package/src/recognition/GoogleCloudSTT.ts +14 -12
- package/src/recognition/OpenAICloudSTT.ts +12 -6
- package/src/recognition/WhisperCommon.ts +130 -0
- package/src/recognition/{WhisperCppSTT.ts → WhisperCppCliSTT.ts} +73 -133
- package/src/recognition/WhisperSTT.ts +569 -718
- package/src/server/Client.ts +4 -4
- package/src/server/Worker.ts +59 -59
- package/src/source-separation/MDXNetSourceSeparation.ts +15 -10
- package/src/speech-embeddings/WavToVec2BertFeatureEmbeddings.ts +7 -5
- package/src/speech-language-detection/SileroLanguageDetection.ts +18 -9
- package/src/speech-search/DTWSpeechSearch.ts +6 -5
- package/src/subtitles/Subtitles.ts +22 -22
- package/src/synthesis/AwsPollyTTS.ts +12 -5
- package/src/synthesis/AzureCognitiveServicesTTS.ts +11 -3
- package/src/synthesis/CoquiServerTTS.ts +8 -7
- package/src/synthesis/DeepgramTTS.ts +21 -15
- package/src/synthesis/ElevenLabsTTS.ts +33 -23
- package/src/synthesis/EspeakTTS.ts +145 -69
- package/src/synthesis/FliteTTS.ts +3 -3
- package/src/synthesis/GnuSpeechTTS.ts +2 -2
- package/src/synthesis/GoogleCloudTTS.ts +23 -14
- package/src/synthesis/GoogleTranslateTTS.ts +19 -11
- package/src/synthesis/KokoroTTS.ts +37 -14
- package/src/synthesis/MicrosoftEdgeTTS.ts +71 -23
- package/src/synthesis/OpenAICloudTTS.ts +7 -6
- package/src/synthesis/SamTTS.ts +3 -2
- package/src/synthesis/SapiTTS.ts +3 -3
- package/src/synthesis/SvoxPicoTTS.ts +4 -5
- package/src/synthesis/VitsTTS.ts +43 -15
- package/src/text-translation/DeepLTextTranslation.ts +12 -10
- package/src/text-translation/GoogleTranslateTextTranslation.ts +35 -21
- package/src/text-translation/NLLBTextTranslation.ts +5 -9
- package/src/typings/Fillers.d.ts +0 -60
- package/src/typings/TypedArray.ts +12 -1
- package/src/utilities/Compression.ts +10 -9
- package/src/utilities/FileDownloader.ts +38 -23
- package/src/utilities/FileSystem.ts +1 -1
- package/src/utilities/Logger.ts +59 -42
- package/src/utilities/NpmUtilities.ts +4 -6
- package/src/utilities/OpenPromise.ts +1 -2
- package/src/utilities/PackageManager.ts +53 -26
- package/src/utilities/PathUtilities.ts +6 -2
- package/src/utilities/TarballMaker.ts +7 -7
- package/src/utilities/Utilities.ts +58 -41
- package/src/utilities/WebReader.ts +11 -6
- package/src/utilities/WikipediaReader.ts +2 -8
- package/src/voice-activity-detection/AdaptiveGateVAD.ts +13 -8
- package/src/voice-activity-detection/WebRtcVAD.ts +1 -2
- package/tsconfig.json +53 -54
- package/dist/audio/AudioRecorder.d.ts +0 -4
- package/dist/audio/AudioRecorder.d.ts.map +0 -1
- package/dist/audio/AudioRecorder.js +0 -68
- package/dist/audio/AudioRecorder.js.map +0 -1
- package/dist/audio/SoxPath.d.ts +0 -2
- package/dist/audio/SoxPath.d.ts.map +0 -1
- package/dist/audio/SoxPath.js +0 -24
- package/dist/audio/SoxPath.js.map +0 -1
- package/dist/recognition/SileroSTT.d.ts +0 -30
- package/dist/recognition/SileroSTT.d.ts.map +0 -1
- package/dist/recognition/SileroSTT.js +0 -152
- package/dist/recognition/SileroSTT.js.map +0 -1
- package/dist/recognition/VoskSTT.d.ts +0 -11
- package/dist/recognition/VoskSTT.d.ts.map +0 -1
- package/dist/recognition/VoskSTT.js +0 -72
- package/dist/recognition/VoskSTT.js.map +0 -1
- package/dist/recognition/WhisperCppSTT.d.ts.map +0 -1
- package/dist/recognition/WhisperCppSTT.js.map +0 -1
- package/dist/synthesis/StreamlabsPollyTTS.d.ts +0 -12
- package/dist/synthesis/StreamlabsPollyTTS.d.ts.map +0 -1
- package/dist/synthesis/StreamlabsPollyTTS.js +0 -88
- package/dist/synthesis/StreamlabsPollyTTS.js.map +0 -1
- package/dist/utilities/BinaryUtilities.d.ts +0 -14
- package/dist/utilities/BinaryUtilities.d.ts.map +0 -1
- package/dist/utilities/BinaryUtilities.js +0 -113
- package/dist/utilities/BinaryUtilities.js.map +0 -1
- package/src/audio/AudioRecorder.ts +0 -91
- package/src/audio/SoxPath.ts +0 -31
- package/src/recognition/SileroSTT.ts +0 -222
- package/src/recognition/VoskSTT.ts +0 -112
- package/src/synthesis/StreamlabsPollyTTS.ts +0 -114
- package/src/utilities/BinaryUtilities.ts +0 -138
- /package/{LICENSE.md → LICENSE.GPLv3.md} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AzureCognitiveServicesSTT.js","sourceRoot":"","sources":["../../src/recognition/AzureCognitiveServicesSTT.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wCAAwC,CAAA;AAEnE,OAAO,EAAY,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"AzureCognitiveServicesSTT.js","sourceRoot":"","sources":["../../src/recognition/AzureCognitiveServicesSTT.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wCAAwC,CAAA;AAEnE,OAAO,EAAY,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAI/C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAkB,EAAE,eAAuB,EAAE,aAAqB,EAAE,YAAoB,EAAE,SAAS,GAA8B,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,SAA+B;IAC9N,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAE7C,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;IAEjE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAErH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAE9B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAA;IAE9B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAExC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAA;QAC7C,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;QAElE,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,MAAM;YACZ,IAAI;YACJ,SAAS;YACT,OAAO;SACP,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,CAAA;IAEZ,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;AAChC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,QAAkB,EAAE,eAAuB,EAAE,aAAqB,EAAE,YAAoB,EAAE,SAAS,GAA8B,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,SAA+B;IAChO,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAEnD,OAAO,IAAI,OAAO,CAAoC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzE,MAAM,WAAW,GAAG,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAEzG,MAAM,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAE5E,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,MAAqB,CAAC,CAAA;QACrD,WAAW,CAAC,KAAK,EAAE,CAAA;QAEnB,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QAEtE,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;QAE5F,YAAY,CAAC,yBAAyB,GAAG,YAAY,CAAA;QAErD,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACpC,YAAY,CAAC,0BAA0B,EAAE,CAAA;QAEzC,YAAY,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAA;QAE3D,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAE5E,UAAU,CAAC,kBAAkB,CAC5B,CAAC,MAAM,EAAE,EAAE;YACV,UAAU,CAAC,KAAK,EAAE,CAAA;YAElB,OAAO,CAAC,MAAM,CAAC,CAAA;QAChB,CAAC,EAED,CAAC,KAAK,EAAE,EAAE;YACT,UAAU,CAAC,KAAK,EAAE,CAAA;YAElB,MAAM,CAAC,KAAK,CAAC,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RawAudio } from '../audio/AudioUtilities.js';
|
|
2
2
|
import { TimelineEntry } from '../utilities/Timeline.js';
|
|
3
|
-
|
|
3
|
+
import { RecognitionCallbacks } from '../api/Recognition.js';
|
|
4
|
+
export declare function recognize(rawAudio: RawAudio, languageCode: string | undefined, options: DeepgramSTTOptions, callbacks: RecognitionCallbacks): Promise<{
|
|
4
5
|
transcript: string;
|
|
5
6
|
timeline: TimelineEntry[];
|
|
6
7
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeepgramSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/DeepgramSTT.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeepgramSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/DeepgramSTT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAG5D,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,oBAAoB;;;GAgHjJ;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,eAAO,MAAM,yBAAyB,EAAE,kBAIvC,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { request } from 'gaxios';
|
|
2
1
|
import { Logger } from '../utilities/Logger.js';
|
|
3
2
|
import { extendDeep } from '../utilities/ObjectUtilities.js';
|
|
4
3
|
import * as FFMpegTranscoder from '../codecs/FFMpegTranscoder.js';
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import { EasierHttpRequestError, requestHttp } from 'easier-http-request';
|
|
5
|
+
export async function recognize(rawAudio, languageCode, options, callbacks) {
|
|
6
|
+
const logger = new Logger(callbacks.logLevel);
|
|
7
7
|
logger.start('Initialize Deepgram recognition');
|
|
8
8
|
options = extendDeep(defaultDeepgramSTTOptions, options);
|
|
9
9
|
if (!options.apiKey) {
|
|
@@ -24,11 +24,11 @@ export async function recognize(rawAudio, languageCode, options) {
|
|
|
24
24
|
}
|
|
25
25
|
// Set audio encoding parameters
|
|
26
26
|
logger.start('Convert audio to Opus format');
|
|
27
|
-
const audioData = await FFMpegTranscoder.encodeFromChannels(rawAudio, FFMpegTranscoder.getDefaultFFMpegOptionsForSpeech('opus'));
|
|
27
|
+
const audioData = await FFMpegTranscoder.encodeFromChannels(rawAudio, FFMpegTranscoder.getDefaultFFMpegOptionsForSpeech('opus'), callbacks);
|
|
28
28
|
logger.start('Send request to Deepgram API');
|
|
29
|
-
let
|
|
29
|
+
let deepgramResponse;
|
|
30
30
|
try {
|
|
31
|
-
response = await
|
|
31
|
+
const response = await requestHttp({
|
|
32
32
|
method: 'POST',
|
|
33
33
|
url: 'https://api.deepgram.com/v1/listen',
|
|
34
34
|
params,
|
|
@@ -38,21 +38,20 @@ export async function recognize(rawAudio, languageCode, options) {
|
|
|
38
38
|
'Accept': 'application/json'
|
|
39
39
|
},
|
|
40
40
|
body: audioData,
|
|
41
|
-
|
|
41
|
+
abortSignal: callbacks?.abortSignal,
|
|
42
42
|
});
|
|
43
|
+
deepgramResponse = await response.json();
|
|
43
44
|
}
|
|
44
45
|
catch (e) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (response.data) {
|
|
46
|
+
if (e instanceof EasierHttpRequestError) {
|
|
47
|
+
logger.log(`Request failed with status code ${e.statusCode}: ${e.statusText}.`);
|
|
48
|
+
if (e.errorBody) {
|
|
49
49
|
logger.log(`Server responded with:`);
|
|
50
|
-
logger.log(
|
|
50
|
+
logger.log(e.errorBody);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
throw e;
|
|
54
54
|
}
|
|
55
|
-
const deepgramResponse = response.data;
|
|
56
55
|
const firstAlternative = deepgramResponse.results?.channels[0]?.alternatives[0];
|
|
57
56
|
// Extract transcript and create timeline
|
|
58
57
|
const transcript = firstAlternative?.transcript || '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeepgramSTT.js","sourceRoot":"","sources":["../../src/recognition/DeepgramSTT.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeepgramSTT.js","sourceRoot":"","sources":["../../src/recognition/DeepgramSTT.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Timeline } from '../utilities/Timeline.js';
|
|
2
2
|
import { RawAudio } from '../audio/AudioUtilities.js';
|
|
3
|
+
import { RecognitionCallbacks } from '../api/Recognition.js';
|
|
3
4
|
export type AudioEncoding = 'LINEAR16' | 'FLAC' | 'MULAW' | 'AMR' | 'AMR' | 'AMR_WB' | 'OGG_OPUS' | 'SPEEX_WITH_HEADER_BYTE' | 'MP3' | 'WEBM_OPUS';
|
|
4
|
-
export declare function recognize(rawAudio: RawAudio, apiKey: string, languageCode
|
|
5
|
+
export declare function recognize(rawAudio: RawAudio, apiKey: string, languageCode: string | undefined, callbacks: RecognitionCallbacks): Promise<{
|
|
5
6
|
transcript: string;
|
|
6
7
|
timeline: Timeline;
|
|
7
8
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleCloudSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/GoogleCloudSTT.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GoogleCloudSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/GoogleCloudSTT.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAG5D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,wBAAwB,GAAG,KAAK,GAAG,WAAW,CAAA;AAElJ,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,oBAAU,EAAE,SAAS,EAAE,oBAAoB;;;GAsD1H"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { request } from 'gaxios';
|
|
2
1
|
import * as FFMpegTranscoder from '../codecs/FFMpegTranscoder.js';
|
|
3
2
|
import { Logger } from '../utilities/Logger.js';
|
|
4
3
|
import { encodeBase64 } from '../encodings/Base64.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
4
|
+
import { requestHttp } from 'easier-http-request';
|
|
5
|
+
export async function recognize(rawAudio, apiKey, languageCode = 'en-US', callbacks) {
|
|
6
|
+
const flac16Khz16bitMonoAudio = await FFMpegTranscoder.encodeFromChannels(rawAudio, { format: 'flac', sampleRate: 16000, sampleFormat: 's16', channelCount: 1 }, callbacks);
|
|
7
|
+
const logger = new Logger(callbacks.logLevel);
|
|
8
8
|
logger.start('Request recognition from Google Cloud');
|
|
9
9
|
const requestBody = {
|
|
10
10
|
config: {
|
|
@@ -25,7 +25,7 @@ export async function recognize(rawAudio, apiKey, languageCode = 'en-US') {
|
|
|
25
25
|
content: encodeBase64(flac16Khz16bitMonoAudio)
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
-
const response = await
|
|
28
|
+
const response = await requestHttp({
|
|
29
29
|
method: 'POST',
|
|
30
30
|
url: `https://speech.googleapis.com/v1p1beta1/speech:recognize`,
|
|
31
31
|
params: {
|
|
@@ -34,16 +34,17 @@ export async function recognize(rawAudio, apiKey, languageCode = 'en-US') {
|
|
|
34
34
|
headers: {
|
|
35
35
|
'User-Agent': ''
|
|
36
36
|
},
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
body: requestBody,
|
|
38
|
+
abortSignal: callbacks.abortSignal,
|
|
39
39
|
});
|
|
40
|
+
const responseObject = await response.json();
|
|
40
41
|
logger.start('Parse response body');
|
|
41
|
-
const result =
|
|
42
|
+
const result = parseResponseObject(responseObject);
|
|
42
43
|
logger.end();
|
|
43
44
|
return result;
|
|
44
45
|
}
|
|
45
|
-
function
|
|
46
|
-
const results =
|
|
46
|
+
function parseResponseObject(responseObject) {
|
|
47
|
+
const results = responseObject.results;
|
|
47
48
|
let transcript = '';
|
|
48
49
|
const timeline = [];
|
|
49
50
|
for (const result of results) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleCloudSTT.js","sourceRoot":"","sources":["../../src/recognition/GoogleCloudSTT.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GoogleCloudSTT.js","sourceRoot":"","sources":["../../src/recognition/GoogleCloudSTT.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RawAudio } from '../audio/AudioUtilities.js';
|
|
2
2
|
import { Timeline } from '../utilities/Timeline.js';
|
|
3
|
-
|
|
3
|
+
import { RecognitionCallbacks } from '../api/Recognition.js';
|
|
4
|
+
export declare function recognize(rawAudio: RawAudio, languageCode: string, options: OpenAICloudSTTOptions, task: Task | undefined, callbacks: RecognitionCallbacks): Promise<{
|
|
4
5
|
transcript: string;
|
|
5
6
|
timeline: Timeline | undefined;
|
|
6
7
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAICloudSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/OpenAICloudSTT.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAIrD,OAAO,EAAE,QAAQ,EAAiB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"OpenAICloudSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/OpenAICloudSTT.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAIrD,OAAO,EAAE,QAAQ,EAAiB,MAAM,0BAA0B,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,YAAe,EAAE,SAAS,EAAE,oBAAoB;;;GAoGnK;AAiCD,KAAK,IAAI,GAAG,YAAY,GAAG,WAAW,CAAA;AAEtC,MAAM,WAAW,qBAAqB;IACrC,KAAK,CAAC,EAAE,WAAW,GAAG,wBAAwB,GAAG,mBAAmB,GAAG,MAAM,CAAA;IAE7E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,eAAO,MAAM,4BAA4B,EAAE,qBAa1C,CAAA"}
|
|
@@ -3,8 +3,8 @@ import { createVirtualFileReadStreamForBuffer } from '../utilities/VirtualFileRe
|
|
|
3
3
|
import { Logger } from '../utilities/Logger.js';
|
|
4
4
|
import { extendDeep } from '../utilities/ObjectUtilities.js';
|
|
5
5
|
import { alignSegments } from '../api/Alignment.js';
|
|
6
|
-
export async function recognize(rawAudio, languageCode, options, task = 'transcribe') {
|
|
7
|
-
const logger = new Logger();
|
|
6
|
+
export async function recognize(rawAudio, languageCode, options, task = 'transcribe', callbacks) {
|
|
7
|
+
const logger = new Logger(callbacks.logLevel);
|
|
8
8
|
logger.start('Load OpenAI module');
|
|
9
9
|
options = extendDeep(defaultOpenAICloudSTTOptions, options);
|
|
10
10
|
if (options.requestWordTimestamps === undefined) {
|
|
@@ -22,7 +22,7 @@ export async function recognize(rawAudio, languageCode, options, task = 'transcr
|
|
|
22
22
|
const openai = new OpenAI(options);
|
|
23
23
|
logger.start('Encode audio to send');
|
|
24
24
|
const ffmpegOptions = FFMpegTranscoder.getDefaultFFMpegOptionsForSpeech('mp3');
|
|
25
|
-
const encodedAudio = await FFMpegTranscoder.encodeFromChannels(rawAudio, ffmpegOptions);
|
|
25
|
+
const encodedAudio = await FFMpegTranscoder.encodeFromChannels(rawAudio, ffmpegOptions, callbacks);
|
|
26
26
|
const virtualFileStream = createVirtualFileReadStreamForBuffer(encodedAudio, 'audio.mp3');
|
|
27
27
|
logger.start(options.baseURL ? `Send request to ${options.baseURL}` : 'Send request to OpenAI Cloud API');
|
|
28
28
|
let responseFormat;
|
|
@@ -43,7 +43,7 @@ export async function recognize(rawAudio, languageCode, options, task = 'transcr
|
|
|
43
43
|
response_format: responseFormat,
|
|
44
44
|
temperature: options.temperature,
|
|
45
45
|
timestamp_granularities,
|
|
46
|
-
});
|
|
46
|
+
}, { signal: callbacks.abortSignal });
|
|
47
47
|
}
|
|
48
48
|
else if (task == 'translate') {
|
|
49
49
|
response = await openai.audio.translations.create({
|
|
@@ -52,7 +52,7 @@ export async function recognize(rawAudio, languageCode, options, task = 'transcr
|
|
|
52
52
|
prompt: options.prompt,
|
|
53
53
|
response_format: responseFormat,
|
|
54
54
|
temperature: options.temperature,
|
|
55
|
-
});
|
|
55
|
+
}, { signal: callbacks.abortSignal });
|
|
56
56
|
}
|
|
57
57
|
else {
|
|
58
58
|
throw new Error(`Invalid task`);
|
|
@@ -76,7 +76,7 @@ export async function recognize(rawAudio, languageCode, options, task = 'transcr
|
|
|
76
76
|
}));
|
|
77
77
|
if (task === 'transcribe') {
|
|
78
78
|
logger.start('Align segments');
|
|
79
|
-
timeline = await alignSegments(rawAudio, segmentTimeline, { language: languageCode });
|
|
79
|
+
timeline = await alignSegments(rawAudio, segmentTimeline, { language: languageCode }, { ...callbacks, logLevel: 'warning' });
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
82
|
timeline = segmentTimeline;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAICloudSTT.js","sourceRoot":"","sources":["../../src/recognition/OpenAICloudSTT.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAA;AAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"OpenAICloudSTT.js","sourceRoot":"","sources":["../../src/recognition/OpenAICloudSTT.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LoadPackageCallbacks } from '../utilities/PackageManager.js';
|
|
2
|
+
export declare function loadModelPackage(quantizedModelId: WhisperQuantizedModelId | undefined, languageCode: string | undefined, callbacks: LoadPackageCallbacks): Promise<{
|
|
3
|
+
modelId: WhisperModelId;
|
|
4
|
+
modelPath: string;
|
|
5
|
+
}>;
|
|
6
|
+
export type WhisperModelId = 'tiny' | 'tiny.en' | 'base' | 'base.en' | 'small' | 'small.en' | 'medium' | 'medium.en' | 'large-v1' | 'large-v2' | 'large-v3' | 'large-v3-turbo';
|
|
7
|
+
export type WhisperQuantizedModelId = 'tiny' | 'tiny-q5_1' | 'tiny-q8_0' | 'tiny.en' | 'tiny.en-q5_1' | 'tiny.en-q8_0' | 'base' | 'base-q5_1' | 'base-q8_0' | 'base.en' | 'base.en-q5_1' | 'base.en-q8_0' | 'small' | 'small-q5_1' | 'small-q8_0' | 'small.en' | 'small.en-q5_1' | 'small.en-q8_0' | 'medium' | 'medium-q5_0' | 'medium-q8_0' | 'medium.en' | 'medium.en-q5_0' | 'medium.en-q8_0' | 'large' | 'large-v1' | 'large-v2' | 'large-v2-q5_0' | 'large-v2-q8_0' | 'large-v3' | 'large-v3-q5_0' | 'large-v3-turbo' | 'large-v3-turbo-q5_0' | 'large-v3-turbo-q8_0';
|
|
8
|
+
export type WhisperTask = 'transcribe' | 'translate' | 'detect-language';
|
|
9
|
+
//# sourceMappingURL=WhisperCommon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WhisperCommon.d.ts","sourceRoot":"","sources":["../../src/recognition/WhisperCommon.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAGlF,wBAAsB,gBAAgB,CAAC,gBAAgB,EAAE,uBAAuB,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,oBAAoB;;;GA2B9J;AAgCD,MAAM,MAAM,cAAc,GACzB,MAAM,GACN,SAAS,GAET,MAAM,GACN,SAAS,GAET,OAAO,GACP,UAAU,GAEV,QAAQ,GACR,WAAW,GAEX,UAAU,GACV,UAAU,GACV,UAAU,GACV,gBAAgB,CAAA;AAEjB,MAAM,MAAM,uBAAuB,GAClC,MAAM,GACN,WAAW,GACX,WAAW,GAEX,SAAS,GACT,cAAc,GACd,cAAc,GAEd,MAAM,GACN,WAAW,GACX,WAAW,GAEX,SAAS,GACT,cAAc,GACd,cAAc,GAEd,OAAO,GACP,YAAY,GACZ,YAAY,GAEZ,UAAU,GACV,eAAe,GACf,eAAe,GAEf,QAAQ,GACR,aAAa,GACb,aAAa,GAEb,WAAW,GACX,gBAAgB,GAChB,gBAAgB,GAEhB,OAAO,GAEP,UAAU,GAEV,UAAU,GACV,eAAe,GACf,eAAe,GAEf,UAAU,GACV,eAAe,GAEf,gBAAgB,GAChB,qBAAqB,GACrB,qBAAqB,CAAA;AAEtB,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { getShortLanguageCode } from '../utilities/Locale.js';
|
|
2
|
+
import { loadPackage } from '../utilities/PackageManager.js';
|
|
3
|
+
import { joinPath } from '../utilities/PathUtilities.js';
|
|
4
|
+
export async function loadModelPackage(quantizedModelId, languageCode, callbacks) {
|
|
5
|
+
if (quantizedModelId === 'large') {
|
|
6
|
+
quantizedModelId = 'large-v2';
|
|
7
|
+
}
|
|
8
|
+
if (quantizedModelId) {
|
|
9
|
+
const modelName = getShortModelIdFromWhisperCppModelId(quantizedModelId);
|
|
10
|
+
if (languageCode != 'en' && modelName.endsWith('.en')) {
|
|
11
|
+
throw new Error(`The English-only model '${modelName}' cannot be used with a non-English language '${languageCode}'.`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
if (languageCode) {
|
|
16
|
+
const shortLanguageCode = getShortLanguageCode(languageCode);
|
|
17
|
+
quantizedModelId = shortLanguageCode == 'en' ? 'base.en' : 'base';
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
quantizedModelId = 'base';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const packageName = `whisper.cpp-${quantizedModelId}`;
|
|
24
|
+
const modelDir = await loadPackage(packageName, callbacks);
|
|
25
|
+
const modelPath = joinPath(modelDir, `ggml-${quantizedModelId}.bin`);
|
|
26
|
+
const modelId = getShortModelIdFromWhisperCppModelId(quantizedModelId);
|
|
27
|
+
return { modelId, modelPath };
|
|
28
|
+
}
|
|
29
|
+
function getShortModelIdFromWhisperCppModelId(quantizedModelId) {
|
|
30
|
+
if (quantizedModelId.startsWith('large-v1')) {
|
|
31
|
+
return 'large-v1';
|
|
32
|
+
}
|
|
33
|
+
if (quantizedModelId.startsWith('large-v2')) {
|
|
34
|
+
return 'large-v2';
|
|
35
|
+
}
|
|
36
|
+
if (quantizedModelId.startsWith('large-v3-turbo')) {
|
|
37
|
+
return 'large-v3-turbo';
|
|
38
|
+
}
|
|
39
|
+
if (quantizedModelId.startsWith('large-v3')) {
|
|
40
|
+
return 'large-v3';
|
|
41
|
+
}
|
|
42
|
+
const lastDashIndex = quantizedModelId.lastIndexOf('-');
|
|
43
|
+
let modelName;
|
|
44
|
+
if (lastDashIndex >= 0) {
|
|
45
|
+
modelName = quantizedModelId.substring(0, lastDashIndex);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
modelName = quantizedModelId;
|
|
49
|
+
}
|
|
50
|
+
return modelName;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=WhisperCommon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WhisperCommon.js","sourceRoot":"","sources":["../../src/recognition/WhisperCommon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAwB,MAAM,gCAAgC,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAExD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,gBAAqD,EAAE,YAAgC,EAAE,SAA+B;IAC9J,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;QAClC,gBAAgB,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,oCAAoC,CAAC,gBAAgB,CAAC,CAAA;QAExE,IAAI,YAAY,IAAI,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,iDAAiD,YAAY,IAAI,CAAC,CAAA;QACvH,CAAC;IACF,CAAC;SAAM,CAAC;QACP,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;YAE5D,gBAAgB,GAAG,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;QAClE,CAAC;aAAM,CAAC;YACP,gBAAgB,GAAG,MAAM,CAAA;QAC1B,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,eAAe,gBAAgB,EAAE,CAAA;IACrD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,gBAAgB,MAAM,CAAC,CAAA;IACpE,MAAM,OAAO,GAAG,oCAAoC,CAAC,gBAAgB,CAAC,CAAA;IAEtE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,SAAS,oCAAoC,CAAC,gBAAyC;IACtF,IAAI,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,UAAU,CAAA;IAClB,CAAC;IAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,UAAU,CAAA;IAClB,CAAC;IAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnD,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,UAAU,CAAA;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAEvD,IAAI,SAAiB,CAAA;IAErB,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACxB,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAmB,CAAA;IAC3E,CAAC;SAAM,CAAC;QACP,SAAS,GAAG,gBAAgB,CAAA;IAC7B,CAAC;IAED,OAAO,SAA2B,CAAA;AACnC,CAAC"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { RawAudio } from '../audio/AudioUtilities.js';
|
|
2
|
-
import { type WhisperTask, type
|
|
2
|
+
import { type WhisperTask, type WhisperModelId, type WhisperQuantizedModelId } from './WhisperCommon.js';
|
|
3
3
|
import { Timeline } from '../utilities/Timeline.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export interface WhisperCppVerboseResult {
|
|
4
|
+
import { LoadPackageCallbacks } from '../utilities/PackageManager.js';
|
|
5
|
+
import { SpeechLanguageDetectionCallbacks } from '../api/SpeechLanguageDetection.js';
|
|
6
|
+
import { RecognitionCallbacks } from '../api/Recognition.js';
|
|
7
|
+
export declare function recognize(sourceRawAudio: RawAudio, task: WhisperTask, sourceLanguage: string | undefined, modelId: WhisperModelId, modelPath: string, options: WhisperCppCliOptions, callbacks: RecognitionCallbacks): Promise<RecognitionResult>;
|
|
8
|
+
export declare function detectLanguage(sourceRawAudio: RawAudio, modelId: WhisperModelId, modelPath: string, callbacks: SpeechLanguageDetectionCallbacks): Promise<import("../api/LanguageDetectionCommon.js").LanguageDetectionResults>;
|
|
9
|
+
export type WhisperCppCliBuild = 'cpu' | 'cublas-12.4.0' | 'custom';
|
|
10
|
+
export declare function loadBinariesPackage(buildKind: WhisperCppCliBuild, callbacks: LoadPackageCallbacks): Promise<string>;
|
|
11
|
+
export interface WhisperCppCliVerboseResult {
|
|
13
12
|
model: {
|
|
14
13
|
type: string;
|
|
15
14
|
multilingual: boolean;
|
|
@@ -69,11 +68,11 @@ interface RecognitionResult {
|
|
|
69
68
|
timeline: Timeline;
|
|
70
69
|
language?: string;
|
|
71
70
|
}
|
|
72
|
-
export interface
|
|
73
|
-
build?:
|
|
71
|
+
export interface WhisperCppCliOptions {
|
|
72
|
+
build?: WhisperCppCliBuild;
|
|
74
73
|
executablePath?: string;
|
|
74
|
+
model?: WhisperQuantizedModelId;
|
|
75
75
|
enableGPU?: boolean;
|
|
76
|
-
model?: WhisperCppModelId;
|
|
77
76
|
threadCount?: number;
|
|
78
77
|
splitCount?: number;
|
|
79
78
|
topCandidateCount?: number;
|
|
@@ -86,7 +85,6 @@ export interface WhisperCppOptions {
|
|
|
86
85
|
enableFlashAttention?: boolean;
|
|
87
86
|
verbose?: boolean;
|
|
88
87
|
}
|
|
89
|
-
export declare const
|
|
90
|
-
export type WhisperCppModelId = 'tiny' | 'tiny-q5_1' | 'tiny.en' | 'tiny.en-q5_1' | 'tiny.en-q8_0' | 'base' | 'base-q5_1' | 'base.en' | 'base.en-q5_1' | 'small' | 'small-q5_1' | 'small.en' | 'small.en-q5_1' | 'medium' | 'medium-q5_0' | 'medium.en' | 'medium.en-q5_0' | 'large' | 'large-v1' | 'large-v2' | 'large-v2-q5_0' | 'large-v3' | 'large-v3-q5_0' | `large-v3-turbo` | `large-v3-turbo-q5_0`;
|
|
88
|
+
export declare const defaultWhisperCppCliOptions: WhisperCppCliOptions;
|
|
91
89
|
export {};
|
|
92
|
-
//# sourceMappingURL=
|
|
90
|
+
//# sourceMappingURL=WhisperCppCliSTT.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WhisperCppCliSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/WhisperCppCliSTT.ts"],"names":[],"mappings":"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"}
|