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
package/dist/api/Common.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LogLevel } from '../utilities/Logger.js';
|
|
1
2
|
export declare const appName = "echogarden";
|
|
2
3
|
export interface EngineMetadata {
|
|
3
4
|
id: string;
|
|
@@ -11,4 +12,10 @@ export interface PlainTextOptions {
|
|
|
11
12
|
}
|
|
12
13
|
export type ParagraphBreakType = 'single' | 'double';
|
|
13
14
|
export type WhitespaceProcessing = 'preserve' | 'removeLineBreaks' | 'collapse';
|
|
15
|
+
export interface OperationOptions {
|
|
16
|
+
}
|
|
17
|
+
export interface OperationCallbacks {
|
|
18
|
+
abortSignal?: AbortSignal;
|
|
19
|
+
logLevel?: LogLevel;
|
|
20
|
+
}
|
|
14
21
|
//# sourceMappingURL=Common.d.ts.map
|
package/dist/api/Common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Common.d.ts","sourceRoot":"","sources":["../../src/api/Common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,eAAe,CAAA;AAEnC,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,gBAAgB;IAChC,eAAe,CAAC,EAAE,kBAAkB,CAAA;IACpC,UAAU,CAAC,EAAE,oBAAoB,CAAA;CACjC;AAED,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,CAAA;AACpD,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,kBAAkB,GAAG,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"Common.d.ts","sourceRoot":"","sources":["../../src/api/Common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,eAAO,MAAM,OAAO,eAAe,CAAA;AAEnC,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,gBAAgB;IAChC,eAAe,CAAC,EAAE,kBAAkB,CAAA;IACpC,UAAU,CAAC,EAAE,oBAAoB,CAAA;CACjC;AAED,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,CAAA;AACpD,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,kBAAkB,GAAG,UAAU,CAAA;AAE/E,MAAM,WAAW,gBAAgB;CAChC;AAED,MAAM,WAAW,kBAAkB;IAClC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB"}
|
package/dist/api/Common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Common.js","sourceRoot":"","sources":["../../src/api/Common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Common.js","sourceRoot":"","sources":["../../src/api/Common.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAA"}
|
package/dist/api/Denoising.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import * as API from './API.js';
|
|
1
2
|
import { AudioSourceParam, RawAudio } from '../audio/AudioUtilities.js';
|
|
2
3
|
import { EngineMetadata } from './Common.js';
|
|
3
4
|
import { NSNet2Options } from '../denoising/NSNet2.js';
|
|
4
|
-
export declare function denoise(input: AudioSourceParam, options: DenoisingOptions): Promise<{
|
|
5
|
+
export declare function denoise(input: AudioSourceParam, options: DenoisingOptions, callbacks?: DenoisingCallbacks): Promise<{
|
|
5
6
|
denoisedAudio: RawAudio;
|
|
6
7
|
inputRawAudio: RawAudio;
|
|
7
8
|
}>;
|
|
@@ -10,7 +11,7 @@ export interface DenoisingResult {
|
|
|
10
11
|
inputRawAudio: RawAudio;
|
|
11
12
|
}
|
|
12
13
|
export type DenoisingEngine = 'rnnoise' | 'nsnet2';
|
|
13
|
-
export interface DenoisingOptions {
|
|
14
|
+
export interface DenoisingOptions extends API.OperationOptions {
|
|
14
15
|
engine?: DenoisingEngine;
|
|
15
16
|
postProcessing?: {
|
|
16
17
|
normalizeAudio: boolean;
|
|
@@ -21,5 +22,7 @@ export interface DenoisingOptions {
|
|
|
21
22
|
nsnet2?: NSNet2Options;
|
|
22
23
|
}
|
|
23
24
|
export declare const defaultDenoisingOptions: DenoisingOptions;
|
|
25
|
+
export interface DenoisingCallbacks extends API.OperationCallbacks {
|
|
26
|
+
}
|
|
24
27
|
export declare const denoisingEngines: EngineMetadata[];
|
|
25
28
|
//# sourceMappingURL=Denoising.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Denoising.d.ts","sourceRoot":"","sources":["../../src/api/Denoising.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAwJ,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"Denoising.d.ts","sourceRoot":"","sources":["../../src/api/Denoising.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAI/B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAwJ,MAAM,4BAA4B,CAAA;AAI7N,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAwB,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAG5E,wBAAsB,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,kBAAkB;;;GAyI/G;AAED,MAAM,WAAW,eAAe;IAC/B,aAAa,EAAE,QAAQ,CAAA;IACvB,aAAa,EAAE,QAAQ,CAAA;CACvB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,CAAA;AAElD,MAAM,WAAW,gBAAiB,SAAQ,GAAG,CAAC,gBAAgB;IAC7D,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,cAAc,CAAC,EAAE;QAChB,cAAc,EAAE,OAAO,CAAA;QACvB,UAAU,EAAE,MAAM,CAAA;QAClB,eAAe,EAAE,MAAM,CAAA;QAEvB,UAAU,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IAED,MAAM,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAWrC,CAAA;AAED,MAAM,WAAW,kBAAmB,SAAQ,GAAG,CAAC,kBAAkB;CACjE;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAa5C,CAAA"}
|
package/dist/api/Denoising.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import * as API from './API.js';
|
|
1
3
|
import { extendDeep } from '../utilities/ObjectUtilities.js';
|
|
2
4
|
import { applyGainDecibels, applyGainDecibelsInPlace, attenuateIfClippingInPlace, ensureRawAudio, getSamplePeakDecibels, mixAudio, normalizeAudioLevelInPlace } from '../audio/AudioUtilities.js';
|
|
3
5
|
import { Logger } from '../utilities/Logger.js';
|
|
4
|
-
import { logToStderr } from '../utilities/Utilities.js';
|
|
5
6
|
import { resampleAudioSpeex } from '../dsp/SpeexResampler.js';
|
|
6
|
-
import chalk from 'chalk';
|
|
7
7
|
import { defaultNSNet2Options } from '../denoising/NSNet2.js';
|
|
8
8
|
import { loadPackage } from '../utilities/PackageManager.js';
|
|
9
|
-
|
|
10
|
-
export async function denoise(input, options) {
|
|
11
|
-
const logger = new Logger();
|
|
12
|
-
const startTime = logger.getTimestamp();
|
|
9
|
+
export async function denoise(input, options, callbacks) {
|
|
13
10
|
options = extendDeep(defaultDenoisingOptions, options);
|
|
14
|
-
|
|
11
|
+
callbacks = { logLevel: API.getGlobalLogLevel(), ...callbacks };
|
|
12
|
+
const logger = new Logger(callbacks.logLevel);
|
|
13
|
+
const startTime = logger.getTimestamp();
|
|
14
|
+
const inputRawAudio = await ensureRawAudio(input, undefined, undefined, callbacks);
|
|
15
15
|
logger.start(`Initialize ${options.engine} module`);
|
|
16
16
|
let denoisedAudio;
|
|
17
17
|
switch (options.engine) {
|
|
@@ -26,8 +26,8 @@ export async function denoise(input, options) {
|
|
|
26
26
|
const audioChannel = inputRawAudioResampled.audioChannels[channelIndex];
|
|
27
27
|
const audioChannelRawAudio = { audioChannels: [audioChannel], sampleRate: processingSampleRate };
|
|
28
28
|
logger.end();
|
|
29
|
-
logger.logTitledMessage(`Denoise audio channel`, `${channelIndex}`, chalk.magentaBright);
|
|
30
|
-
const { denoisedRawAudio, frameVadProbabilities } = await RNNoise.denoiseAudio(audioChannelRawAudio);
|
|
29
|
+
logger.logTitledMessage(`Denoise audio channel`, `${channelIndex}`, 'info', chalk.magentaBright);
|
|
30
|
+
const { denoisedRawAudio, frameVadProbabilities } = await RNNoise.denoiseAudio(audioChannelRawAudio, callbacks);
|
|
31
31
|
logger.end();
|
|
32
32
|
denoisedAudioChannels.push(denoisedRawAudio.audioChannels[0]);
|
|
33
33
|
}
|
|
@@ -52,7 +52,7 @@ export async function denoise(input, options) {
|
|
|
52
52
|
throw new Error(`Unknown model name: ${nsnet2Options.model}`);
|
|
53
53
|
}
|
|
54
54
|
if (!nsnet2Options.modelDirectoryPath) {
|
|
55
|
-
nsnet2Options.modelDirectoryPath = await loadPackage(packageName);
|
|
55
|
+
nsnet2Options.modelDirectoryPath = await loadPackage(packageName, callbacks);
|
|
56
56
|
}
|
|
57
57
|
logger.start(`Resample audio to ${processingSampleRate} Hz`);
|
|
58
58
|
const inputRawAudioResampled = await resampleAudioSpeex(inputRawAudio, processingSampleRate, 0);
|
|
@@ -61,8 +61,8 @@ export async function denoise(input, options) {
|
|
|
61
61
|
const audioChannel = inputRawAudioResampled.audioChannels[channelIndex];
|
|
62
62
|
const audioChannelRawAudio = { audioChannels: [audioChannel], sampleRate: processingSampleRate };
|
|
63
63
|
logger.end();
|
|
64
|
-
logger.logTitledMessage(`Denoise audio channel`, `${channelIndex}`, chalk.magentaBright);
|
|
65
|
-
const { denoisedAudio } = await NSNet2.denoiseAudio(audioChannelRawAudio, nsnet2Options);
|
|
64
|
+
logger.logTitledMessage(`Denoise audio channel`, `${channelIndex}`, 'info', chalk.magentaBright);
|
|
65
|
+
const { denoisedAudio } = await NSNet2.denoiseAudio(audioChannelRawAudio, nsnet2Options, callbacks);
|
|
66
66
|
logger.end();
|
|
67
67
|
denoisedAudioChannels.push(denoisedAudio.audioChannels[0]);
|
|
68
68
|
}
|
|
@@ -73,9 +73,9 @@ export async function denoise(input, options) {
|
|
|
73
73
|
throw new Error(`Engine '${options.engine}' is not recognized.`);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
logger.logTitledMessage(`Postprocess`, ``, chalk.magentaBright);
|
|
76
|
+
logger.logTitledMessage(`Postprocess`, ``, 'info', chalk.magentaBright);
|
|
77
77
|
logger.start(`Resample denoised audio (${denoisedAudio.sampleRate} Hz) back to original sample rate (${inputRawAudio.sampleRate} Hz)`);
|
|
78
|
-
denoisedAudio = await ensureRawAudio(denoisedAudio, inputRawAudio.sampleRate, inputRawAudio.audioChannels.length);
|
|
78
|
+
denoisedAudio = await ensureRawAudio(denoisedAudio, inputRawAudio.sampleRate, inputRawAudio.audioChannels.length, callbacks);
|
|
79
79
|
logger.start('Postprocess audio');
|
|
80
80
|
const shouldNormalize = options.postProcessing.normalizeAudio;
|
|
81
81
|
const targetPeakDecibels = options.postProcessing.targetPeak;
|
|
@@ -94,7 +94,7 @@ export async function denoise(input, options) {
|
|
|
94
94
|
}
|
|
95
95
|
logger.end();
|
|
96
96
|
logger.log('');
|
|
97
|
-
logger.logDuration('Total denoising time', startTime, chalk.magentaBright);
|
|
97
|
+
logger.logDuration('Total denoising time', startTime, 'info', chalk.magentaBright);
|
|
98
98
|
return {
|
|
99
99
|
denoisedAudio,
|
|
100
100
|
inputRawAudio
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Denoising.js","sourceRoot":"","sources":["../../src/api/Denoising.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE5D,OAAO,EAA8B,iBAAiB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,cAAc,EAAE,qBAAqB,EAAE,QAAQ,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAC7N,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Denoising.js","sourceRoot":"","sources":["../../src/api/Denoising.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
+
import { LogLevel } from "../utilities/Logger.js";
|
|
1
2
|
export declare function getGlobalOption<K extends keyof GlobalOptions>(key: K): GlobalOptions[K];
|
|
2
3
|
export declare function setGlobalOption<K extends keyof GlobalOptions>(key: K, value: GlobalOptions[K]): void;
|
|
3
4
|
export declare function listGlobalOptions(): string[];
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function getLogLevel(): "silent" | "output" | "error" | "warning" | "info" | "trace";
|
|
6
|
-
export declare function logLevelGreaterOrEqualTo(referenceLevel: LogLevel): boolean;
|
|
7
|
-
export declare function logLevelSmallerThan(referenceLevel: LogLevel): boolean;
|
|
8
|
-
declare const logLevels: readonly ["silent", "output", "error", "warning", "info", "trace"];
|
|
9
|
-
export type LogLevel = typeof logLevels[number];
|
|
5
|
+
export declare function getGlobalLogLevel(): "error" | "info" | "output" | "silent" | "trace" | "warning";
|
|
10
6
|
export interface GlobalOptions {
|
|
11
7
|
ffmpegPath?: string;
|
|
12
|
-
soxPath?: string;
|
|
13
8
|
packageBaseURL?: string;
|
|
14
9
|
logLevel?: LogLevel;
|
|
15
10
|
}
|
|
16
|
-
export {};
|
|
17
11
|
//# sourceMappingURL=GlobalOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalOptions.d.ts","sourceRoot":"","sources":["../../src/api/GlobalOptions.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAMvF;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAM7F;AAED,wBAAgB,iBAAiB,aAEhC;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"GlobalOptions.d.ts","sourceRoot":"","sources":["../../src/api/GlobalOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,wBAAwB,CAAA;AAE3E,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAMvF;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAM7F;AAED,wBAAgB,iBAAiB,aAEhC;AAED,wBAAgB,iBAAiB,iEAEhC;AAED,MAAM,WAAW,aAAa;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB"}
|
|
@@ -13,22 +13,11 @@ export function setGlobalOption(key, value) {
|
|
|
13
13
|
export function listGlobalOptions() {
|
|
14
14
|
return Object.keys(globalOptions);
|
|
15
15
|
}
|
|
16
|
-
export function
|
|
17
|
-
return
|
|
16
|
+
export function getGlobalLogLevel() {
|
|
17
|
+
return getGlobalOption('logLevel') ?? 'info';
|
|
18
18
|
}
|
|
19
|
-
export function getLogLevel() {
|
|
20
|
-
return globalOptions.logLevel ?? 'info';
|
|
21
|
-
}
|
|
22
|
-
export function logLevelGreaterOrEqualTo(referenceLevel) {
|
|
23
|
-
return !logLevelSmallerThan(referenceLevel);
|
|
24
|
-
}
|
|
25
|
-
export function logLevelSmallerThan(referenceLevel) {
|
|
26
|
-
return logLevelToNumber(getLogLevel()) < logLevelToNumber(referenceLevel);
|
|
27
|
-
}
|
|
28
|
-
const logLevels = ['silent', 'output', 'error', 'warning', 'info', 'trace'];
|
|
29
19
|
const globalOptions = {
|
|
30
20
|
ffmpegPath: undefined,
|
|
31
|
-
soxPath: undefined,
|
|
32
21
|
packageBaseURL: 'https://huggingface.co/echogarden/echogarden-packages/resolve/main/',
|
|
33
22
|
logLevel: 'info',
|
|
34
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalOptions.js","sourceRoot":"","sources":["../../src/api/GlobalOptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GlobalOptions.js","sourceRoot":"","sources":["../../src/api/GlobalOptions.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAgC,GAAM;IACpE,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,GAAG,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAgC,GAAM,EAAE,KAAuB;IAC7F,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,GAAG,CAAC,CAAA;IACtD,CAAC;IAED,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,OAAO,eAAe,CAAC,UAAU,CAAC,IAAI,MAAM,CAAA;AAC7C,CAAC;AAQD,MAAM,aAAa,GAAkB;IACpC,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,qEAAqE;IACrF,QAAQ,EAAE,MAAM;CAChB,CAAA"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import * as API from './API.js';
|
|
2
2
|
import { AudioSourceParam, RawAudio } from '../audio/AudioUtilities.js';
|
|
3
3
|
import { Timeline } from '../utilities/Timeline.js';
|
|
4
|
-
import { type WhisperPartCallback, type
|
|
4
|
+
import { type WhisperOptions, type WhisperPartCallback, type WhisperTokenCallback } from '../recognition/WhisperSTT.js';
|
|
5
5
|
import { type SubtitlesConfig } from '../subtitles/Subtitles.js';
|
|
6
6
|
import { type OpenAICloudSTTOptions } from '../recognition/OpenAICloudSTT.js';
|
|
7
|
-
import { type
|
|
8
|
-
import { type SileroRecognitionOptions } from '../recognition/SileroSTT.js';
|
|
7
|
+
import { type WhisperCppCliOptions } from '../recognition/WhisperCppCliSTT.js';
|
|
9
8
|
import { type DeepgramSTTOptions } from '../recognition/DeepgramSTT.js';
|
|
10
|
-
export declare function recognize(input: AudioSourceParam, options: RecognitionOptions,
|
|
9
|
+
export declare function recognize(input: AudioSourceParam, options: RecognitionOptions, callbacks?: RecognitionCallbacks): Promise<RecognitionResult>;
|
|
11
10
|
export interface RecognitionResult {
|
|
12
11
|
transcript: string;
|
|
13
12
|
timeline: Timeline;
|
|
@@ -17,8 +16,8 @@ export interface RecognitionResult {
|
|
|
17
16
|
isolatedRawAudio?: RawAudio;
|
|
18
17
|
backgroundRawAudio?: RawAudio;
|
|
19
18
|
}
|
|
20
|
-
export type RecognitionEngine = 'whisper' | 'whisper.cpp' | '
|
|
21
|
-
export interface RecognitionOptions {
|
|
19
|
+
export type RecognitionEngine = 'whisper' | 'whisper.cpp' | 'google-cloud' | 'microsoft-azure' | 'amazon-transcribe' | 'openai-cloud' | 'deepgram';
|
|
20
|
+
export interface RecognitionOptions extends API.OperationOptions {
|
|
22
21
|
engine?: RecognitionEngine;
|
|
23
22
|
language?: string;
|
|
24
23
|
maxAlternatives?: number;
|
|
@@ -27,14 +26,10 @@ export interface RecognitionOptions {
|
|
|
27
26
|
alignment?: API.AlignmentOptions;
|
|
28
27
|
languageDetection?: API.SpeechLanguageDetectionOptions;
|
|
29
28
|
subtitles?: SubtitlesConfig;
|
|
30
|
-
vad?: API.
|
|
29
|
+
vad?: API.VoiceActivityDetectionOptions;
|
|
31
30
|
sourceSeparation?: API.SourceSeparationOptions;
|
|
32
31
|
whisper?: WhisperOptions;
|
|
33
|
-
whisperCpp?:
|
|
34
|
-
vosk?: {
|
|
35
|
-
modelPath?: string;
|
|
36
|
-
};
|
|
37
|
-
silero?: SileroRecognitionOptions;
|
|
32
|
+
whisperCpp?: WhisperCppCliOptions;
|
|
38
33
|
googleCloud?: {
|
|
39
34
|
apiKey?: string;
|
|
40
35
|
alternativeLanguageCodes?: string[];
|
|
@@ -55,5 +50,9 @@ export interface RecognitionOptions {
|
|
|
55
50
|
deepgram?: DeepgramSTTOptions;
|
|
56
51
|
}
|
|
57
52
|
export declare const defaultRecognitionOptions: RecognitionOptions;
|
|
53
|
+
export interface RecognitionCallbacks extends API.OperationCallbacks {
|
|
54
|
+
onPart?: WhisperPartCallback;
|
|
55
|
+
onToken?: WhisperTokenCallback;
|
|
56
|
+
}
|
|
58
57
|
export declare const recognitionEngines: API.EngineMetadata[];
|
|
59
58
|
//# sourceMappingURL=Recognition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recognition.d.ts","sourceRoot":"","sources":["../../src/api/Recognition.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"Recognition.d.ts","sourceRoot":"","sources":["../../src/api/Recognition.ts"],"names":[],"mappings":"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"}
|
package/dist/api/Recognition.js
CHANGED
|
@@ -1,38 +1,36 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import * as API from './API.js';
|
|
3
3
|
import { extendDeep } from '../utilities/ObjectUtilities.js';
|
|
4
|
-
import { logToStderr } from '../utilities/Utilities.js';
|
|
5
4
|
import { ensureRawAudio, normalizeAudioLevelInPlace, trimAudioEnd } from '../audio/AudioUtilities.js';
|
|
6
5
|
import { Logger } from '../utilities/Logger.js';
|
|
7
6
|
import { addWordTextOffsetsToTimelineInPlace, wordTimelineToSegmentSentenceTimeline } from '../utilities/Timeline.js';
|
|
8
7
|
import { formatLanguageCodeWithName, parseLangIdentifier } from '../utilities/Locale.js';
|
|
9
|
-
|
|
10
|
-
const log = logToStderr;
|
|
11
|
-
export async function recognize(input, options, onPart) {
|
|
12
|
-
const logger = new Logger();
|
|
13
|
-
const startTimestamp = logger.getTimestamp();
|
|
8
|
+
export async function recognize(input, options, callbacks) {
|
|
14
9
|
options = extendDeep(defaultRecognitionOptions, options);
|
|
15
|
-
|
|
10
|
+
callbacks = { logLevel: API.getGlobalLogLevel(), ...callbacks };
|
|
11
|
+
const logger = new Logger(callbacks.logLevel);
|
|
12
|
+
const startTimestamp = logger.getTimestamp();
|
|
13
|
+
const inputRawAudio = await ensureRawAudio(input, undefined, undefined, callbacks);
|
|
16
14
|
let sourceRawAudio;
|
|
17
15
|
let isolatedRawAudio;
|
|
18
16
|
let backgroundRawAudio;
|
|
19
17
|
if (options.isolate) {
|
|
20
|
-
logger.
|
|
21
|
-
logger.
|
|
22
|
-
({ isolatedRawAudio, backgroundRawAudio } = await API.isolate(inputRawAudio, options.sourceSeparation));
|
|
18
|
+
logger.logTitledMessage(`Isolate vocals`, '');
|
|
19
|
+
({ isolatedRawAudio, backgroundRawAudio } = await API.isolate(inputRawAudio, options.sourceSeparation, { ...callbacks, logLevel: logger.logLevel }));
|
|
23
20
|
logger.end();
|
|
24
|
-
logger.log(``);
|
|
25
21
|
logger.start(`Resample audio to 16kHz mono`);
|
|
26
|
-
sourceRawAudio = await ensureRawAudio(isolatedRawAudio, 16000, 1);
|
|
22
|
+
sourceRawAudio = await ensureRawAudio(isolatedRawAudio, 16000, 1, callbacks);
|
|
27
23
|
}
|
|
28
24
|
else {
|
|
29
25
|
logger.start(`Resample audio to 16kHz mono`);
|
|
30
|
-
sourceRawAudio = await ensureRawAudio(inputRawAudio, 16000, 1);
|
|
26
|
+
sourceRawAudio = await ensureRawAudio(inputRawAudio, 16000, 1, callbacks);
|
|
31
27
|
}
|
|
28
|
+
logger.end();
|
|
32
29
|
let sourceUncropTimeline;
|
|
33
30
|
if (options.crop) {
|
|
34
31
|
logger.start('Crop using voice activity detection');
|
|
35
|
-
({ timeline: sourceUncropTimeline, croppedRawAudio: sourceRawAudio } =
|
|
32
|
+
({ timeline: sourceUncropTimeline, croppedRawAudio: sourceRawAudio } =
|
|
33
|
+
await API.detectVoiceActivity(sourceRawAudio, options.vad, { ...callbacks, logLevel: 'warning' }));
|
|
36
34
|
logger.end();
|
|
37
35
|
}
|
|
38
36
|
logger.start('Normalize and trim audio');
|
|
@@ -47,7 +45,7 @@ export async function recognize(input, options, onPart) {
|
|
|
47
45
|
}
|
|
48
46
|
else {
|
|
49
47
|
logger.start('No language specified. Detect speech language');
|
|
50
|
-
const { detectedLanguage } = await API.detectSpeechLanguage(sourceRawAudio, options.languageDetection);
|
|
48
|
+
const { detectedLanguage } = await API.detectSpeechLanguage(sourceRawAudio, options.languageDetection, { abortSignal: callbacks.abortSignal, logLevel: 'warning' });
|
|
51
49
|
options.language = detectedLanguage;
|
|
52
50
|
logger.end();
|
|
53
51
|
logger.logTitledMessage('Language detected', formatLanguageCodeWithName(detectedLanguage));
|
|
@@ -61,54 +59,22 @@ export async function recognize(input, options, onPart) {
|
|
|
61
59
|
switch (engine) {
|
|
62
60
|
case 'whisper': {
|
|
63
61
|
const WhisperSTT = await import('../recognition/WhisperSTT.js');
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
const {
|
|
62
|
+
const WhisperCommon = await import('../recognition/WhisperCommon.js');
|
|
63
|
+
const whisperOptions = extendDeep(WhisperSTT.defaultWhisperOptions, options.whisper);
|
|
64
|
+
const { modelId, modelPath } = await WhisperCommon.loadModelPackage(whisperOptions.model, shortLanguageCode, callbacks);
|
|
65
|
+
const { libPath } = await WhisperSTT.loadLibraryPackages(whisperOptions.enableGPU, callbacks);
|
|
67
66
|
logger.end();
|
|
68
|
-
({ transcript, timeline } = await WhisperSTT.recognize(sourceRawAudio,
|
|
67
|
+
({ transcript, timeline } = await WhisperSTT.recognize(sourceRawAudio, modelId, modelPath, libPath, 'transcribe', shortLanguageCode, whisperOptions, callbacks));
|
|
69
68
|
break;
|
|
70
69
|
}
|
|
71
70
|
case 'whisper.cpp': {
|
|
72
|
-
const
|
|
71
|
+
const WhisperCppCliSTT = await import('../recognition/WhisperCppCliSTT.js');
|
|
72
|
+
const WhisperCommon = await import('../recognition/WhisperCommon.js');
|
|
73
73
|
const whisperCppOptions = options.whisperCpp;
|
|
74
74
|
logger.end();
|
|
75
|
-
const {
|
|
76
|
-
logger.end();
|
|
77
|
-
({ transcript, timeline } = await WhisperCppSTT.recognize(sourceRawAudio, 'transcribe', shortLanguageCode, modelName, modelPath, whisperCppOptions));
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
case 'vosk': {
|
|
81
|
-
const VoskSTT = await import('../recognition/VoskSTT.js');
|
|
82
|
-
try {
|
|
83
|
-
await import('@echogarden/vosk');
|
|
84
|
-
}
|
|
85
|
-
catch (e) {
|
|
86
|
-
log(e);
|
|
87
|
-
throw new Error(`The vosk npm package, which is required for Vosk support, was not found, or had an error loading. If missing, you can install it by running 'npm install @echogarden/vosk -g'.`);
|
|
88
|
-
}
|
|
89
|
-
const voskOptions = options.vosk;
|
|
90
|
-
const modelPath = voskOptions.modelPath;
|
|
91
|
-
if (!modelPath) {
|
|
92
|
-
throw new Error(`Vosk models are not currently auto-downloaded. You'll need to download a model manually and set a model path in 'vosk.modelPath'.`);
|
|
93
|
-
}
|
|
94
|
-
logger.end();
|
|
95
|
-
({ transcript, timeline } = await VoskSTT.recognize(sourceRawAudio, modelPath, true));
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
case 'silero': {
|
|
99
|
-
const SileroSTT = await import('../recognition/SileroSTT.js');
|
|
100
|
-
const sileroOptions = options.silero;
|
|
101
|
-
let modelPath = sileroOptions.modelPath;
|
|
102
|
-
if (!modelPath) {
|
|
103
|
-
const packageName = SileroSTT.languageCodeToPackageName[shortLanguageCode];
|
|
104
|
-
if (!packageName) {
|
|
105
|
-
throw new Error(`Language '${shortLanguageCode}' is not supported by Silero`);
|
|
106
|
-
}
|
|
107
|
-
modelPath = await loadPackage(packageName);
|
|
108
|
-
}
|
|
109
|
-
const onnxExecutionProviders = sileroOptions.provider ? [sileroOptions.provider] : [];
|
|
75
|
+
const { modelId, modelPath } = await WhisperCommon.loadModelPackage(whisperCppOptions.model, shortLanguageCode, callbacks);
|
|
110
76
|
logger.end();
|
|
111
|
-
({ transcript, timeline } = await
|
|
77
|
+
({ transcript, timeline } = await WhisperCppCliSTT.recognize(sourceRawAudio, 'transcribe', shortLanguageCode, modelId, modelPath, whisperCppOptions, callbacks));
|
|
112
78
|
break;
|
|
113
79
|
}
|
|
114
80
|
case 'google-cloud': {
|
|
@@ -118,7 +84,7 @@ export async function recognize(input, options, onPart) {
|
|
|
118
84
|
throw new Error(`No API key given`);
|
|
119
85
|
}
|
|
120
86
|
logger.end();
|
|
121
|
-
({ transcript, timeline } = await GoogleCloudSTT.recognize(sourceRawAudio, apiKey, shortLanguageCode));
|
|
87
|
+
({ transcript, timeline } = await GoogleCloudSTT.recognize(sourceRawAudio, apiKey, shortLanguageCode, callbacks));
|
|
122
88
|
break;
|
|
123
89
|
}
|
|
124
90
|
case 'microsoft-azure': {
|
|
@@ -132,7 +98,7 @@ export async function recognize(input, options, onPart) {
|
|
|
132
98
|
throw new Error(`No Microsoft Azure service region provided`);
|
|
133
99
|
}
|
|
134
100
|
logger.end();
|
|
135
|
-
({ transcript, timeline } = await AzureCognitiveServicesSTT.recognize(sourceRawAudio, subscriptionKey, serviceRegion, shortLanguageCode));
|
|
101
|
+
({ transcript, timeline } = await AzureCognitiveServicesSTT.recognize(sourceRawAudio, subscriptionKey, serviceRegion, shortLanguageCode, undefined, callbacks));
|
|
136
102
|
break;
|
|
137
103
|
}
|
|
138
104
|
case 'amazon-transcribe': {
|
|
@@ -150,7 +116,7 @@ export async function recognize(input, options, onPart) {
|
|
|
150
116
|
throw new Error(`No Amazon Transcribe secret access key provided`);
|
|
151
117
|
}
|
|
152
118
|
logger.end();
|
|
153
|
-
({ transcript, timeline } = await AmazonTranscribeSTT.recgonize(sourceRawAudio, languageCode, region, accessKeyId, secretAccessKey));
|
|
119
|
+
({ transcript, timeline } = await AmazonTranscribeSTT.recgonize(sourceRawAudio, languageCode, region, accessKeyId, secretAccessKey, callbacks));
|
|
154
120
|
break;
|
|
155
121
|
}
|
|
156
122
|
case 'openai-cloud': {
|
|
@@ -160,7 +126,7 @@ export async function recognize(input, options, onPart) {
|
|
|
160
126
|
throw new Error(`No OpanAI Cloud API key provided`);
|
|
161
127
|
}
|
|
162
128
|
logger.end();
|
|
163
|
-
({ transcript, timeline } = await OpenAICloudSTT.recognize(sourceRawAudio, shortLanguageCode, openAICloudSTTOptions));
|
|
129
|
+
({ transcript, timeline } = await OpenAICloudSTT.recognize(sourceRawAudio, shortLanguageCode, openAICloudSTTOptions, 'transcribe', callbacks));
|
|
164
130
|
break;
|
|
165
131
|
}
|
|
166
132
|
case 'deepgram': {
|
|
@@ -170,7 +136,7 @@ export async function recognize(input, options, onPart) {
|
|
|
170
136
|
throw new Error(`No Deepgram API key provided`);
|
|
171
137
|
}
|
|
172
138
|
logger.end();
|
|
173
|
-
({ transcript, timeline } = await DeepgramSTT.recognize(sourceRawAudio, options.language ? shortLanguageCode : undefined, deepgramOptions));
|
|
139
|
+
({ transcript, timeline } = await DeepgramSTT.recognize(sourceRawAudio, options.language ? shortLanguageCode : undefined, deepgramOptions, callbacks));
|
|
174
140
|
break;
|
|
175
141
|
}
|
|
176
142
|
default: {
|
|
@@ -181,7 +147,7 @@ export async function recognize(input, options, onPart) {
|
|
|
181
147
|
if (!timeline) {
|
|
182
148
|
logger.start(`Align audio to transcript`);
|
|
183
149
|
const alignmentOptions = extendDeep(options.alignment, { language: languageCode });
|
|
184
|
-
const { wordTimeline } = await API.align(sourceRawAudio, transcript, alignmentOptions);
|
|
150
|
+
const { wordTimeline } = await API.align(sourceRawAudio, transcript, alignmentOptions, { abortSignal: callbacks.abortSignal, logLevel: 'warning' });
|
|
185
151
|
timeline = wordTimeline;
|
|
186
152
|
}
|
|
187
153
|
// If the audio was cropped before recognition, map the timestamps back to the original audio
|
|
@@ -193,7 +159,7 @@ export async function recognize(input, options, onPart) {
|
|
|
193
159
|
// Make segment timeline
|
|
194
160
|
const { segmentTimeline } = await wordTimelineToSegmentSentenceTimeline(timeline, transcript, languageCode, 'single', 'preserve');
|
|
195
161
|
logger.end();
|
|
196
|
-
logger.logDuration('\nTotal recognition time', startTimestamp, chalk.magentaBright);
|
|
162
|
+
logger.logDuration('\nTotal recognition time', startTimestamp, 'info', chalk.magentaBright);
|
|
197
163
|
return {
|
|
198
164
|
transcript,
|
|
199
165
|
timeline: segmentTimeline,
|
|
@@ -218,10 +184,6 @@ export const defaultRecognitionOptions = {
|
|
|
218
184
|
},
|
|
219
185
|
whisper: {},
|
|
220
186
|
whisperCpp: {},
|
|
221
|
-
vosk: {
|
|
222
|
-
modelPath: undefined
|
|
223
|
-
},
|
|
224
|
-
silero: {},
|
|
225
187
|
googleCloud: {
|
|
226
188
|
apiKey: undefined,
|
|
227
189
|
alternativeLanguageCodes: [],
|
|
@@ -245,25 +207,13 @@ export const recognitionEngines = [
|
|
|
245
207
|
{
|
|
246
208
|
id: 'whisper',
|
|
247
209
|
name: 'OpenAI Whisper',
|
|
248
|
-
description: '
|
|
210
|
+
description: 'High accuracy transformer-based speech recognition architecture by OpenAI.',
|
|
249
211
|
type: 'local'
|
|
250
212
|
},
|
|
251
213
|
{
|
|
252
214
|
id: 'whisper.cpp',
|
|
253
|
-
name: 'OpenAI Whisper (C++ port)',
|
|
254
|
-
description: '
|
|
255
|
-
type: 'local'
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
id: 'vosk',
|
|
259
|
-
name: 'Vosk',
|
|
260
|
-
description: 'A speech recognition toolkit.',
|
|
261
|
-
type: 'local'
|
|
262
|
-
},
|
|
263
|
-
{
|
|
264
|
-
id: 'silero',
|
|
265
|
-
name: 'Silero',
|
|
266
|
-
description: 'Speech recognition models.',
|
|
215
|
+
name: 'OpenAI Whisper (C++ port) CLI',
|
|
216
|
+
description: 'Invokes the CLI version of the whisper.cpp port of OpenAI Whisper.',
|
|
267
217
|
type: 'local'
|
|
268
218
|
},
|
|
269
219
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recognition.js","sourceRoot":"","sources":["../../src/api/Recognition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE5D,OAAO,
|
|
1
|
+
{"version":3,"file":"Recognition.js","sourceRoot":"","sources":["../../src/api/Recognition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import * as API from './API.js';
|
|
1
2
|
import { AudioSourceParam, RawAudio } from '../audio/AudioUtilities.js';
|
|
2
3
|
import { EngineMetadata } from './Common.js';
|
|
3
4
|
import { MDXNetOptions } from '../source-separation/MDXNetSourceSeparation.js';
|
|
4
|
-
export declare function isolate(input: AudioSourceParam, options: SourceSeparationOptions): Promise<SourceSeparationResult>;
|
|
5
|
+
export declare function isolate(input: AudioSourceParam, options: SourceSeparationOptions, callbacks?: SourceSeparationCallbacks): Promise<SourceSeparationResult>;
|
|
5
6
|
export type SourceSeparationEngine = 'mdx-net';
|
|
6
|
-
export interface SourceSeparationOptions {
|
|
7
|
+
export interface SourceSeparationOptions extends API.OperationOptions {
|
|
7
8
|
engine?: SourceSeparationEngine;
|
|
8
9
|
mdxNet?: MDXNetOptions;
|
|
9
10
|
}
|
|
@@ -13,5 +14,9 @@ export interface SourceSeparationResult {
|
|
|
13
14
|
isolatedRawAudio: RawAudio;
|
|
14
15
|
backgroundRawAudio: RawAudio;
|
|
15
16
|
}
|
|
17
|
+
export interface SourceSeparationCallbacks extends API.OperationCallbacks {
|
|
18
|
+
onSegment?: SourceSeparationSegmentCallback;
|
|
19
|
+
}
|
|
20
|
+
export type SourceSeparationSegmentCallback = (timePosition: number, rawAudio: RawAudio) => Promise<void>;
|
|
16
21
|
export declare const sourceSeparationEngines: EngineMetadata[];
|
|
17
22
|
//# sourceMappingURL=SourceSeparation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceSeparation.d.ts","sourceRoot":"","sources":["../../src/api/SourceSeparation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SourceSeparation.d.ts","sourceRoot":"","sources":["../../src/api/SourceSeparation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAA6D,MAAM,4BAA4B,CAAA;AAIlI,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAsD,aAAa,EAAE,MAAM,gDAAgD,CAAA;AAGlI,wBAAsB,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,uBAAuB,EAAE,SAAS,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA6E/J;AAED,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAA;AAE9C,MAAM,WAAW,uBAAwB,SAAQ,GAAG,CAAC,gBAAgB;IACpE,MAAM,CAAC,EAAE,sBAAsB,CAAA;IAE/B,MAAM,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,eAAO,MAAM,8BAA8B,EAAE,uBAI5C,CAAA;AAED,MAAM,WAAW,sBAAsB;IACtC,aAAa,EAAE,QAAQ,CAAA;IACvB,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,kBAAkB,EAAE,QAAQ,CAAA;CAC5B;AAED,MAAM,WAAW,yBAA0B,SAAQ,GAAG,CAAC,kBAAkB;IACxE,SAAS,CAAC,EAAE,+BAA+B,CAAA;CAC3C;AAED,MAAM,MAAM,+BAA+B,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEzG,eAAO,MAAM,uBAAuB,EAAE,cAAc,EAOnD,CAAA"}
|