diff --git a/.github/ISSUE_TEMPLATE/bug-report-s2t.md b/.github/ISSUE_TEMPLATE/bug-report-s2t.md index 512cdbb01..e9732ad8c 100644 --- a/.github/ISSUE_TEMPLATE/bug-report-s2t.md +++ b/.github/ISSUE_TEMPLATE/bug-report-s2t.md @@ -33,7 +33,7 @@ If applicable, add screenshots to help explain your problem. - Python Version [e.g. 3.7] - PaddlePaddle Version [e.g. 2.0.0] - Model Version [e.g. 2.0.0] - - GPU/DRIVER Informationo [e.g. Tesla V100-SXM2-32GB/440.64.00] + - GPU/DRIVER Information [e.g. Tesla V100-SXM2-32GB/440.64.00] - CUDA/CUDNN Version [e.g. cuda-10.2] - MKL Version - TensorRT Version diff --git a/.github/ISSUE_TEMPLATE/bug-report-tts.md b/.github/ISSUE_TEMPLATE/bug-report-tts.md index e2322c239..b4c5dabdd 100644 --- a/.github/ISSUE_TEMPLATE/bug-report-tts.md +++ b/.github/ISSUE_TEMPLATE/bug-report-tts.md @@ -32,7 +32,7 @@ If applicable, add screenshots to help explain your problem. - Python Version [e.g. 3.7] - PaddlePaddle Version [e.g. 2.0.0] - Model Version [e.g. 2.0.0] - - GPU/DRIVER Informationo [e.g. Tesla V100-SXM2-32GB/440.64.00] + - GPU/DRIVER Information [e.g. Tesla V100-SXM2-32GB/440.64.00] - CUDA/CUDNN Version [e.g. cuda-10.2] - MKL Version - TensorRT Version diff --git a/README.md b/README.md index 00367d787..6ac520f98 100644 --- a/README.md +++ b/README.md @@ -46,14 +46,14 @@ - +
I knocked at the door on the ancient side of the building. - +
我认为跑步最重要的就是给我带来了身体健康。 @@ -76,7 +76,7 @@ - +
我 在 这栋 建筑 的 古老 门上 敲门。 @@ -99,42 +99,42 @@ Life was like a box of chocolates, you never know what you're gonna get. - +
早上好,今天是2020/10/29,最低温度是-3°C。 - +
季姬寂,集鸡,鸡即棘鸡。棘鸡饥叽,季姬及箕稷济鸡。鸡既济,跻姬笈,季姬忌,急咭鸡,鸡急,继圾几,季姬急,即籍箕击鸡,箕疾击几伎,伎即齑,鸡叽集几基,季姬急极屐击鸡,鸡既殛,季姬激,即记《季姬击鸡记》。 - +
大家好,我是 parrot 虚拟老师,我们来读一首诗,我与春风皆过客,I and the spring breeze are passing by,你携秋水揽星河,you take the autumn water to take the galaxy。 - +
宜家唔系事必要你讲,但系你所讲嘅说话将会变成呈堂证供。 - +
各个国家有各个国家嘅国歌 - +
@@ -173,7 +173,7 @@ Via the easy-to-use, efficient, flexible and scalable implementation, our vision - 🏆 **Streaming ASR and TTS System**: we provide production ready streaming asr and streaming tts system. - 💯 **Rule-based Chinese frontend**: our frontend contains Text Normalization and Grapheme-to-Phoneme (G2P, including Polyphone and Tone Sandhi). Moreover, we use self-defined linguistic rules to adapt Chinese context. - 📦 **Varieties of Functions that Vitalize both Industrial and Academia**: - - 🛎️ *Implementation of critical audio tasks*: this toolkit contains audio functions like Automatic Speech Recognition, Text-to-Speech Synthesis, Speaker Verfication, KeyWord Spotting, Audio Classification, and Speech Translation, etc. + - 🛎️ *Implementation of critical audio tasks*: this toolkit contains audio functions like Automatic Speech Recognition, Text-to-Speech Synthesis, Speaker Verification, KeyWord Spotting, Audio Classification, and Speech Translation, etc. - 🔬 *Integration of mainstream models and datasets*: the toolkit implements modules that participate in the whole pipeline of the speech tasks, and uses mainstream datasets like LibriSpeech, LJSpeech, AIShell, CSMSC, etc. See also [model list](#model-list) for more details. - 🧩 *Cascaded models application*: as an extension of the typical traditional audio tasks, we combine the workflows of the aforementioned tasks with other fields like Natural language processing (NLP) and Computer Vision (CV). @@ -228,12 +228,12 @@ Via the easy-to-use, efficient, flexible and scalable implementation, our vision ## Installation -We strongly recommend our users to install PaddleSpeech in **Linux** with *python>=3.8* and *paddlepaddle<=2.5.1*. Some new versions of Paddle do not have support for adaptation in PaddleSpeech, so currently only versions 2.5.1 and earlier can be supported. +We strongly recommend our users to install PaddleSpeech in **Linux** with *python>=3.8*. ### **Dependency Introduction** + gcc >= 4.8.5 -+ paddlepaddle <= 2.5.1 ++ paddlepaddle + python >= 3.8 + OS support: Linux(recommend), Windows, Mac OSX @@ -265,6 +265,8 @@ git clone https://github.com/PaddlePaddle/PaddleSpeech.git cd PaddleSpeech pip install pytest-runner pip install . +# If you need to install in editable mode, you need to use --use-pep517. The command is as follows: +# pip install -e . --use-pep517 ``` For more installation problems, such as conda environment, librosa-dependent, gcc problems, kaldi installation, etc., you can refer to this [installation document](./docs/source/install.md). If you encounter problems during installation, you can leave a message on [#2150](https://github.com/PaddlePaddle/PaddleSpeech/issues/2150) and find related problems @@ -281,8 +283,8 @@ Developers can have a try of our models with [PaddleSpeech Command Line](./paddl Test audio sample download ```shell -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav ``` ### Automatic Speech Recognition @@ -1023,7 +1025,7 @@ You are warmly welcome to submit questions in [discussions](https://github.com/P - Many thanks to [vpegasus](https://github.com/vpegasus)/[xuesebot](https://github.com/vpegasus/xuesebot) for developing a rasa chatbot,which is able to speak and listen thanks to PaddleSpeech. - Many thanks to [chenkui164](https://github.com/chenkui164)/[FastASR](https://github.com/chenkui164/FastASR) for the C++ inference implementation of PaddleSpeech ASR. - Many thanks to [heyudage](https://github.com/heyudage)/[VoiceTyping](https://github.com/heyudage/VoiceTyping) for the real-time voice typing tool implementation of PaddleSpeech ASR streaming services. -- Many thanks to [EscaticZheng](https://github.com/EscaticZheng)/[ps3.9wheel-install](https://github.com/EscaticZheng/ps3.9wheel-install) for the python3.9 prebuilt wheel for PaddleSpeech installation in Windows without Viusal Studio. +- Many thanks to [EscaticZheng](https://github.com/EscaticZheng)/[ps3.9wheel-install](https://github.com/EscaticZheng/ps3.9wheel-install) for the python3.9 prebuilt wheel for PaddleSpeech installation in Windows without Visual Studio. Besides, PaddleSpeech depends on a lot of open source repositories. See [references](./docs/source/reference.md) for more information. - Many thanks to [chinobing](https://github.com/chinobing)/[FastAPI-PaddleSpeech-Audio-To-Text](https://github.com/chinobing/FastAPI-PaddleSpeech-Audio-To-Text) for converting audio to text based on FastAPI and PaddleSpeech. - Many thanks to [MistEO](https://github.com/MistEO)/[Pallas-Bot](https://github.com/MistEO/Pallas-Bot) for QQ bot based on PaddleSpeech TTS. diff --git a/README_cn.md b/README_cn.md index d70940dd2..491c61f39 100644 --- a/README_cn.md +++ b/README_cn.md @@ -51,14 +51,14 @@ - +
I knocked at the door on the ancient side of the building. - +
我认为跑步最重要的就是给我带来了身体健康。 @@ -81,7 +81,7 @@ - +
我 在 这栋 建筑 的 古老 门上 敲门。 @@ -104,42 +104,42 @@ Life was like a box of chocolates, you never know what you're gonna get. - +
早上好,今天是2020/10/29,最低温度是-3°C。 - +
季姬寂,集鸡,鸡即棘鸡。棘鸡饥叽,季姬及箕稷济鸡。鸡既济,跻姬笈,季姬忌,急咭鸡,鸡急,继圾几,季姬急,即籍箕击鸡,箕疾击几伎,伎即齑,鸡叽集几基,季姬急极屐击鸡,鸡既殛,季姬激,即记《季姬击鸡记》。 - +
大家好,我是 parrot 虚拟老师,我们来读一首诗,我与春风皆过客,I and the spring breeze are passing by,你携秋水揽星河,you take the autumn water to take the galaxy。 - +
宜家唔系事必要你讲,但系你所讲嘅说话将会变成呈堂证供。 - +
各个国家有各个国家嘅国歌 - +
@@ -238,11 +238,11 @@ ## 安装 -我们强烈建议用户在 **Linux** 环境下,*3.8* 以上版本的 *python* 上安装 PaddleSpeech。同时,有一些Paddle新版本的内容没有在做适配的支持,因此目前只能使用2.5.1及之前的版本。 +我们强烈建议用户在 **Linux** 环境下,*3.8* 以上版本的 *python* 上安装 PaddleSpeech。 ### 相关依赖 + gcc >= 4.8.5 -+ paddlepaddle <= 2.5.1 ++ paddlepaddle + python >= 3.8 + linux(推荐), mac, windows @@ -272,6 +272,8 @@ git clone https://github.com/PaddlePaddle/PaddleSpeech.git cd PaddleSpeech pip install pytest-runner pip install . +# 如果需要在可编辑模式下安装,需要使用 --use-pep517,命令如下 +# pip install -e . --use-pep517 ``` 更多关于安装问题,如 conda 环境,librosa 依赖的系统库,gcc 环境问题,kaldi 安装等,可以参考这篇[安装文档](docs/source/install_cn.md),如安装上遇到问题可以在 [#2150](https://github.com/PaddlePaddle/PaddleSpeech/issues/2150) 上留言以及查找相关问题 @@ -284,8 +286,8 @@ pip install . 测试音频示例下载 ```shell -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav ``` ### 语音识别 diff --git a/audio/paddleaudio/backends/common.py b/audio/paddleaudio/backends/common.py index 9d3edf812..3065fe89f 100644 --- a/audio/paddleaudio/backends/common.py +++ b/audio/paddleaudio/backends/common.py @@ -1,4 +1,5 @@ -# Token form https://github.com/pytorch/audio/blob/main/torchaudio/backend/common.py with modification. +# Token from https://github.com/pytorch/audio/blob/main/torchaudio/backend/common.py with modification. + class AudioInfo: """return of info function. @@ -30,13 +31,12 @@ class AudioInfo: """ def __init__( - self, - sample_rate: int, - num_frames: int, - num_channels: int, - bits_per_sample: int, - encoding: str, - ): + self, + sample_rate: int, + num_frames: int, + num_channels: int, + bits_per_sample: int, + encoding: str, ): self.sample_rate = sample_rate self.num_frames = num_frames self.num_channels = num_channels @@ -44,12 +44,10 @@ class AudioInfo: self.encoding = encoding def __str__(self): - return ( - f"AudioMetaData(" - f"sample_rate={self.sample_rate}, " - f"num_frames={self.num_frames}, " - f"num_channels={self.num_channels}, " - f"bits_per_sample={self.bits_per_sample}, " - f"encoding={self.encoding}" - f")" - ) + return (f"AudioMetaData(" + f"sample_rate={self.sample_rate}, " + f"num_frames={self.num_frames}, " + f"num_channels={self.num_channels}, " + f"bits_per_sample={self.bits_per_sample}, " + f"encoding={self.encoding}" + f")") diff --git a/audio/paddleaudio/backends/soundfile_backend.py b/audio/paddleaudio/backends/soundfile_backend.py index 9195ea097..7611fd297 100644 --- a/audio/paddleaudio/backends/soundfile_backend.py +++ b/audio/paddleaudio/backends/soundfile_backend.py @@ -61,7 +61,7 @@ def resample(y: np.ndarray, if mode == 'kaiser_best': warnings.warn( f'Using resampy in kaiser_best to {src_sr}=>{target_sr}. This function is pretty slow, \ - we recommend the mode kaiser_fast in large scale audio trainning') + we recommend the mode kaiser_fast in large scale audio training') if not isinstance(y, np.ndarray): raise ParameterError( @@ -183,7 +183,7 @@ def soundfile_save(y: np.ndarray, sr: int, file: os.PathLike) -> None: Args: y (np.ndarray): Input waveform array in 1D or 2D. sr (int): Sample rate. - file (os.PathLike): Path of auido file to save. + file (os.PathLike): Path of audio file to save. """ if not file.endswith('.wav'): raise ParameterError( @@ -216,10 +216,10 @@ def soundfile_load( duration: Optional[int]=None, dtype: str='float32', resample_mode: str='kaiser_fast') -> Tuple[np.ndarray, int]: - """Load audio file from disk. This function loads audio from disk using using audio beackend. + """Load audio file from disk. This function loads audio from disk using using audio backend. Args: - file (os.PathLike): Path of auido file to load. + file (os.PathLike): Path of audio file to load. sr (Optional[int], optional): Sample rate of loaded waveform. Defaults to None. mono (bool, optional): Return waveform with mono channel. Defaults to True. merge_type (str, optional): Merge type of multi-channels waveform. Defaults to 'average'. @@ -250,14 +250,14 @@ def soundfile_load( if normal: y = normalize(y, norm_type, norm_mul_factor) elif dtype in ['int8', 'int16']: - # still need to do normalization, before depth convertion + # still need to do normalization, before depth conversion y = normalize(y, 'linear', 1.0) y = depth_convert(y, dtype) return y, r -#the code below token form: https://github.com/pytorch/audio/blob/main/torchaudio/backend/soundfile_backend.py with modificaion. +#The code below is taken from: https://github.com/pytorch/audio/blob/main/torchaudio/backend/soundfile_backend.py, with some modifications. def _get_subtype_for_wav(dtype: paddle.dtype, @@ -382,7 +382,7 @@ def save( channels_first (bool, optional): If ``True``, the given tensor is interpreted as `[channel, time]`, otherwise `[time, channel]`. compression (float of None, optional): Not used. - It is here only for interface compatibility reson with "sox_io" backend. + It is here only for interface compatibility reason with "sox_io" backend. format (str or None, optional): Override the audio format. When ``filepath`` argument is path-like object, audio format is inferred from file extension. If the file extension is missing or @@ -394,8 +394,8 @@ def save( Valid values are ``"wav"``, ``"ogg"``, ``"vorbis"``, ``"flac"`` and ``"sph"``. encoding (str or None, optional): Changes the encoding for supported formats. - This argument is effective only for supported formats, sush as - ``"wav"``, ``""flac"`` and ``"sph"``. Valid values are; + This argument is effective only for supported formats, such as + ``"wav"``, ``""flac"`` and ``"sph"``. Valid values are: - ``"PCM_S"`` (signed integer Linear PCM) - ``"PCM_U"`` (unsigned integer Linear PCM) diff --git a/audio/paddleaudio/compliance/kaldi.py b/audio/paddleaudio/compliance/kaldi.py index eb92ec1f2..d2184ebe3 100644 --- a/audio/paddleaudio/compliance/kaldi.py +++ b/audio/paddleaudio/compliance/kaldi.py @@ -233,7 +233,7 @@ def spectrogram(waveform: Tensor, round_to_power_of_two (bool, optional): If True, round window size to power of two by zero-padding input to FFT. Defaults to True. sr (int, optional): Sample rate of input waveform. Defaults to 16000. - snip_edges (bool, optional): Drop samples in the end of waveform that cann't fit a singal frame when it + snip_edges (bool, optional): Drop samples in the end of waveform that can't fit a signal frame when it is set True. Otherwise performs reflect padding to the end of waveform. Defaults to True. subtract_mean (bool, optional): Whether to subtract mean of feature files. Defaults to False. window_type (str, optional): Choose type of window for FFT computation. Defaults to "povey". @@ -443,7 +443,7 @@ def fbank(waveform: Tensor, round_to_power_of_two (bool, optional): If True, round window size to power of two by zero-padding input to FFT. Defaults to True. sr (int, optional): Sample rate of input waveform. Defaults to 16000. - snip_edges (bool, optional): Drop samples in the end of waveform that cann't fit a singal frame when it + snip_edges (bool, optional): Drop samples in the end of waveform that can't fit a signal frame when it is set True. Otherwise performs reflect padding to the end of waveform. Defaults to True. subtract_mean (bool, optional): Whether to subtract mean of feature files. Defaults to False. use_energy (bool, optional): Add an dimension with energy of spectrogram to the output. Defaults to False. @@ -566,7 +566,7 @@ def mfcc(waveform: Tensor, round_to_power_of_two (bool, optional): If True, round window size to power of two by zero-padding input to FFT. Defaults to True. sr (int, optional): Sample rate of input waveform. Defaults to 16000. - snip_edges (bool, optional): Drop samples in the end of waveform that cann't fit a singal frame when it + snip_edges (bool, optional): Drop samples in the end of waveform that can't fit a signal frame when it is set True. Otherwise performs reflect padding to the end of waveform. Defaults to True. subtract_mean (bool, optional): Whether to subtract mean of feature files. Defaults to False. use_energy (bool, optional): Add an dimension with energy of spectrogram to the output. Defaults to False. diff --git a/audio/paddleaudio/compliance/librosa.py b/audio/paddleaudio/compliance/librosa.py index 168632d7c..d0cee642a 100644 --- a/audio/paddleaudio/compliance/librosa.py +++ b/audio/paddleaudio/compliance/librosa.py @@ -527,7 +527,7 @@ def melspectrogram(x: np.ndarray, if fmax is None: fmax = sr // 2 if fmin < 0 or fmin >= fmax: - raise ParameterError('fmin and fmax must statisfy 0 np.ndarray: def _randint(high: int) -> int: """Generate one random integer in range [0 high) - This is a helper function for random data augmentaiton + This is a helper function for random data augmentation """ return int(np.random.randint(0, high=high)) @@ -659,7 +659,7 @@ def depth_augment(y: np.ndarray, def adaptive_spect_augment(spect: np.ndarray, tempo_axis: int=0, level: float=0.1) -> np.ndarray: - """Do adpative spectrogram augmentation. The level of the augmentation is gowern by the paramter level, ranging from 0 to 1, with 0 represents no augmentation. + """Do adaptive spectrogram augmentation. The level of the augmentation is govern by the parameter level, ranging from 0 to 1, with 0 represents no augmentation. Args: spect (np.ndarray): Input spectrogram. @@ -711,9 +711,9 @@ def spect_augment(spect: np.ndarray, spect (np.ndarray): Input spectrogram. tempo_axis (int, optional): Indicate the tempo axis. Defaults to 0. max_time_mask (int, optional): Maximum number of time masking. Defaults to 3. - max_freq_mask (int, optional): Maximum number of frenquence masking. Defaults to 3. + max_freq_mask (int, optional): Maximum number of frequency masking. Defaults to 3. max_time_mask_width (int, optional): Maximum width of time masking. Defaults to 30. - max_freq_mask_width (int, optional): Maximum width of frenquence masking. Defaults to 20. + max_freq_mask_width (int, optional): Maximum width of frequency masking. Defaults to 20. Returns: np.ndarray: The augmented spectrogram. diff --git a/audio/paddleaudio/datasets/dataset.py b/audio/paddleaudio/datasets/dataset.py index f1dfc1ea3..a8aaf35b4 100644 --- a/audio/paddleaudio/datasets/dataset.py +++ b/audio/paddleaudio/datasets/dataset.py @@ -43,11 +43,11 @@ class AudioClassificationDataset(paddle.io.Dataset): sample_rate: int=None, **kwargs): """ - Ags: + Args: files (:obj:`List[str]`): A list of absolute path of audio files. labels (:obj:`List[int]`): Labels of audio files. feat_type (:obj:`str`, `optional`, defaults to `raw`): - It identifies the feature type that user wants to extrace of an audio file. + It identifies the feature type that user wants to extract of an audio file. """ super(AudioClassificationDataset, self).__init__() diff --git a/audio/paddleaudio/datasets/esc50.py b/audio/paddleaudio/datasets/esc50.py index e7477d40e..6f4675069 100644 --- a/audio/paddleaudio/datasets/esc50.py +++ b/audio/paddleaudio/datasets/esc50.py @@ -35,7 +35,7 @@ class ESC50(AudioClassificationDataset): http://dx.doi.org/10.1145/2733373.2806390 """ - archieves = [ + archives = [ { 'url': 'https://paddleaudio.bj.bcebos.com/datasets/ESC-50-master.zip', @@ -111,13 +111,13 @@ class ESC50(AudioClassificationDataset): feat_type: str='raw', **kwargs): """ - Ags: + Args: mode (:obj:`str`, `optional`, defaults to `train`): It identifies the dataset mode (train or dev). split (:obj:`int`, `optional`, defaults to 1): It specify the fold of dev dataset. feat_type (:obj:`str`, `optional`, defaults to `raw`): - It identifies the feature type that user wants to extrace of an audio file. + It identifies the feature type that user wants to extract of an audio file. """ files, labels = self._get_data(mode, split) super(ESC50, self).__init__( @@ -133,7 +133,7 @@ class ESC50(AudioClassificationDataset): def _get_data(self, mode: str, split: int) -> Tuple[List[str], List[int]]: if not os.path.isdir(os.path.join(DATA_HOME, self.audio_path)) or \ not os.path.isfile(os.path.join(DATA_HOME, self.meta)): - download_and_decompress(self.archieves, DATA_HOME) + download_and_decompress(self.archives, DATA_HOME) meta_info = self._get_meta_info() diff --git a/audio/paddleaudio/datasets/gtzan.py b/audio/paddleaudio/datasets/gtzan.py index cfea6f37e..299391968 100644 --- a/audio/paddleaudio/datasets/gtzan.py +++ b/audio/paddleaudio/datasets/gtzan.py @@ -35,7 +35,7 @@ class GTZAN(AudioClassificationDataset): https://ieeexplore.ieee.org/document/1021072/ """ - archieves = [ + archives = [ { 'url': 'http://opihi.cs.uvic.ca/sound/genres.tar.gz', 'md5': '5b3d6dddb579ab49814ab86dba69e7c7', @@ -57,7 +57,7 @@ class GTZAN(AudioClassificationDataset): feat_type='raw', **kwargs): """ - Ags: + Args: mode (:obj:`str`, `optional`, defaults to `train`): It identifies the dataset mode (train or dev). seed (:obj:`int`, `optional`, defaults to 0): @@ -67,7 +67,7 @@ class GTZAN(AudioClassificationDataset): split (:obj:`int`, `optional`, defaults to 1): It specify the fold of dev dataset. feat_type (:obj:`str`, `optional`, defaults to `raw`): - It identifies the feature type that user wants to extrace of an audio file. + It identifies the feature type that user wants to extract of an audio file. """ assert split <= n_folds, f'The selected split should not be larger than n_fold, but got {split} > {n_folds}' files, labels = self._get_data(mode, seed, n_folds, split) @@ -85,7 +85,7 @@ class GTZAN(AudioClassificationDataset): split) -> Tuple[List[str], List[int]]: if not os.path.isdir(os.path.join(DATA_HOME, self.audio_path)) or \ not os.path.isfile(os.path.join(DATA_HOME, self.meta)): - download_and_decompress(self.archieves, DATA_HOME) + download_and_decompress(self.archives, DATA_HOME) meta_info = self._get_meta_info() random.seed(seed) # shuffle samples to split data diff --git a/audio/paddleaudio/datasets/rirs_noises.py b/audio/paddleaudio/datasets/rirs_noises.py index 74418daa2..e5d193537 100644 --- a/audio/paddleaudio/datasets/rirs_noises.py +++ b/audio/paddleaudio/datasets/rirs_noises.py @@ -30,7 +30,7 @@ __all__ = ['OpenRIRNoise'] class OpenRIRNoise(Dataset): - archieves = [ + archives = [ { 'url': 'http://www.openslr.org/resources/28/rirs_noises.zip', 'md5': 'e6f48e257286e05de56413b4779d8ffb', @@ -76,7 +76,7 @@ class OpenRIRNoise(Dataset): print(f"rirs noises base path: {self.base_path}") if not os.path.isdir(self.base_path): download_and_decompress( - self.archieves, self.base_path, decompress=True) + self.archives, self.base_path, decompress=True) else: print( f"{self.base_path} already exists, we will not download and decompress again" diff --git a/audio/paddleaudio/datasets/tess.py b/audio/paddleaudio/datasets/tess.py index 8faab9c39..a770c5b0c 100644 --- a/audio/paddleaudio/datasets/tess.py +++ b/audio/paddleaudio/datasets/tess.py @@ -37,7 +37,7 @@ class TESS(AudioClassificationDataset): https://doi.org/10.5683/SP2/E8H2MF """ - archieves = [ + archives = [ { 'url': 'https://bj.bcebos.com/paddleaudio/datasets/TESS_Toronto_emotional_speech_set.zip', @@ -66,7 +66,7 @@ class TESS(AudioClassificationDataset): feat_type='raw', **kwargs): """ - Ags: + Args: mode (:obj:`str`, `optional`, defaults to `train`): It identifies the dataset mode (train or dev). seed (:obj:`int`, `optional`, defaults to 0): @@ -76,7 +76,7 @@ class TESS(AudioClassificationDataset): split (:obj:`int`, `optional`, defaults to 1): It specify the fold of dev dataset. feat_type (:obj:`str`, `optional`, defaults to `raw`): - It identifies the feature type that user wants to extrace of an audio file. + It identifies the feature type that user wants to extract of an audio file. """ assert split <= n_folds, f'The selected split should not be larger than n_fold, but got {split} > {n_folds}' files, labels = self._get_data(mode, seed, n_folds, split) @@ -93,7 +93,7 @@ class TESS(AudioClassificationDataset): def _get_data(self, mode, seed, n_folds, split) -> Tuple[List[str], List[int]]: if not os.path.isdir(os.path.join(DATA_HOME, self.audio_path)): - download_and_decompress(self.archieves, DATA_HOME) + download_and_decompress(self.archives, DATA_HOME) wav_files = [] for root, _, files in os.walk(os.path.join(DATA_HOME, self.audio_path)): diff --git a/audio/paddleaudio/datasets/urban_sound.py b/audio/paddleaudio/datasets/urban_sound.py index d97c4d1dc..b9a5fc030 100644 --- a/audio/paddleaudio/datasets/urban_sound.py +++ b/audio/paddleaudio/datasets/urban_sound.py @@ -35,7 +35,7 @@ class UrbanSound8K(AudioClassificationDataset): https://dl.acm.org/doi/10.1145/2647868.2655045 """ - archieves = [ + archives = [ { 'url': 'https://zenodo.org/record/1203745/files/UrbanSound8K.tar.gz', @@ -62,13 +62,13 @@ class UrbanSound8K(AudioClassificationDataset): super(UrbanSound8K, self).__init__( files=files, labels=labels, feat_type=feat_type, **kwargs) """ - Ags: + Args: mode (:obj:`str`, `optional`, defaults to `train`): It identifies the dataset mode (train or dev). split (:obj:`int`, `optional`, defaults to 1): It specify the fold of dev dataset. feat_type (:obj:`str`, `optional`, defaults to `raw`): - It identifies the feature type that user wants to extrace of an audio file. + It identifies the feature type that user wants to extract of an audio file. """ def _get_meta_info(self): @@ -81,7 +81,7 @@ class UrbanSound8K(AudioClassificationDataset): def _get_data(self, mode: str, split: int) -> Tuple[List[str], List[int]]: if not os.path.isdir(os.path.join(DATA_HOME, self.audio_path)) or \ not os.path.isfile(os.path.join(DATA_HOME, self.meta)): - download_and_decompress(self.archieves, DATA_HOME) + download_and_decompress(self.archives, DATA_HOME) meta_info = self._get_meta_info() diff --git a/audio/paddleaudio/datasets/voxceleb.py b/audio/paddleaudio/datasets/voxceleb.py index b7160b24c..225859700 100644 --- a/audio/paddleaudio/datasets/voxceleb.py +++ b/audio/paddleaudio/datasets/voxceleb.py @@ -34,7 +34,7 @@ __all__ = ['VoxCeleb'] class VoxCeleb(Dataset): source_url = 'https://thor.robots.ox.ac.uk/~vgg/data/voxceleb/vox1a/' - archieves_audio_dev = [ + archives_audio_dev = [ { 'url': source_url + 'vox1_dev_wav_partaa', 'md5': 'e395d020928bc15670b570a21695ed96', @@ -52,13 +52,13 @@ class VoxCeleb(Dataset): 'md5': '7bb1e9f70fddc7a678fa998ea8b3ba19', }, ] - archieves_audio_test = [ + archives_audio_test = [ { 'url': source_url + 'vox1_test_wav.zip', 'md5': '185fdc63c3c739954633d50379a3d102', }, ] - archieves_meta = [ + archives_meta = [ { 'url': 'https://www.robots.ox.ac.uk/~vgg/data/voxceleb/meta/veri_test2.txt', @@ -135,11 +135,11 @@ class VoxCeleb(Dataset): if not os.path.isdir(self.wav_path): print("start to download the voxceleb1 dataset") download_and_decompress( # multi-zip parts concatenate to vox1_dev_wav.zip - self.archieves_audio_dev, + self.archives_audio_dev, self.base_path, decompress=False) download_and_decompress( # download the vox1_test_wav.zip and unzip - self.archieves_audio_test, + self.archives_audio_test, self.base_path, decompress=True) @@ -157,7 +157,7 @@ class VoxCeleb(Dataset): if not os.path.isdir(self.meta_path): print("prepare the meta data") download_and_decompress( - self.archieves_meta, self.meta_path, decompress=False) + self.archives_meta, self.meta_path, decompress=False) # Data preparation. if not os.path.isdir(self.csv_path): @@ -262,8 +262,8 @@ class VoxCeleb(Dataset): split_chunks: bool=True): print(f'Generating csv: {output_file}') header = ["id", "duration", "wav", "start", "stop", "spk_id"] - # Note: this may occurs c++ execption, but the program will execute fine - # so we can ignore the execption + # Note: this may occurs c++ exception, but the program will execute fine + # so we can ignore the exception with Pool(cpu_count()) as p: infos = list( tqdm( diff --git a/audio/paddleaudio/features/layers.py b/audio/paddleaudio/features/layers.py index 292363e64..801ae34ce 100644 --- a/audio/paddleaudio/features/layers.py +++ b/audio/paddleaudio/features/layers.py @@ -34,7 +34,7 @@ __all__ = [ class Spectrogram(nn.Layer): """Compute spectrogram of given signals, typically audio waveforms. - The spectorgram is defined as the complex norm of the short-time Fourier transformation. + The spectrogram is defined as the complex norm of the short-time Fourier transformation. Args: n_fft (int, optional): The number of frequency components of the discrete Fourier transform. Defaults to 512. diff --git a/audio/paddleaudio/functional/functional.py b/audio/paddleaudio/functional/functional.py index 19c63a9ae..7c20f9013 100644 --- a/audio/paddleaudio/functional/functional.py +++ b/audio/paddleaudio/functional/functional.py @@ -247,7 +247,7 @@ def create_dct(n_mfcc: int, Args: n_mfcc (int): Number of mel frequency cepstral coefficients. n_mels (int): Number of mel filterbanks. - norm (Optional[str], optional): Normalizaiton type. Defaults to 'ortho'. + norm (Optional[str], optional): Normalization type. Defaults to 'ortho'. dtype (str, optional): The data type of the return matrix. Defaults to 'float32'. Returns: diff --git a/audio/paddleaudio/metric/eer.py b/audio/paddleaudio/metric/eer.py index a1166d3f9..a55695ac1 100644 --- a/audio/paddleaudio/metric/eer.py +++ b/audio/paddleaudio/metric/eer.py @@ -22,8 +22,8 @@ def compute_eer(labels: np.ndarray, scores: np.ndarray) -> List[float]: """Compute EER and return score threshold. Args: - labels (np.ndarray): the trial label, shape: [N], one-dimention, N refer to the samples num - scores (np.ndarray): the trial scores, shape: [N], one-dimention, N refer to the samples num + labels (np.ndarray): the trial label, shape: [N], one-dimension, N refer to the samples num + scores (np.ndarray): the trial scores, shape: [N], one-dimension, N refer to the samples num Returns: List[float]: eer and the specific threshold diff --git a/audio/paddleaudio/sox_effects/sox_effects.py b/audio/paddleaudio/sox_effects/sox_effects.py index cb7e1b0b9..aa282b572 100644 --- a/audio/paddleaudio/sox_effects/sox_effects.py +++ b/audio/paddleaudio/sox_effects/sox_effects.py @@ -121,8 +121,8 @@ def apply_effects_tensor( """ tensor_np = tensor.numpy() - ret = paddleaudio._paddleaudio.sox_effects_apply_effects_tensor(tensor_np, sample_rate, - effects, channels_first) + ret = paddleaudio._paddleaudio.sox_effects_apply_effects_tensor( + tensor_np, sample_rate, effects, channels_first) if ret is not None: return (paddle.to_tensor(ret[0]), ret[1]) raise RuntimeError("Failed to apply sox effect") @@ -139,7 +139,7 @@ def apply_effects_file( Note: This function works in the way very similar to ``sox`` command, however there are slight - differences. For example, ``sox`` commnad adds certain effects automatically (such as + differences. For example, ``sox`` command adds certain effects automatically (such as ``rate`` effect after ``speed``, ``pitch`` etc), but this function only applies the given effects. Therefore, to actually apply ``speed`` effect, you also need to give ``rate`` effect with desired sampling rate, because internally, ``speed`` effects only alter sampling @@ -228,14 +228,14 @@ def apply_effects_file( >>> pass """ if hasattr(path, "read"): - ret = paddleaudio._paddleaudio.apply_effects_fileobj(path, effects, normalize, - channels_first, format) + ret = paddleaudio._paddleaudio.apply_effects_fileobj( + path, effects, normalize, channels_first, format) if ret is None: raise RuntimeError("Failed to load audio from {}".format(path)) return (paddle.to_tensor(ret[0]), ret[1]) path = os.fspath(path) - ret = paddleaudio._paddleaudio.sox_effects_apply_effects_file(path, effects, normalize, - channels_first, format) + ret = paddleaudio._paddleaudio.sox_effects_apply_effects_file( + path, effects, normalize, channels_first, format) if ret is not None: return (paddle.to_tensor(ret[0]), ret[1]) raise RuntimeError("Failed to load audio from {}".format(path)) diff --git a/audio/paddleaudio/src/pybind/kaldi/feature_common_inl.h b/audio/paddleaudio/src/pybind/kaldi/feature_common_inl.h index 985d586fe..3c62bb0d4 100644 --- a/audio/paddleaudio/src/pybind/kaldi/feature_common_inl.h +++ b/audio/paddleaudio/src/pybind/kaldi/feature_common_inl.h @@ -26,7 +26,7 @@ template bool StreamingFeatureTpl::ComputeFeature( const std::vector& wav, std::vector* feats) { - // append remaned waves + // append remained waves int wav_len = wav.size(); if (wav_len == 0) return false; int left_len = remained_wav_.size(); @@ -38,7 +38,7 @@ bool StreamingFeatureTpl::ComputeFeature( wav.data(), wav_len * sizeof(float)); - // cache remaned waves + // cache remained waves knf::FrameExtractionOptions frame_opts = computer_.GetFrameOptions(); int num_frames = knf::NumFrames(waves.size(), frame_opts); int frame_shift = frame_opts.WindowShift(); diff --git a/audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.cc b/audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.cc index 8b8ff18be..6fdf68af2 100644 --- a/audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.cc +++ b/audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.cc @@ -44,5 +44,5 @@ py::array_t KaldiFeatureWrapper::ComputeFbank( return result.reshape(shape); } -} // namesapce kaldi +} // namespace kaldi } // namespace paddleaudio diff --git a/audio/paddleaudio/src/pybind/sox/effects.cpp b/audio/paddleaudio/src/pybind/sox/effects.cpp index ea77527bb..5b8959f6c 100644 --- a/audio/paddleaudio/src/pybind/sox/effects.cpp +++ b/audio/paddleaudio/src/pybind/sox/effects.cpp @@ -12,9 +12,9 @@ using namespace paddleaudio::sox_utils; namespace paddleaudio::sox_effects { // Streaming decoding over file-like object is tricky because libsox operates on -// FILE pointer. The folloing is what `sox` and `play` commands do +// FILE pointer. The following is what `sox` and `play` commands do // - file input -> FILE pointer -// - URL input -> call wget in suprocess and pipe the data -> FILE pointer +// - URL input -> call wget in subprocess and pipe the data -> FILE pointer // - stdin -> FILE pointer // // We want to, instead, fetch byte strings chunk by chunk, consume them, and @@ -127,12 +127,12 @@ namespace { enum SoxEffectsResourceState { NotInitialized, Initialized, ShutDown }; SoxEffectsResourceState SOX_RESOURCE_STATE = NotInitialized; -std::mutex SOX_RESOUCE_STATE_MUTEX; +std::mutex SOX_RESOURCE_STATE_MUTEX; } // namespace void initialize_sox_effects() { - const std::lock_guard lock(SOX_RESOUCE_STATE_MUTEX); + const std::lock_guard lock(SOX_RESOURCE_STATE_MUTEX); switch (SOX_RESOURCE_STATE) { case NotInitialized: @@ -150,7 +150,7 @@ void initialize_sox_effects() { }; void shutdown_sox_effects() { - const std::lock_guard lock(SOX_RESOUCE_STATE_MUTEX); + const std::lock_guard lock(SOX_RESOURCE_STATE_MUTEX); switch (SOX_RESOURCE_STATE) { case NotInitialized: diff --git a/audio/paddleaudio/src/pybind/sox/effects_chain.cpp b/audio/paddleaudio/src/pybind/sox/effects_chain.cpp index 0204fb309..54f54840f 100644 --- a/audio/paddleaudio/src/pybind/sox/effects_chain.cpp +++ b/audio/paddleaudio/src/pybind/sox/effects_chain.cpp @@ -14,7 +14,7 @@ namespace { /// helper classes for passing the location of input tensor and output buffer /// -/// drain/flow callback functions require plaing C style function signature and +/// drain/flow callback functions require plain C style function signature and /// the way to pass extra data is to attach data to sox_effect_t::priv pointer. /// The following structs will be assigned to sox_effect_t::priv pointer which /// gives sox_effect_t an access to input Tensor and output buffer object. @@ -50,7 +50,7 @@ int tensor_input_drain(sox_effect_t* effp, sox_sample_t* obuf, size_t* osamp) { *osamp -= *osamp % num_channels; // Slice the input Tensor - // refacor this module, chunk + // refactor this module, chunk auto i_frame = index / num_channels; auto num_frames = *osamp / num_channels; diff --git a/audio/paddleaudio/src/pybind/sox/utils.cpp b/audio/paddleaudio/src/pybind/sox/utils.cpp index bc32b7407..1d38dff90 100644 --- a/audio/paddleaudio/src/pybind/sox/utils.cpp +++ b/audio/paddleaudio/src/pybind/sox/utils.cpp @@ -162,7 +162,7 @@ py::dtype get_dtype( } default: // default to float32 for the other formats, including - // 32-bit flaoting-point WAV, + // 32-bit floating-point WAV, // MP3, // FLAC, // VORBIS etc... @@ -177,7 +177,7 @@ py::array convert_to_tensor( const py::dtype dtype, const bool normalize, const bool channels_first) { - // todo refector later(SGoat) + // todo refactor later(SGoat) py::array t; uint64_t dummy = 0; SOX_SAMPLE_LOCALS; @@ -449,7 +449,7 @@ unsigned get_precision(const std::string filetype, py::dtype dtype) { return SOX_UNSPEC; if (filetype == "wav" || filetype == "amb") { switch (dtype.num()) { - case 1: // byte in numpy dype num + case 1: // byte in numpy dtype num return 8; case 3: // short, in numpy dtype num return 16; diff --git a/audio/paddleaudio/src/pybind/sox/utils.h b/audio/paddleaudio/src/pybind/sox/utils.h index 6fce66714..c98e8f9ed 100644 --- a/audio/paddleaudio/src/pybind/sox/utils.h +++ b/audio/paddleaudio/src/pybind/sox/utils.h @@ -76,7 +76,7 @@ py::dtype get_dtype( /// Tensor. /// @param dtype Target dtype. Determines the output dtype and value range in /// conjunction with normalization. -/// @param noramlize Perform normalization. Only effective when dtype is not +/// @param normalize Perform normalization. Only effective when dtype is not /// kFloat32. When effective, the output tensor is kFloat32 type and value range /// is [-1.0, 1.0] /// @param channels_first When True, output Tensor has shape of [num_channels, diff --git a/audio/paddleaudio/third_party/sox/CMakeLists.txt b/audio/paddleaudio/third_party/sox/CMakeLists.txt index 8a5bc55c7..91be289bd 100644 --- a/audio/paddleaudio/third_party/sox/CMakeLists.txt +++ b/audio/paddleaudio/third_party/sox/CMakeLists.txt @@ -8,9 +8,9 @@ set(patch_dir ${CMAKE_CURRENT_SOURCE_DIR}/../patches) set(COMMON_ARGS --quiet --disable-shared --enable-static --prefix=${INSTALL_DIR} --with-pic --disable-dependency-tracking --disable-debug --disable-examples --disable-doc) # To pass custom environment variables to ExternalProject_Add command, -# we need to do `${CMAKE_COMMAND} -E env ${envs} `. +# we need to do `${CMAKE_COMMAND} -E env ${envs} `. # https://stackoverflow.com/a/62437353 -# We constrcut the custom environment variables here +# We construct the custom environment variables here set(envs "PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig" "LDFLAGS=-L${INSTALL_DIR}/lib $ENV{LDFLAGS}" diff --git a/audio/paddleaudio/utils/download.py b/audio/paddleaudio/utils/download.py index 07d5eea84..f47345dfc 100644 --- a/audio/paddleaudio/utils/download.py +++ b/audio/paddleaudio/utils/download.py @@ -41,14 +41,14 @@ def download_and_decompress(archives: List[Dict[str, str]], path: str, decompress: bool=True): """ - Download archieves and decompress to specific path. + Download archives and decompress to specific path. """ if not os.path.isdir(path): os.makedirs(path) for archive in archives: assert 'url' in archive and 'md5' in archive, \ - 'Dictionary keys of "url" and "md5" are required in the archive, but got: {list(archieve.keys())}' + 'Dictionary keys of "url" and "md5" are required in the archive, but got: {list(archive.keys())}' download.get_path_from_url( archive['url'], path, archive['md5'], decompress=decompress) diff --git a/audio/paddleaudio/utils/log.py b/audio/paddleaudio/utils/log.py index 5656b286a..ddc8fd669 100644 --- a/audio/paddleaudio/utils/log.py +++ b/audio/paddleaudio/utils/log.py @@ -58,7 +58,7 @@ log_config = { class Logger(object): ''' - Deafult logger in PaddleAudio + Default logger in PaddleAudio Args: name(str) : Logger name, default is 'PaddleAudio' ''' diff --git a/audio/paddleaudio/utils/sox_utils.py b/audio/paddleaudio/utils/sox_utils.py index 305bb68b0..7665238ef 100644 --- a/audio/paddleaudio/utils/sox_utils.py +++ b/audio/paddleaudio/utils/sox_utils.py @@ -55,7 +55,7 @@ def set_use_threads(use_threads: bool): Args: use_threads (bool): When ``True``, enables ``libsox``'s parallel effects channels processing. - To use mutlithread, the underlying ``libsox`` has to be compiled with OpenMP support. + To use multithread, the underlying ``libsox`` has to be compiled with OpenMP support. See Also: http://sox.sourceforge.net/sox.html diff --git a/audio/paddleaudio/utils/tensor_utils.py b/audio/paddleaudio/utils/tensor_utils.py index cfd490b9a..1448d48a3 100644 --- a/audio/paddleaudio/utils/tensor_utils.py +++ b/audio/paddleaudio/utils/tensor_utils.py @@ -11,7 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -"""Unility functions for Transformer.""" +"""Utility functions for Transformer.""" from typing import List from typing import Tuple @@ -80,7 +80,7 @@ def pad_sequence(sequences: List[paddle.Tensor], # assuming trailing dimensions and type of all the Tensors # in sequences are same and fetching those from sequences[0] max_size = paddle.shape(sequences[0]) - # (TODO Hui Zhang): slice not supprot `end==start` + # (TODO Hui Zhang): slice not support `end==start` # trailing_dims = max_size[1:] trailing_dims = tuple( max_size[1:].numpy().tolist()) if sequences[0].ndim >= 2 else () @@ -94,7 +94,7 @@ def pad_sequence(sequences: List[paddle.Tensor], length = tensor.shape[0] # use index notation to prevent duplicate references to the tensor if batch_first: - # TODO (Hui Zhang): set_value op not supprot `end==start` + # TODO (Hui Zhang): set_value op not support `end==start` # TODO (Hui Zhang): set_value op not support int16 # TODO (Hui Zhang): set_varbase 2 rank not support [0,0,...] # out_tensor[i, :length, ...] = tensor @@ -103,7 +103,7 @@ def pad_sequence(sequences: List[paddle.Tensor], else: out_tensor[i, length] = tensor else: - # TODO (Hui Zhang): set_value op not supprot `end==start` + # TODO (Hui Zhang): set_value op not support `end==start` # out_tensor[:length, i, ...] = tensor if length != 0: out_tensor[:length, i] = tensor diff --git a/audio/paddleaudio/utils/time.py b/audio/paddleaudio/utils/time.py index 105208f91..4ea413282 100644 --- a/audio/paddleaudio/utils/time.py +++ b/audio/paddleaudio/utils/time.py @@ -21,7 +21,7 @@ __all__ = [ class Timer(object): - '''Calculate runing speed and estimated time of arrival(ETA)''' + '''Calculate running speed and estimated time of arrival(ETA)''' def __init__(self, total_step: int): self.total_step = total_step diff --git a/audio/tests/backends/base.py b/audio/tests/backends/base.py index a67191887..b4f97e89b 100644 --- a/audio/tests/backends/base.py +++ b/audio/tests/backends/base.py @@ -15,8 +15,8 @@ import os import unittest import urllib.request -mono_channel_wav = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav' -multi_channels_wav = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/cat.wav' +mono_channel_wav = 'https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav' +multi_channels_wav = 'https://paddlespeech.cdn.bcebos.com/PaddleAudio/cat.wav' class BackendTest(unittest.TestCase): @@ -30,5 +30,5 @@ class BackendTest(unittest.TestCase): urllib.request.urlretrieve(url, os.path.basename(url)) self.files.append(os.path.basename(url)) - def initParmas(self): + def initParams(self): raise NotImplementedError diff --git a/audio/tests/backends/soundfile/base.py b/audio/tests/backends/soundfile/base.py index a67191887..b4f97e89b 100644 --- a/audio/tests/backends/soundfile/base.py +++ b/audio/tests/backends/soundfile/base.py @@ -15,8 +15,8 @@ import os import unittest import urllib.request -mono_channel_wav = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav' -multi_channels_wav = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/cat.wav' +mono_channel_wav = 'https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav' +multi_channels_wav = 'https://paddlespeech.cdn.bcebos.com/PaddleAudio/cat.wav' class BackendTest(unittest.TestCase): @@ -30,5 +30,5 @@ class BackendTest(unittest.TestCase): urllib.request.urlretrieve(url, os.path.basename(url)) self.files.append(os.path.basename(url)) - def initParmas(self): + def initParams(self): raise NotImplementedError diff --git a/audio/tests/backends/soundfile/save_test.py b/audio/tests/backends/soundfile/save_test.py index 4f3df6e48..0dce592c8 100644 --- a/audio/tests/backends/soundfile/save_test.py +++ b/audio/tests/backends/soundfile/save_test.py @@ -58,7 +58,7 @@ class MockedSaveTest(unittest.TestCase): encoding=encoding, bits_per_sample=bits_per_sample, ) - # on +Py3.8 call_args.kwargs is more descreptive + # on +Py3.8 call_args.kwargs is more descriptive args = mocked_write.call_args[1] assert args["file"] == filepath assert args["samplerate"] == sample_rate @@ -103,7 +103,7 @@ class MockedSaveTest(unittest.TestCase): encoding=encoding, bits_per_sample=bits_per_sample, ) - # on +Py3.8 call_args.kwargs is more descreptive + # on +Py3.8 call_args.kwargs is more descriptive args = mocked_write.call_args[1] assert args["file"] == filepath assert args["samplerate"] == sample_rate @@ -191,7 +191,7 @@ class SaveTestBase(TempDirMixin, unittest.TestCase): def _assert_non_wav(self, fmt, dtype, sample_rate, num_channels): """`soundfile_backend.save` can save non-wav format. - Due to precision missmatch, and the lack of alternative way to decode the + Due to precision mismatch, and the lack of alternative way to decode the resulting files without using soundfile, only meta data are validated. """ num_frames = sample_rate * 3 diff --git a/audio/tests/backends/sox_io/save_test.py b/audio/tests/backends/sox_io/save_test.py index e73f9f63f..de500dc12 100644 --- a/audio/tests/backends/sox_io/save_test.py +++ b/audio/tests/backends/sox_io/save_test.py @@ -41,7 +41,7 @@ class TestSaveBase(TempDirMixin): test_mode: str="path", ): """`save` function produces file that is comparable with `sox` command - To compare that the file produced by `save` function agains the file produced by + To compare that the file produced by `save` function against the file produced by the equivalent `sox` command, we need to load both files. But there are many formats that cannot be opened with common Python modules (like SciPy). diff --git a/audio/tests/benchmark/log_melspectrogram.py b/audio/tests/benchmark/log_melspectrogram.py index 1d03c1df3..1c772b421 100644 --- a/audio/tests/benchmark/log_melspectrogram.py +++ b/audio/tests/benchmark/log_melspectrogram.py @@ -21,11 +21,12 @@ import paddleaudio import torch import torchaudio -wav_url = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav' +wav_url = 'https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav' if not os.path.isfile(os.path.basename(wav_url)): urllib.request.urlretrieve(wav_url, os.path.basename(wav_url)) -waveform, sr = paddleaudio.backends.soundfile_load(os.path.abspath(os.path.basename(wav_url))) +waveform, sr = paddleaudio.backends.soundfile_load( + os.path.abspath(os.path.basename(wav_url))) waveform_tensor = paddle.to_tensor(waveform).unsqueeze(0) waveform_tensor_torch = torch.from_numpy(waveform).unsqueeze(0) diff --git a/audio/tests/benchmark/melspectrogram.py b/audio/tests/benchmark/melspectrogram.py index 28c4ac806..9df6ce092 100644 --- a/audio/tests/benchmark/melspectrogram.py +++ b/audio/tests/benchmark/melspectrogram.py @@ -21,11 +21,12 @@ import paddleaudio import torch import torchaudio -wav_url = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav' +wav_url = 'https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav' if not os.path.isfile(os.path.basename(wav_url)): urllib.request.urlretrieve(wav_url, os.path.basename(wav_url)) -waveform, sr = paddleaudio.backends.soundfile_load(os.path.abspath(os.path.basename(wav_url))) +waveform, sr = paddleaudio.backends.soundfile_load( + os.path.abspath(os.path.basename(wav_url))) waveform_tensor = paddle.to_tensor(waveform).unsqueeze(0) waveform_tensor_torch = torch.from_numpy(waveform).unsqueeze(0) diff --git a/audio/tests/benchmark/mfcc.py b/audio/tests/benchmark/mfcc.py index 544a5371b..7b1ecbe03 100644 --- a/audio/tests/benchmark/mfcc.py +++ b/audio/tests/benchmark/mfcc.py @@ -21,11 +21,12 @@ import paddleaudio import torch import torchaudio -wav_url = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav' +wav_url = 'https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav' if not os.path.isfile(os.path.basename(wav_url)): urllib.request.urlretrieve(wav_url, os.path.basename(wav_url)) -waveform, sr = paddleaudio.backends.soundfile_load(os.path.abspath(os.path.basename(wav_url))) +waveform, sr = paddleaudio.backends.soundfile_load( + os.path.abspath(os.path.basename(wav_url))) waveform_tensor = paddle.to_tensor(waveform).unsqueeze(0) waveform_tensor_torch = torch.from_numpy(waveform).unsqueeze(0) diff --git a/audio/tests/common_utils/data_utils.py b/audio/tests/common_utils/data_utils.py index b5618618c..16f575701 100644 --- a/audio/tests/common_utils/data_utils.py +++ b/audio/tests/common_utils/data_utils.py @@ -81,7 +81,7 @@ def convert_tensor_encoding( #dtype = getattr(paddle, dtype) #if dtype not in [paddle.float64, paddle.float32, paddle.int32, paddle.int16, paddle.uint8]: #raise NotImplementedError(f"dtype {dtype} is not supported.") -## According to the doc, folking rng on all CUDA devices is slow when there are many CUDA devices, +## According to the doc, forking rng on all CUDA devices is slow when there are many CUDA devices, ## so we only fork on CPU, generate values and move the data to the given device #with paddle.random.fork_rng([]): #paddle.random.manual_seed(seed) diff --git a/audio/tests/common_utils/sox_utils.py b/audio/tests/common_utils/sox_utils.py index 6ceae081e..4c0866ed9 100644 --- a/audio/tests/common_utils/sox_utils.py +++ b/audio/tests/common_utils/sox_utils.py @@ -24,20 +24,21 @@ def get_bit_depth(dtype): def gen_audio_file( - path, - sample_rate, - num_channels, - *, - encoding=None, - bit_depth=None, - compression=None, - attenuation=None, - duration=1, - comment_file=None, -): + path, + sample_rate, + num_channels, + *, + encoding=None, + bit_depth=None, + compression=None, + attenuation=None, + duration=1, + comment_file=None, ): """Generate synthetic audio file with `sox` command.""" if path.endswith(".wav"): - warnings.warn("Use get_wav_data and save_wav to generate wav file for accurate result.") + warnings.warn( + "Use get_wav_data and save_wav to generate wav file for accurate result." + ) command = [ "sox", "-V3", # verbose @@ -81,7 +82,12 @@ def gen_audio_file( subprocess.run(command, check=True) -def convert_audio_file(src_path, dst_path, *, encoding=None, bit_depth=None, compression=None): +def convert_audio_file(src_path, + dst_path, + *, + encoding=None, + bit_depth=None, + compression=None): """Convert audio file with `sox` command.""" command = ["sox", "-V3", "--no-dither", "-R", str(src_path)] if encoding is not None: @@ -95,7 +101,7 @@ def convert_audio_file(src_path, dst_path, *, encoding=None, bit_depth=None, com subprocess.run(command, check=True) -def _flattern(effects): +def _flatten(effects): if not effects: return effects if isinstance(effects[0], str): @@ -103,9 +109,14 @@ def _flattern(effects): return [item for sublist in effects for item in sublist] -def run_sox_effect(input_file, output_file, effect, *, output_sample_rate=None, output_bitdepth=None): +def run_sox_effect(input_file, + output_file, + effect, + *, + output_sample_rate=None, + output_bitdepth=None): """Run sox effects""" - effect = _flattern(effect) + effect = _flatten(effect) command = ["sox", "-V", "--no-dither", input_file] if output_bitdepth: command += ["--bits", str(output_bitdepth)] diff --git a/audio/tests/features/base.py b/audio/tests/features/base.py index 3bb1d1dde..1d36c13d4 100644 --- a/audio/tests/features/base.py +++ b/audio/tests/features/base.py @@ -19,12 +19,12 @@ import numpy as np import paddle from paddleaudio.backends import soundfile_load as load -wav_url = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav' +wav_url = 'https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav' class FeatTest(unittest.TestCase): def setUp(self): - self.initParmas() + self.initParams() self.initWavInput() self.setUpDevice() @@ -44,5 +44,5 @@ class FeatTest(unittest.TestCase): if dim == 1: self.waveform = np.expand_dims(self.waveform, 0) - def initParmas(self): + def initParams(self): raise NotImplementedError diff --git a/audio/tests/features/test_istft.py b/audio/tests/features/test_istft.py index ea1ee5cb6..862a1d753 100644 --- a/audio/tests/features/test_istft.py +++ b/audio/tests/features/test_istft.py @@ -23,7 +23,7 @@ from paddlespeech.audio.transform.spectrogram import Stft class TestIstft(FeatTest): - def initParmas(self): + def initParams(self): self.n_fft = 512 self.hop_length = 128 self.window_str = 'hann' diff --git a/audio/tests/features/test_kaldi.py b/audio/tests/features/test_kaldi.py index 2bd5dc734..50e2571ca 100644 --- a/audio/tests/features/test_kaldi.py +++ b/audio/tests/features/test_kaldi.py @@ -18,12 +18,11 @@ import paddle import paddleaudio import torch import torchaudio - from base import FeatTest class TestKaldi(FeatTest): - def initParmas(self): + def initParams(self): self.window_size = 1024 self.dtype = 'float32' diff --git a/audio/tests/features/test_librosa.py b/audio/tests/features/test_librosa.py index 8cda25b19..07b117cb0 100644 --- a/audio/tests/features/test_librosa.py +++ b/audio/tests/features/test_librosa.py @@ -17,13 +17,12 @@ import librosa import numpy as np import paddle import paddleaudio -from paddleaudio.functional.window import get_window - from base import FeatTest +from paddleaudio.functional.window import get_window class TestLibrosa(FeatTest): - def initParmas(self): + def initParams(self): self.n_fft = 512 self.hop_length = 128 self.n_mels = 40 diff --git a/audio/tests/features/test_log_melspectrogram.py b/audio/tests/features/test_log_melspectrogram.py index b2765d3be..6152d6ff2 100644 --- a/audio/tests/features/test_log_melspectrogram.py +++ b/audio/tests/features/test_log_melspectrogram.py @@ -22,7 +22,7 @@ from paddlespeech.audio.transform.spectrogram import LogMelSpectrogram class TestLogMelSpectrogram(FeatTest): - def initParmas(self): + def initParams(self): self.n_fft = 512 self.hop_length = 128 self.n_mels = 40 diff --git a/audio/tests/features/test_spectrogram.py b/audio/tests/features/test_spectrogram.py index 6f4609632..c2dced2e7 100644 --- a/audio/tests/features/test_spectrogram.py +++ b/audio/tests/features/test_spectrogram.py @@ -22,7 +22,7 @@ from paddlespeech.audio.transform.spectrogram import Spectrogram class TestSpectrogram(FeatTest): - def initParmas(self): + def initParams(self): self.n_fft = 512 self.hop_length = 128 diff --git a/audio/tests/features/test_stft.py b/audio/tests/features/test_stft.py index 9511a2926..5bab170be 100644 --- a/audio/tests/features/test_stft.py +++ b/audio/tests/features/test_stft.py @@ -22,7 +22,7 @@ from paddlespeech.audio.transform.spectrogram import Stft class TestStft(FeatTest): - def initParmas(self): + def initParams(self): self.n_fft = 512 self.hop_length = 128 self.window_str = 'hann' @@ -30,7 +30,7 @@ class TestStft(FeatTest): def test_stft(self): ps_stft = Stft(self.n_fft, self.hop_length) ps_res = ps_stft( - self.waveform.T).squeeze(1).T # (n_fft//2 + 1, n_frmaes) + self.waveform.T).squeeze(1).T # (n_fft//2 + 1, n_frames) x = paddle.to_tensor(self.waveform) window = get_window(self.window_str, self.n_fft, dtype=x.dtype) diff --git a/dataset/chime3_background/chime3_background.py b/dataset/chime3_background/chime3_background.py index 1f5439aab..6ec8fdfed 100644 --- a/dataset/chime3_background/chime3_background.py +++ b/dataset/chime3_background/chime3_background.py @@ -58,7 +58,7 @@ def download(url, md5sum, target_dir, filename=None): if not (os.path.exists(filepath) and md5file(filepath) == md5sum): print("Downloading %s ..." % url) wget.download(url, target_dir) - print("\nMD5 Chesksum %s ..." % filepath) + print("\nMD5 Checksum %s ..." % filepath) if not md5file(filepath) == md5sum: raise RuntimeError("MD5 checksum failed.") else: @@ -109,7 +109,7 @@ def create_manifest(data_dir, manifest_path): def prepare_chime3(url, md5sum, target_dir, manifest_path): - """Download, unpack and create summmary manifest file.""" + """Download, unpack and create summary manifest file.""" if not os.path.exists(os.path.join(target_dir, "CHiME3")): # download filepath = download(url, md5sum, target_dir, diff --git a/dataset/librispeech/librispeech.py b/dataset/librispeech/librispeech.py index 2f5f9016c..ccf8d4b49 100644 --- a/dataset/librispeech/librispeech.py +++ b/dataset/librispeech/librispeech.py @@ -132,7 +132,7 @@ def create_manifest(data_dir, manifest_path): def prepare_dataset(url, md5sum, target_dir, manifest_path): - """Download, unpack and create summmary manifest file. + """Download, unpack and create summary manifest file. """ if not os.path.exists(os.path.join(target_dir, "LibriSpeech")): # download diff --git a/dataset/mini_librispeech/mini_librispeech.py b/dataset/mini_librispeech/mini_librispeech.py index 24bd98d8c..3a60ef22b 100644 --- a/dataset/mini_librispeech/mini_librispeech.py +++ b/dataset/mini_librispeech/mini_librispeech.py @@ -108,7 +108,7 @@ def create_manifest(data_dir, manifest_path): def prepare_dataset(url, md5sum, target_dir, manifest_path): - """Download, unpack and create summmary manifest file. + """Download, unpack and create summary manifest file. """ if not os.path.exists(os.path.join(target_dir, "LibriSpeech")): # download diff --git a/dataset/ted_en_zh/ted_en_zh.py b/dataset/ted_en_zh/ted_en_zh.py index 2d1fc6710..66810c85e 100644 --- a/dataset/ted_en_zh/ted_en_zh.py +++ b/dataset/ted_en_zh/ted_en_zh.py @@ -13,7 +13,7 @@ # limitations under the License. """Prepare Ted-En-Zh speech translation dataset -Create manifest files from splited datased. +Create manifest files from splited dataset. dev set: tst2010, test set: tst2015 Manifest file is a json-format file with each line containing the meta data (i.e. audio filepath, transcript and audio duration) diff --git a/dataset/thchs30/thchs30.py b/dataset/thchs30/thchs30.py index c5c3eb7a8..fc8338984 100644 --- a/dataset/thchs30/thchs30.py +++ b/dataset/thchs30/thchs30.py @@ -71,7 +71,7 @@ def read_trn(filepath): with open(filepath, 'r') as f: lines = f.read().strip().split('\n') assert len(lines) == 3, lines - # charactor text, remove withespace + # character text, remove whitespace texts.append(''.join(lines[0].split())) texts.extend(lines[1:]) return texts @@ -127,7 +127,7 @@ def create_manifest(data_dir, manifest_path_prefix): 'utt2spk': spk, 'feat': audio_path, 'feat_shape': (duration, ), # second - 'text': word_text, # charactor + 'text': word_text, # character 'syllable': syllable_text, 'phone': phone_text, }, diff --git a/dataset/timit/timit.py b/dataset/timit/timit.py index f3889d176..492c6702d 100644 --- a/dataset/timit/timit.py +++ b/dataset/timit/timit.py @@ -123,7 +123,7 @@ def read_algin(filepath: str) -> str: filepath (str): [description] Returns: - str: token sepearte by + str: token separate by """ aligns = [] # (start, end, token) with open(filepath, 'r') as f: @@ -210,7 +210,7 @@ def create_manifest(data_dir, manifest_path_prefix): def prepare_dataset(url, md5sum, target_dir, manifest_path): - """Download, unpack and create summmary manifest file. + """Download, unpack and create summary manifest file. """ filepath = os.path.join(target_dir, "TIMIT.zip") if not os.path.exists(filepath): diff --git a/dataset/timit/timit_kaldi_standard_split.py b/dataset/timit/timit_kaldi_standard_split.py index 473fc856f..59ce2e64a 100644 --- a/dataset/timit/timit_kaldi_standard_split.py +++ b/dataset/timit/timit_kaldi_standard_split.py @@ -13,7 +13,7 @@ # limitations under the License. """Prepare TIMIT dataset (Standard split from Kaldi) -Create manifest files from splited datased. +Create manifest files from splited dataset. Manifest file is a json-format file with each line containing the meta data (i.e. audio filepath, transcript and audio duration) of each audio file in the data set. diff --git a/dataset/voxceleb/voxceleb1.py b/dataset/voxceleb/voxceleb1.py index 8d4100678..49a2a6baa 100644 --- a/dataset/voxceleb/voxceleb1.py +++ b/dataset/voxceleb/voxceleb1.py @@ -167,7 +167,7 @@ def prepare_dataset(base_url, data_list, target_dir, manifest_path, # check the target zip file md5sum if not check_md5sum(target_name, target_md5sum): - raise RuntimeError("{} MD5 checkssum failed".format(target_name)) + raise RuntimeError("{} MD5 checksum failed".format(target_name)) else: print("Check {} md5sum successfully".format(target_name)) diff --git a/dataset/voxceleb/voxceleb2.py b/dataset/voxceleb/voxceleb2.py index 6df6d1f38..faa3b99bc 100644 --- a/dataset/voxceleb/voxceleb2.py +++ b/dataset/voxceleb/voxceleb2.py @@ -179,7 +179,7 @@ def download_dataset(base_url, data_list, target_data, target_dir, dataset): # check the target zip file md5sum if not check_md5sum(target_name, target_md5sum): - raise RuntimeError("{} MD5 checkssum failed".format(target_name)) + raise RuntimeError("{} MD5 checksum failed".format(target_name)) else: print("Check {} md5sum successfully".format(target_name)) @@ -187,7 +187,7 @@ def download_dataset(base_url, data_list, target_data, target_dir, dataset): # we need make the test directory unzip(target_name, os.path.join(target_dir, "test")) else: - # upzip dev zip pacakge and will create the dev directory + # unzip dev zip package and will create the dev directory unzip(target_name, target_dir) diff --git a/demos/TTSAndroid/README.md b/demos/TTSAndroid/README.md index 36848cbe3..6a6860400 100644 --- a/demos/TTSAndroid/README.md +++ b/demos/TTSAndroid/README.md @@ -8,7 +8,7 @@ ### 环境准备 -1. 在本地环境安装好 Android Studio 工具,详细安装方法请见 [Android Stuido 官网](https://developer.android.com/studio)。 +1. 在本地环境安装好 Android Studio 工具,详细安装方法请见 [Android Studio 官网](https://developer.android.com/studio)。 2. 准备一部 Android 手机,并开启 USB 调试模式。开启方法: `手机设置 -> 查找开发者选项 -> 打开开发者选项和 USB 调试模式`。 **注意**: @@ -20,10 +20,10 @@ 2. 手机连接电脑,打开 USB 调试和文件传输模式,并在 Android Studio 上连接自己的手机设备(手机需要开启允许从 USB 安装软件权限)。 **注意:** ->1. 如果您在导入项目、编译或者运行过程中遇到 NDK 配置错误的提示,请打开 `File > Project Structure > SDK Location`,修改 `Andriod NDK location` 为您本机配置的 NDK 所在路径。 ->2. 如果您是通过 Andriod Studio 的 SDK Tools 下载的 NDK (见本章节"环境准备"),可以直接点击下拉框选择默认路径。 +>1. 如果您在导入项目、编译或者运行过程中遇到 NDK 配置错误的提示,请打开 `File > Project Structure > SDK Location`,修改 `Android NDK location` 为您本机配置的 NDK 所在路径。 +>2. 如果您是通过 Android Studio 的 SDK Tools 下载的 NDK (见本章节"环境准备"),可以直接点击下拉框选择默认路径。 >3. 还有一种 NDK 配置方法,你可以在 `TTSAndroid/local.properties` 文件中手动添加 NDK 路径配置 `nkd.dir=/root/android-ndk-r20b` ->4. 如果以上步骤仍旧无法解决 NDK 配置错误,请尝试根据 Andriod Studio 官方文档中的[更新 Android Gradle 插件](https://developer.android.com/studio/releases/gradle-plugin?hl=zh-cn#updating-plugin)章节,尝试更新 Android Gradle plugin 版本。 +>4. 如果以上步骤仍旧无法解决 NDK 配置错误,请尝试根据 Android Studio 官方文档中的[更新 Android Gradle 插件](https://developer.android.com/studio/releases/gradle-plugin?hl=zh-cn#updating-plugin)章节,尝试更新 Android Gradle plugin 版本。 3. 点击 Run 按钮,自动编译 APP 并安装到手机。(该过程会自动下载 Paddle Lite 预测库和模型,需要联网) 成功后效果如下: @@ -70,8 +70,8 @@ TTSAndroid/app/src/main/java/com/baidu/paddle/lite/demo/tts/Predictor.java ``` 2. `fastspeech2_csmsc_arm.nb` 和 `mb_melgan_csmsc_arm.nb`: 模型文件 (opt 工具转化后 Paddle Lite 模型) - ,分别来自 [fastspeech2_cnndecoder_csmsc_pdlite_1.3.0.zip](https://paddlespeech.bj.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_cnndecoder_csmsc_pdlite_1.3.0.zip) - 和 [mb_melgan_csmsc_pdlite_1.3.0.zip](https://paddlespeech.bj.bcebos.com/Parakeet/released_models/mb_melgan/mb_melgan_csmsc_pdlite_1.3.0.zip)。 + ,分别来自 [fastspeech2_cnndecoder_csmsc_pdlite_1.3.0.zip](https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_cnndecoder_csmsc_pdlite_1.3.0.zip) + 和 [mb_melgan_csmsc_pdlite_1.3.0.zip](https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/mb_melgan/mb_melgan_csmsc_pdlite_1.3.0.zip)。 ```bash # 位置: @@ -161,7 +161,7 @@ Android 示例基于 Java API 开发,调用 Paddle Lite `Java API` 包括以 - C++ 中文前端 [lym0302/paddlespeech_tts_cpp](https://github.com/lym0302/paddlespeech_tts_cpp) - C++ 英文 g2p [yazone/g2pE_mobile](https://github.com/yazone/g2pE_mobile) -`phone_id_map.txt` 请参考 [fastspeech2_cnndecoder_csmsc_pdlite_1.3.0.zip](https://paddlespeech.bj.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_cnndecoder_csmsc_pdlite_1.3.0.zip)。 +`phone_id_map.txt` 请参考 [fastspeech2_cnndecoder_csmsc_pdlite_1.3.0.zip](https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_cnndecoder_csmsc_pdlite_1.3.0.zip)。 ## 通过 setting 界面更新语音合成的相关参数 @@ -186,7 +186,7 @@ Android 示例基于 Java API 开发,调用 Paddle Lite `Java API` 包括以 ## Release -[2022-11-29-app-release.apk](https://paddlespeech.bj.bcebos.com/demos/TTSAndroid/2022-11-29-app-release.apk) +[2022-11-29-app-release.apk](https://paddlespeech.cdn.bcebos.com/demos/TTSAndroid/2022-11-29-app-release.apk) ## More 本 Demo 合并自 [yt605155624/TTSAndroid](https://github.com/yt605155624/TTSAndroid)。 diff --git a/demos/TTSAndroid/app/build.gradle b/demos/TTSAndroid/app/build.gradle index 40ee5e123..ee493d622 100644 --- a/demos/TTSAndroid/app/build.gradle +++ b/demos/TTSAndroid/app/build.gradle @@ -31,7 +31,7 @@ dependencies { implementation files('libs/PaddlePredictor.jar') } -def paddleLiteLibs = 'https://paddlespeech.bj.bcebos.com/demos/TTSAndroid/paddle_lite_libs_68b66fd3.tar.gz' +def paddleLiteLibs = 'https://paddlespeech.cdn.bcebos.com/demos/TTSAndroid/paddle_lite_libs_68b66fd3.tar.gz' task downloadAndExtractPaddleLiteLibs(type: DefaultTask) { doFirst { println "Downloading and extracting Paddle Lite libs" @@ -73,7 +73,7 @@ task downloadAndExtractPaddleLiteLibs(type: DefaultTask) { } preBuild.dependsOn downloadAndExtractPaddleLiteLibs -def paddleLiteModels = [['src' : 'https://paddlespeech.bj.bcebos.com/demos/TTSAndroid/fs2cnn_mbmelgan_cpu_v1.3.0.tar.gz', +def paddleLiteModels = [['src' : 'https://paddlespeech.cdn.bcebos.com/demos/TTSAndroid/fs2cnn_mbmelgan_cpu_v1.3.0.tar.gz', 'dest': 'src/main/assets/models'],] task downloadAndExtractPaddleLiteModels(type: DefaultTask) { doFirst { diff --git a/demos/TTSArmLinux/README.md b/demos/TTSArmLinux/README.md index a4ccba6c8..cd331155b 100644 --- a/demos/TTSArmLinux/README.md +++ b/demos/TTSArmLinux/README.md @@ -21,7 +21,7 @@ sudo yum install cmake wget tar unzip ### 下载 Paddle Lite 库文件和模型文件 -预编译的二进制使用与安卓 Demo 版本相同的 Paddle Lite 推理库([Paddle-Lite:68b66fd35](https://github.com/PaddlePaddle/Paddle-Lite/tree/68b66fd356c875c92167d311ad458e6093078449))和模型([fs2cnn_mbmelgan_cpu_v1.3.0](https://paddlespeech.bj.bcebos.com/demos/TTSAndroid/fs2cnn_mbmelgan_cpu_v1.3.0.tar.gz))。 +预编译的二进制使用与安卓 Demo 版本相同的 Paddle Lite 推理库([Paddle-Lite:68b66fd35](https://github.com/PaddlePaddle/Paddle-Lite/tree/68b66fd356c875c92167d311ad458e6093078449))和模型([fs2cnn_mbmelgan_cpu_v1.3.0](https://paddlespeech.cdn.bcebos.com/demos/TTSAndroid/fs2cnn_mbmelgan_cpu_v1.3.0.tar.gz))。 可用以下命令下载: diff --git a/demos/TTSArmLinux/download.sh b/demos/TTSArmLinux/download.sh index 7eaa836a5..2a0b23b27 100755 --- a/demos/TTSArmLinux/download.sh +++ b/demos/TTSArmLinux/download.sh @@ -45,17 +45,17 @@ download() { echo "Download models..." download 'inference_lite_lib.armlinux.armv8.gcc.with_extra.with_cv.tar.gz' \ - 'https://paddlespeech.bj.bcebos.com/demos/TTSArmLinux/inference_lite_lib.armlinux.armv8.gcc.with_extra.with_cv.tar.gz' \ + 'https://paddlespeech.cdn.bcebos.com/demos/TTSArmLinux/inference_lite_lib.armlinux.armv8.gcc.with_extra.with_cv.tar.gz' \ '39e0c6604f97c70f5d13c573d7e709b9' \ "$LIBS_DIR" download 'inference_lite_lib.armlinux.armv7hf.gcc.with_extra.with_cv.tar.gz' \ - 'https://paddlespeech.bj.bcebos.com/demos/TTSArmLinux/inference_lite_lib.armlinux.armv7hf.gcc.with_extra.with_cv.tar.gz' \ + 'https://paddlespeech.cdn.bcebos.com/demos/TTSArmLinux/inference_lite_lib.armlinux.armv7hf.gcc.with_extra.with_cv.tar.gz' \ 'f5ceb509f0b610dafb8379889c5f36f8' \ "$LIBS_DIR" download 'fs2cnn_mbmelgan_cpu_v1.3.0.tar.gz' \ - 'https://paddlespeech.bj.bcebos.com/demos/TTSAndroid/fs2cnn_mbmelgan_cpu_v1.3.0.tar.gz' \ + 'https://paddlespeech.cdn.bcebos.com/demos/TTSAndroid/fs2cnn_mbmelgan_cpu_v1.3.0.tar.gz' \ '93ef17d44b498aff3bea93e2c5c09a1e' \ "$MODELS_DIR" diff --git a/demos/TTSCppFrontend/download.sh b/demos/TTSCppFrontend/download.sh index 0953e3a59..3051ce3f9 100755 --- a/demos/TTSCppFrontend/download.sh +++ b/demos/TTSCppFrontend/download.sh @@ -40,22 +40,22 @@ DIST_DIR="$PWD/front_demo/dict" mkdir -p "$DIST_DIR" download 'fastspeech2_nosil_baker_ckpt_0.4.tar.gz' \ - 'https://paddlespeech.bj.bcebos.com/t2s/text_frontend/fastspeech2_nosil_baker_ckpt_0.4.tar.gz' \ + 'https://paddlespeech.cdn.bcebos.com/t2s/text_frontend/fastspeech2_nosil_baker_ckpt_0.4.tar.gz' \ '7bf1bab1737375fa123c413eb429c573' \ "$DIST_DIR" download 'speedyspeech_nosil_baker_ckpt_0.5.tar.gz' \ - 'https://paddlespeech.bj.bcebos.com/t2s/text_frontend/speedyspeech_nosil_baker_ckpt_0.5.tar.gz' \ + 'https://paddlespeech.cdn.bcebos.com/t2s/text_frontend/speedyspeech_nosil_baker_ckpt_0.5.tar.gz' \ '0b7754b21f324789aef469c61f4d5b8f' \ "$DIST_DIR" download 'jieba.tar.gz' \ - 'https://paddlespeech.bj.bcebos.com/t2s/text_frontend/jieba.tar.gz' \ + 'https://paddlespeech.cdn.bcebos.com/t2s/text_frontend/jieba.tar.gz' \ '6d30f426bd8c0025110a483f051315ca' \ "$DIST_DIR" download 'tranditional_to_simplified.tar.gz' \ - 'https://paddlespeech.bj.bcebos.com/t2s/text_frontend/tranditional_to_simplified.tar.gz' \ + 'https://paddlespeech.cdn.bcebos.com/t2s/text_frontend/tranditional_to_simplified.tar.gz' \ '258f5b59d5ebfe96d02007ca1d274a7f' \ "$DIST_DIR" diff --git a/demos/TTSCppFrontend/src/front/front_interface.cpp b/demos/TTSCppFrontend/src/front/front_interface.cpp index e7b08c798..dd6329ff7 100644 --- a/demos/TTSCppFrontend/src/front/front_interface.cpp +++ b/demos/TTSCppFrontend/src/front/front_interface.cpp @@ -115,27 +115,27 @@ int FrontEngineInterface::init() { // 生成词典(词到音素的映射) if (0 != GenDict(_word2phone_path, &word_phone_map)) { - LOG(ERROR) << "Genarate word2phone dict failed"; + LOG(ERROR) << "Generate word2phone dict failed"; return -1; } // 生成音素字典(音素到音素id的映射) if (0 != GenDict(_phone2id_path, &phone_id_map)) { - LOG(ERROR) << "Genarate phone2id dict failed"; + LOG(ERROR) << "Generate phone2id dict failed"; return -1; } // 生成音调字典(音调到音调id的映射) if (_separate_tone == "true") { if (0 != GenDict(_tone2id_path, &tone_id_map)) { - LOG(ERROR) << "Genarate tone2id dict failed"; + LOG(ERROR) << "Generate tone2id dict failed"; return -1; } } // 生成繁简字典(繁体到简体id的映射) if (0 != GenDict(_trand2simp_path, &trand_simp_map)) { - LOG(ERROR) << "Genarate trand2simp dict failed"; + LOG(ERROR) << "Generate trand2simp dict failed"; return -1; } @@ -263,7 +263,7 @@ int FrontEngineInterface::GetWordsIds( if (0 != GetInitialsFinals(word, &word_initials, &word_finals)) { LOG(ERROR) - << "Genarate the word_initials and word_finals of " + << "Generate the word_initials and word_finals of " << word << " failed"; return -1; } @@ -304,7 +304,7 @@ int FrontEngineInterface::GetWordsIds( // 音素到音素id if (0 != Phone2Phoneid(phone, phoneids, toneids)) { - LOG(ERROR) << "Genarate the phone id of " << word << " failed"; + LOG(ERROR) << "Generate the phone id of " << word << " failed"; return -1; } } @@ -916,11 +916,11 @@ int FrontEngineInterface::NeuralSandhi(const std::string &word, if (find(must_neural_tone_words.begin(), must_neural_tone_words.end(), word) != must_neural_tone_words.end() || - (word_num >= 2 && - find(must_neural_tone_words.begin(), - must_neural_tone_words.end(), - ppspeech::wstring2utf8string(word_wstr.substr( - word_num - 2))) != must_neural_tone_words.end())) { + (word_num >= 2 && find(must_neural_tone_words.begin(), + must_neural_tone_words.end(), + ppspeech::wstring2utf8string( + word_wstr.substr(word_num - 2))) != + must_neural_tone_words.end())) { (*finals).back() = (*finals).back().replace((*finals).back().length() - 1, 1, "5"); } diff --git a/demos/audio_content_search/README.md b/demos/audio_content_search/README.md index f04ac447e..d090fdf1e 100644 --- a/demos/audio_content_search/README.md +++ b/demos/audio_content_search/README.md @@ -14,7 +14,7 @@ Now, the search word in demo is: ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from meduim and hard to install paddlespeech. +You can choose one way from medium and hard to install paddlespeech. The dependency refers to the requirements.txt, and install the dependency as follows: @@ -27,7 +27,7 @@ The input of this demo should be a WAV file(`.wav`), and the sample rate must be Here are sample files for this demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav ``` ### 3. run paddlespeech_server diff --git a/demos/audio_content_search/README_cn.md b/demos/audio_content_search/README_cn.md index 16c1a3dd7..a3f20c7e1 100644 --- a/demos/audio_content_search/README_cn.md +++ b/demos/audio_content_search/README_cn.md @@ -27,7 +27,7 @@ pip install -r requirements.txt 可以下载此 demo 的示例音频: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav ``` ### 3. 启动 server diff --git a/demos/audio_searching/README.md b/demos/audio_searching/README.md index 0fc901432..d3852ace3 100644 --- a/demos/audio_searching/README.md +++ b/demos/audio_searching/README.md @@ -19,7 +19,7 @@ Note:this demo uses the [CN-Celeb](http://openslr.org/82/) dataset of at least ### 1. Prepare PaddleSpeech Audio vector extraction requires PaddleSpeech training model, so please make sure that PaddleSpeech has been installed before running. Specific installation steps: See [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare MySQL and Milvus services by docker-compose The audio similarity search system requires Milvus, MySQL services. We can start these containers with one click through [docker-compose.yaml](./docker-compose.yaml), so please make sure you have [installed Docker Engine](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/) before running. then @@ -128,7 +128,7 @@ Then to start the system server, and it provides HTTP backend services. Output: ```bash - Downloading https://paddlespeech.bj.bcebos.com/vector/audio/example_audio.tar.gz ... + Downloading https://paddlespeech.cdn.bcebos.com/vector/audio/example_audio.tar.gz ... ... Unpacking ./example_audio.tar.gz ... [2022-03-26 22:50:54,987] [ INFO] - checking the aduio file format...... @@ -136,7 +136,7 @@ Then to start the system server, and it provides HTTP backend services. [2022-03-26 22:50:54,987] [ INFO] - The audio file format is right [2022-03-26 22:50:54,988] [ INFO] - device type: cpu [2022-03-26 22:50:54,988] [ INFO] - load the pretrained model: ecapatdnn_voxceleb12-16k - [2022-03-26 22:50:54,990] [ INFO] - Downloading sv0_ecapa_tdnn_voxceleb12_ckpt_0_1_0.tar.gz from https://paddlespeech.bj.bcebos.com/vector/voxceleb/sv0_ecapa_tdnn_voxceleb12_ckpt_0_1_0.tar.gz + [2022-03-26 22:50:54,990] [ INFO] - Downloading sv0_ecapa_tdnn_voxceleb12_ckpt_0_1_0.tar.gz from https://paddlespeech.cdn.bcebos.com/vector/voxceleb/sv0_ecapa_tdnn_voxceleb12_ckpt_0_1_0.tar.gz ... [2022-03-26 22:51:17,285] [ INFO] - start to dynamic import the model class [2022-03-26 22:51:17,285] [ INFO] - model name ecapatdnn @@ -217,7 +217,7 @@ Then to start the system server, and it provides HTTP backend services. - memory:132G dataset: -- CN-Celeb, train size 650,000, test size 10,000, dimention 192, distance L2 +- CN-Celeb, train size 650,000, test size 10,000, dimension 192, distance L2 recall and elapsed time statistics are shown in the following figure: @@ -226,7 +226,7 @@ recall and elapsed time statistics are shown in the following figure: The retrieval framework based on Milvus takes about 2.9 milliseconds to retrieve on the premise of 90% recall rate, and it takes about 500 milliseconds for feature extraction (testing audio takes about 5 seconds), that is, a single audio test takes about 503 milliseconds in total, which can meet most application scenarios. -* compute embeding takes 500 ms +* compute embedding takes 500 ms * retrieval with cosine takes 2.9 ms * total takes 503 ms diff --git a/demos/audio_searching/README_cn.md b/demos/audio_searching/README_cn.md index 6d38b91f5..30ec2a97e 100644 --- a/demos/audio_searching/README_cn.md +++ b/demos/audio_searching/README_cn.md @@ -130,7 +130,7 @@ ffce340b3790 minio/minio:RELEASE.2020-12-03T00-03-10Z "/usr/bin/docker-ent…" 输出: ```bash - Downloading https://paddlespeech.bj.bcebos.com/vector/audio/example_audio.tar.gz ... + Downloading https://paddlespeech.cdn.bcebos.com/vector/audio/example_audio.tar.gz ... ... Unpacking ./example_audio.tar.gz ... [2022-03-26 22:50:54,987] [ INFO] - checking the aduio file format...... @@ -138,7 +138,7 @@ ffce340b3790 minio/minio:RELEASE.2020-12-03T00-03-10Z "/usr/bin/docker-ent…" [2022-03-26 22:50:54,987] [ INFO] - The audio file format is right [2022-03-26 22:50:54,988] [ INFO] - device type: cpu [2022-03-26 22:50:54,988] [ INFO] - load the pretrained model: ecapatdnn_voxceleb12-16k - [2022-03-26 22:50:54,990] [ INFO] - Downloading sv0_ecapa_tdnn_voxceleb12_ckpt_0_1_0.tar.gz from https://paddlespeech.bj.bcebos.com/vector/voxceleb/sv0_ecapa_tdnn_voxceleb12_ckpt_0_1_0.tar.gz + [2022-03-26 22:50:54,990] [ INFO] - Downloading sv0_ecapa_tdnn_voxceleb12_ckpt_0_1_0.tar.gz from https://paddlespeech.cdn.bcebos.com/vector/voxceleb/sv0_ecapa_tdnn_voxceleb12_ckpt_0_1_0.tar.gz ... [2022-03-26 22:51:17,285] [ INFO] - start to dynamic import the model class [2022-03-26 22:51:17,285] [ INFO] - model name ecapatdnn diff --git a/demos/audio_searching/requirements.txt b/demos/audio_searching/requirements.txt index 3c0f05afc..e6391694c 100644 --- a/demos/audio_searching/requirements.txt +++ b/demos/audio_searching/requirements.txt @@ -1,5 +1,4 @@ diskcache -dtaidistane fastapi librosa==0.8.0 numpy==1.22.0 diff --git a/demos/audio_searching/src/milvus_helpers.py b/demos/audio_searching/src/milvus_helpers.py index 1699e892e..801284ffd 100644 --- a/demos/audio_searching/src/milvus_helpers.py +++ b/demos/audio_searching/src/milvus_helpers.py @@ -77,13 +77,13 @@ class MilvusHelper: field1 = FieldSchema( name="id", dtype=DataType.INT64, - descrition="int64", + description="int64", is_primary=True, auto_id=True) field2 = FieldSchema( name="embedding", dtype=DataType.FLOAT_VECTOR, - descrition="speaker embeddings", + description="speaker embeddings", dim=VECTOR_DIMENSION, is_primary=False) schema = CollectionSchema( diff --git a/demos/audio_searching/src/test_audio_search.py b/demos/audio_searching/src/test_audio_search.py index f9ea2929e..5136c0192 100644 --- a/demos/audio_searching/src/test_audio_search.py +++ b/demos/audio_searching/src/test_audio_search.py @@ -24,7 +24,7 @@ def download_audio_data(): """ Download audio data """ - url = "https://paddlespeech.bj.bcebos.com/vector/audio/example_audio.tar.gz" + url = "https://paddlespeech.cdn.bcebos.com/vector/audio/example_audio.tar.gz" md5sum = "52ac69316c1aa1fdef84da7dd2c67b39" target_dir = "./" filepath = download(url, md5sum, target_dir) diff --git a/demos/audio_searching/src/test_vpr_search.py b/demos/audio_searching/src/test_vpr_search.py index cc795564e..67442c9d5 100644 --- a/demos/audio_searching/src/test_vpr_search.py +++ b/demos/audio_searching/src/test_vpr_search.py @@ -24,7 +24,7 @@ def download_audio_data(): """ Download audio data """ - url = "https://paddlespeech.bj.bcebos.com/vector/audio/example_audio.tar.gz" + url = "https://paddlespeech.cdn.bcebos.com/vector/audio/example_audio.tar.gz" md5sum = "52ac69316c1aa1fdef84da7dd2c67b39" target_dir = "./" filepath = download(url, md5sum, target_dir) diff --git a/demos/audio_tagging/README.md b/demos/audio_tagging/README.md index fc4a334ea..89f4a944d 100644 --- a/demos/audio_tagging/README.md +++ b/demos/audio_tagging/README.md @@ -11,14 +11,14 @@ This demo is an implementation to tag an audio file with 527 [AudioSet](https:// ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare Input File The input of this demo should be a WAV file(`.wav`). Here are sample files for this demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/cat.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/dog.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/cat.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/dog.wav ``` ### 3. Usage diff --git a/demos/audio_tagging/README_cn.md b/demos/audio_tagging/README_cn.md index 36b5d8aaf..1a46abd62 100644 --- a/demos/audio_tagging/README_cn.md +++ b/demos/audio_tagging/README_cn.md @@ -18,7 +18,7 @@ 可以下载此 demo 的示例音频: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/cat.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/dog.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/cat.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/dog.wav ``` ### 3. 使用方法 diff --git a/demos/audio_tagging/run.sh b/demos/audio_tagging/run.sh index b30eba35f..3841af10c 100755 --- a/demos/audio_tagging/run.sh +++ b/demos/audio_tagging/run.sh @@ -1,4 +1,4 @@ #!/bin/bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/cat.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/dog.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/cat.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/dog.wav paddlespeech cls --input ./cat.wav --topk 10 diff --git a/demos/automatic_video_subtitiles/README.md b/demos/automatic_video_subtitiles/README.md index b815425ec..0649f77f9 100644 --- a/demos/automatic_video_subtitiles/README.md +++ b/demos/automatic_video_subtitiles/README.md @@ -10,12 +10,12 @@ This demo is an implementation to automatic video subtitles from a video file. I ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare Input Get a video file with the speech of the specific language: ```bash -wget -c https://paddlespeech.bj.bcebos.com/demos/asr_demos/subtitle_demo1.mp4 +wget -c https://paddlespeech.cdn.bcebos.com/demos/asr_demos/subtitle_demo1.mp4 ``` Extract `.wav` with one channel and 16000 sample rate from the video: diff --git a/demos/automatic_video_subtitiles/README_cn.md b/demos/automatic_video_subtitiles/README_cn.md index 990ff6dbd..7a44ff107 100644 --- a/demos/automatic_video_subtitiles/README_cn.md +++ b/demos/automatic_video_subtitiles/README_cn.md @@ -13,7 +13,7 @@ ### 2. 准备输入 获取包含特定语言语音的视频文件: ```bash -wget -c https://paddlespeech.bj.bcebos.com/demos/asr_demos/subtitle_demo1.mp4 +wget -c https://paddlespeech.cdn.bcebos.com/demos/asr_demos/subtitle_demo1.mp4 ``` 从视频文件中提取单通道的 16kHz 采样率的 `.wav` 文件: ```bash diff --git a/demos/automatic_video_subtitiles/run.sh b/demos/automatic_video_subtitiles/run.sh index 9b9fd2ccc..943109099 100755 --- a/demos/automatic_video_subtitiles/run.sh +++ b/demos/automatic_video_subtitiles/run.sh @@ -1,6 +1,6 @@ #!/bin/bash -video_url=https://paddlespeech.bj.bcebos.com/demos/asr_demos/subtitle_demo1.mp4 +video_url=https://paddlespeech.cdn.bcebos.com/demos/asr_demos/subtitle_demo1.mp4 video_file=$(basename ${video_url}) audio_file=$(echo ${video_file} | awk -F'.' '{print $1}').wav num_channels=1 diff --git a/demos/custom_streaming_asr/websocket_server.sh b/demos/custom_streaming_asr/websocket_server.sh index 041c345be..a7ee39636 100755 --- a/demos/custom_streaming_asr/websocket_server.sh +++ b/demos/custom_streaming_asr/websocket_server.sh @@ -14,7 +14,7 @@ cmvn=./data/cmvn.ark #paddle_asr_online/resource.tar.gz if [ ! -f $cmvn ]; then - wget -c https://paddlespeech.bj.bcebos.com/s2t/paddle_asr_online/resource.tar.gz + wget -c https://paddlespeech.cdn.bcebos.com/s2t/paddle_asr_online/resource.tar.gz tar xzfv resource.tar.gz ln -s ./resource/data . fi diff --git a/demos/keyword_spotting/README.md b/demos/keyword_spotting/README.md index 6544cf71e..02291ff11 100644 --- a/demos/keyword_spotting/README.md +++ b/demos/keyword_spotting/README.md @@ -10,14 +10,14 @@ This demo is an implementation to recognize keyword from a specific audio file. ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare Input File The input of this demo should be a WAV file(`.wav`), and the sample rate must be the same as the model. Here are sample files for this demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/kws/hey_snips.wav https://paddlespeech.bj.bcebos.com/kws/non-keyword.wav +wget -c https://paddlespeech.cdn.bcebos.com/kws/hey_snips.wav https://paddlespeech.cdn.bcebos.com/kws/non-keyword.wav ``` ### 3. Usage diff --git a/demos/keyword_spotting/README_cn.md b/demos/keyword_spotting/README_cn.md index 0d8f44a53..b35d22f25 100644 --- a/demos/keyword_spotting/README_cn.md +++ b/demos/keyword_spotting/README_cn.md @@ -16,7 +16,7 @@ 可以下载此 demo 的示例音频: ```bash -wget -c https://paddlespeech.bj.bcebos.com/kws/hey_snips.wav https://paddlespeech.bj.bcebos.com/kws/non-keyword.wav +wget -c https://paddlespeech.cdn.bcebos.com/kws/hey_snips.wav https://paddlespeech.cdn.bcebos.com/kws/non-keyword.wav ``` ### 3. 使用方法 - 命令行 (推荐使用) diff --git a/demos/keyword_spotting/run.sh b/demos/keyword_spotting/run.sh index 7f9e0ebba..dec3cb9e5 100755 --- a/demos/keyword_spotting/run.sh +++ b/demos/keyword_spotting/run.sh @@ -1,6 +1,6 @@ #!/bin/bash -wget -c https://paddlespeech.bj.bcebos.com/kws/hey_snips.wav https://paddlespeech.bj.bcebos.com/kws/non-keyword.wav +wget -c https://paddlespeech.cdn.bcebos.com/kws/hey_snips.wav https://paddlespeech.cdn.bcebos.com/kws/non-keyword.wav # kws paddlespeech kws --input ./hey_snips.wav diff --git a/demos/metaverse/run.sh b/demos/metaverse/run.sh index 551f0b4e5..02cca15f8 100755 --- a/demos/metaverse/run.sh +++ b/demos/metaverse/run.sh @@ -25,12 +25,12 @@ fi if [ ${stage} -le 2 ] && [ ${stop_stage} -ge 2 ]; then # download pretrained tts models and unzip - wget -P download https://paddlespeech.bj.bcebos.com/Parakeet/released_models/pwgan/pwg_baker_ckpt_0.4.zip + wget -P download https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/pwgan/pwg_baker_ckpt_0.4.zip unzip -d download download/pwg_baker_ckpt_0.4.zip - wget -P download https://paddlespeech.bj.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_nosil_baker_ckpt_0.4.zip + wget -P download https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_nosil_baker_ckpt_0.4.zip unzip -d download download/fastspeech2_nosil_baker_ckpt_0.4.zip # donload sources - wget -P download https://paddlespeech.bj.bcebos.com/demos/metaverse/Lamarr.png + wget -P download https://paddlespeech.cdn.bcebos.com/demos/metaverse/Lamarr.png fi diff --git a/demos/punctuation_restoration/README.md b/demos/punctuation_restoration/README.md index 458ab92f9..3544a2060 100644 --- a/demos/punctuation_restoration/README.md +++ b/demos/punctuation_restoration/README.md @@ -9,7 +9,7 @@ This demo is an implementation to restore punctuation from raw text. It can be d ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare Input The input of this demo should be a text of the specific language that can be passed via argument. diff --git a/demos/speaker_verification/README.md b/demos/speaker_verification/README.md index 55f9a7360..c3055f3d4 100644 --- a/demos/speaker_verification/README.md +++ b/demos/speaker_verification/README.md @@ -11,15 +11,15 @@ This demo is an implementation to extract speaker embedding from a specific audi ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare Input File The input of this cli demo should be a WAV file(`.wav`), and the sample rate must be the same as the model. Here are sample files for this demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/85236145389.wav -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/123456789.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/85236145389.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/123456789.wav ``` ### 3. Usage diff --git a/demos/speaker_verification/README_cn.md b/demos/speaker_verification/README_cn.md index 85224699c..71cb54c02 100644 --- a/demos/speaker_verification/README_cn.md +++ b/demos/speaker_verification/README_cn.md @@ -18,8 +18,8 @@ 可以下载此 demo 的示例音频: ```bash # 该音频的内容是数字串 85236145389 -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/85236145389.wav -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/123456789.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/85236145389.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/123456789.wav ``` ### 3. 使用方法 - 命令行 (推荐使用) diff --git a/demos/speaker_verification/run.sh b/demos/speaker_verification/run.sh index 6140f7f38..c7c589e82 100755 --- a/demos/speaker_verification/run.sh +++ b/demos/speaker_verification/run.sh @@ -1,7 +1,7 @@ #!/bin/bash -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/85236145389.wav -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/123456789.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/85236145389.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/123456789.wav # vector paddlespeech vector --task spk --input ./85236145389.wav diff --git a/demos/speech_recognition/README.md b/demos/speech_recognition/README.md index ee2acd6fd..cd8d69c7e 100644 --- a/demos/speech_recognition/README.md +++ b/demos/speech_recognition/README.md @@ -10,14 +10,14 @@ This demo is an implementation to recognize text from a specific audio file. It ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare Input File The input of this demo should be a WAV file(`.wav`), and the sample rate must be the same as the model. Here are sample files for this demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/ch_zh_mix.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/ch_zh_mix.wav ``` ### 3. Usage diff --git a/demos/speech_recognition/README_cn.md b/demos/speech_recognition/README_cn.md index 62dce3bc9..496f91ca2 100644 --- a/demos/speech_recognition/README_cn.md +++ b/demos/speech_recognition/README_cn.md @@ -17,7 +17,7 @@ 可以下载此 demo 的示例音频: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/ch_zh_mix.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/ch_zh_mix.wav ``` ### 3. 使用方法 - 命令行 (推荐使用) diff --git a/demos/speech_recognition/run.sh b/demos/speech_recognition/run.sh index 8ba6e4c3e..20fdb7aaf 100755 --- a/demos/speech_recognition/run.sh +++ b/demos/speech_recognition/run.sh @@ -1,8 +1,8 @@ #!/bin/bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/ch_zh_mix.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/ch_zh_mix.wav # asr paddlespeech asr --input ./zh.wav diff --git a/demos/speech_server/README.md b/demos/speech_server/README.md index 116f1fd7b..b44ec73fd 100644 --- a/demos/speech_server/README.md +++ b/demos/speech_server/README.md @@ -15,7 +15,7 @@ see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/doc It is recommended to use **paddlepaddle 2.4rc** or above. -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. **If you install in easy mode, you need to prepare the yaml file by yourself, you can refer to the yaml file in the conf directory.** @@ -42,7 +42,7 @@ Currently the engine type supports two forms: python and inference (Paddle Infer paddlespeech_server start --help ``` Arguments: - - `config_file`: yaml file of the app, defalut: ./conf/application.yaml + - `config_file`: yaml file of the app, default: ./conf/application.yaml - `log_file`: log file. Default: ./log/paddlespeech.log Output: @@ -85,9 +85,9 @@ The input of ASR client demo should be a WAV file(`.wav`), and the sample rate Here are sample files for this ASR client demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/ch_zh_mix.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/ch_zh_mix.wav ``` **Note:** The response time will be slightly longer when using the client for the first time @@ -204,7 +204,7 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/ch_zh_mix.wav Here are sample files for this CLS Client demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav ``` **Note:** The response time will be slightly longer when using the client for the first time @@ -257,8 +257,8 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav Here are sample files for this Speaker Verification Client demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/85236145389.wav -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/123456789.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/85236145389.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/123456789.wav ``` #### 7.1 Extract speaker embedding diff --git a/demos/speech_server/README_cn.md b/demos/speech_server/README_cn.md index f2cb349e3..f724e9770 100644 --- a/demos/speech_server/README_cn.md +++ b/demos/speech_server/README_cn.md @@ -89,9 +89,9 @@ ASR 客户端的输入是一个 WAV 文件(`.wav`),并且采样率必须 可以下载 ASR 客户端的示例音频: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/ch_zh_mix.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/ch_zh_mix.wav ``` **注意:** 初次使用客户端时响应时间会略长 @@ -211,7 +211,7 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/ch_zh_mix.wav 可以下载 CLS 客户端的示例音频: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav ``` **注意:** 初次使用客户端时响应时间会略长 @@ -264,8 +264,8 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav 可以下载声纹客户端的示例音频: ```bash -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/85236145389.wav -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/123456789.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/85236145389.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/123456789.wav ``` #### 7.1 提取声纹特征 diff --git a/demos/speech_server/asr_client.sh b/demos/speech_server/asr_client.sh index 37a7ab0b0..47ae1baba 100755 --- a/demos/speech_server/asr_client.sh +++ b/demos/speech_server/asr_client.sh @@ -1,6 +1,6 @@ #!/bin/bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav # If `127.0.0.1` is not accessible, you need to use the actual service IP address. paddlespeech_client asr --server_ip 127.0.0.1 --port 8090 --input ./zh.wav diff --git a/demos/speech_server/cls_client.sh b/demos/speech_server/cls_client.sh index 67012648c..6a9e414f5 100755 --- a/demos/speech_server/cls_client.sh +++ b/demos/speech_server/cls_client.sh @@ -1,6 +1,6 @@ #!/bin/bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav # If `127.0.0.1` is not accessible, you need to use the actual service IP address. paddlespeech_client cls --server_ip 127.0.0.1 --port 8090 --input ./zh.wav --topk 1 diff --git a/demos/speech_server/sid_client.sh b/demos/speech_server/sid_client.sh index 99bab21ae..c9b75f4e0 100755 --- a/demos/speech_server/sid_client.sh +++ b/demos/speech_server/sid_client.sh @@ -1,7 +1,7 @@ #!/bin/bash -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/85236145389.wav -wget -c https://paddlespeech.bj.bcebos.com/vector/audio/123456789.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/85236145389.wav +wget -c https://paddlespeech.cdn.bcebos.com/vector/audio/123456789.wav # sid extract paddlespeech_client vector --server_ip 127.0.0.1 --port 8090 --task spk --input ./85236145389.wav diff --git a/demos/speech_ssl/README.md b/demos/speech_ssl/README.md index ef9b2237d..42449147f 100644 --- a/demos/speech_ssl/README.md +++ b/demos/speech_ssl/README.md @@ -10,14 +10,14 @@ This demo is an implementation to recognize text or produce the acoustic represe ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare Input File The input of this demo should be a WAV file(`.wav`), and the sample rate must be the same as the model. Here are sample files for this demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav ``` ### 3. Usage diff --git a/demos/speech_ssl/README_cn.md b/demos/speech_ssl/README_cn.md index 5b209419a..42ffd634d 100644 --- a/demos/speech_ssl/README_cn.md +++ b/demos/speech_ssl/README_cn.md @@ -17,7 +17,7 @@ 可以下载此 demo 的示例音频: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav ``` ### 3. 使用方法 - 命令行 (推荐使用) diff --git a/demos/speech_ssl/run.sh b/demos/speech_ssl/run.sh index ca94bc5cc..9940207f8 100644 --- a/demos/speech_ssl/run.sh +++ b/demos/speech_ssl/run.sh @@ -1,7 +1,7 @@ #!/bin/bash # audio download -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav # to recognize text paddlespeech ssl --task asr --lang en --input ./en.wav diff --git a/demos/speech_translation/README.md b/demos/speech_translation/README.md index 00a9c7932..df75cd353 100644 --- a/demos/speech_translation/README.md +++ b/demos/speech_translation/README.md @@ -9,7 +9,7 @@ This demo is an implementation to recognize text from a specific audio file and ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare Input File @@ -17,7 +17,7 @@ The input of this demo should be a WAV file(`.wav`). Here are sample files for this demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav ``` ### 3. Usage (not support for Windows now) diff --git a/demos/speech_translation/README_cn.md b/demos/speech_translation/README_cn.md index 5119bf9f4..617340f5e 100644 --- a/demos/speech_translation/README_cn.md +++ b/demos/speech_translation/README_cn.md @@ -17,7 +17,7 @@ 这里给出一些样例文件供 Demo 使用: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav ``` ### 3. 使用方法 (暂不支持Windows) diff --git a/demos/speech_translation/run.sh b/demos/speech_translation/run.sh index 6619bd91f..6f316b355 100755 --- a/demos/speech_translation/run.sh +++ b/demos/speech_translation/run.sh @@ -1,4 +1,4 @@ #!/bin/bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav paddlespeech st --input ./en.wav diff --git a/demos/speech_web/README.md b/demos/speech_web/README.md index fc1fe7105..507d82186 100644 --- a/demos/speech_web/README.md +++ b/demos/speech_web/README.md @@ -100,43 +100,43 @@ cd speech_server mkdir -p source/model cd source # 下载 & 解压 wav (包含VC测试音频) -wget https://paddlespeech.bj.bcebos.com/demos/speech_web/wav_vc.zip +wget https://paddlespeech.cdn.bcebos.com/demos/speech_web/wav_vc.zip unzip wav_vc.zip cd model # 下载 GE2E 相关模型 wget https://bj.bcebos.com/paddlespeech/Parakeet/released_models/ge2e/ge2e_ckpt_0.3.zip unzip ge2e_ckpt_0.3.zip -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/pwgan/pwg_aishell3_ckpt_0.5.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/pwgan/pwg_aishell3_ckpt_0.5.zip unzip pwg_aishell3_ckpt_0.5.zip -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_nosil_aishell3_vc1_ckpt_0.5.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_nosil_aishell3_vc1_ckpt_0.5.zip unzip fastspeech2_nosil_aishell3_vc1_ckpt_0.5.zip # 下载 ECAPA-TDNN 相关模型 -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_aishell3_ckpt_vc2_1.2.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_aishell3_ckpt_vc2_1.2.0.zip unzip fastspeech2_aishell3_ckpt_vc2_1.2.0.zip # 下载 ERNIE-SAT 相关模型 # aishell3 ERNIE-SAT -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/ernie_sat/erniesat_aishell3_ckpt_1.2.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/ernie_sat/erniesat_aishell3_ckpt_1.2.0.zip unzip erniesat_aishell3_ckpt_1.2.0.zip # vctk ERNIE-SAT -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/ernie_sat/erniesat_vctk_ckpt_1.2.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/ernie_sat/erniesat_vctk_ckpt_1.2.0.zip unzip erniesat_vctk_ckpt_1.2.0.zip # aishell3_vctk ERNIE-SAT -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/ernie_sat/erniesat_aishell3_vctk_ckpt_1.2.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/ernie_sat/erniesat_aishell3_vctk_ckpt_1.2.0.zip unzip erniesat_aishell3_vctk_ckpt_1.2.0.zip # 下载 finetune 相关模型 -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_aishell3_ckpt_1.1.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_aishell3_ckpt_1.1.0.zip unzip fastspeech2_aishell3_ckpt_1.1.0.zip # 下载声码器 -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/hifigan/hifigan_aishell3_ckpt_0.2.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/hifigan/hifigan_aishell3_ckpt_0.2.0.zip unzip hifigan_aishell3_ckpt_0.2.0.zip -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/hifigan/hifigan_vctk_ckpt_0.2.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/hifigan/hifigan_vctk_ckpt_0.2.0.zip unzip hifigan_vctk_ckpt_0.2.0.zip cd ../../../ diff --git a/demos/speech_web/speech_server/main.py b/demos/speech_web/speech_server/main.py index f4678628f..1e4d5ed3d 100644 --- a/demos/speech_web/speech_server/main.py +++ b/demos/speech_web/speech_server/main.py @@ -225,7 +225,7 @@ async def websocket_endpoint_online(websocket: WebSocket): websocket (WebSocket): the websocket instance """ - #1. the interface wait to accept the websocket protocal header + #1. the interface wait to accept the websocket protocol header # and only we receive the header, it establish the connection with specific thread await websocket.accept() @@ -238,7 +238,7 @@ async def websocket_endpoint_online(websocket: WebSocket): connection_handler = None try: - #4. we do a loop to process the audio package by package according the protocal + #4. we do a loop to process the audio package by package according the protocol # and only if the client send finished signal, we will break the loop while True: # careful here, changed the source code from starlette.websockets diff --git a/demos/speech_web/web_client/package-lock.json b/demos/speech_web/web_client/package-lock.json index 509be385c..5b303286a 100644 --- a/demos/speech_web/web_client/package-lock.json +++ b/demos/speech_web/web_client/package-lock.json @@ -8,8 +8,9 @@ "name": "paddlespeechwebclient", "version": "0.0.0", "dependencies": { + "@element-plus/icons-vue": "^2.0.9", "ant-design-vue": "^2.2.8", - "axios": "^0.26.1", + "axios": "^1.8.2", "element-plus": "^2.1.9", "js-audio-recorder": "0.5.7", "lamejs": "^1.2.1", @@ -18,7 +19,8 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^2.3.0", - "vite": "^2.9.0" + "@vue/compiler-sfc": "^3.1.0", + "vite": "^2.9.13" } }, "node_modules/@ant-design/colors": { @@ -59,11 +61,12 @@ } }, "node_modules/@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", + "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", + "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" @@ -79,9 +82,9 @@ } }, "node_modules/@element-plus/icons-vue": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz", - "integrity": "sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", "license": "MIT", "peerDependencies": { "vue": "^3.2.0" @@ -364,33 +367,46 @@ "integrity": "sha512-Pj2IR7u8hmUEDOwB++su6baaRi+QvsgajuFB9j95foM1N2gy5HM4z60hfusIO0fBPG5uLAEl6yCJr1jNSVugEQ==", "license": "MIT" }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, "node_modules/axios": { - "version": "0.26.1", - "resolved": "https://registry.npmmirror.com/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.2.tgz", + "integrity": "sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==", "license": "MIT", "dependencies": { - "follow-redirects": "^1.14.8" + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, - "node_modules/axios/node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, "engines": { - "node": ">=4.0" + "node": ">= 0.4" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "engines": { + "node": ">= 0.8" } }, "node_modules/compute-scroll-into-view": { @@ -424,6 +440,15 @@ "integrity": "sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug==", "license": "MIT" }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/dom-align": { "version": "1.12.3", "resolved": "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.3.tgz", @@ -434,6 +459,20 @@ "resolved": "https://registry.npmmirror.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz", "integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==" }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/element-plus": { "version": "2.1.9", "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.1.9.tgz", @@ -460,6 +499,15 @@ "vue": "^3.2.0" } }, + "node_modules/element-plus/node_modules/@element-plus/icons-vue": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz", + "integrity": "sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/errno": { "version": "0.1.8", "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz", @@ -472,6 +520,51 @@ "errno": "cli.js" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { "version": "0.14.36", "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.36.tgz", @@ -537,6 +630,41 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "license": "MIT" }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", @@ -552,11 +680,62 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true, - "license": "MIT" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/graceful-fs": { "version": "4.2.10", @@ -577,6 +756,45 @@ "node": ">= 0.4.0" } }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -728,6 +946,15 @@ "node": ">=6" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/memoize-one": { "version": "6.0.0", "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", @@ -746,6 +973,27 @@ "node": ">=4" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", @@ -755,9 +1003,15 @@ } }, "node_modules/nanoid": { - "version": "3.3.2", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.2.tgz", - "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.9.tgz", + "integrity": "sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" @@ -830,9 +1084,9 @@ "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "license": "ISC" }, "node_modules/pify": { @@ -845,9 +1099,9 @@ } }, "node_modules/postcss": { - "version": "8.4.12", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.12.tgz", - "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "funding": [ { "type": "opencollective", @@ -856,18 +1110,28 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.1", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", @@ -875,9 +1139,10 @@ "optional": true }, "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" }, "node_modules/resize-observer-polyfill": { "version": "1.5.1", @@ -962,9 +1227,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -1001,16 +1266,16 @@ "license": "ISC" }, "node_modules/vite": { - "version": "2.9.1", - "resolved": "https://registry.npmmirror.com/vite/-/vite-2.9.1.tgz", - "integrity": "sha512-vSlsSdOYGcYEJfkQ/NeLXgnRv5zZfpAsdztkIrs7AZHV8RCMZQkwjo4DS5BnrYTqoWqLoUe1Cah4aVO4oNNqCQ==", + "version": "2.9.18", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.18.tgz", + "integrity": "sha512-sAOqI5wNM9QvSEE70W3UGMdT8cyEn0+PmJMTFvTB8wB0YbYUWw3gUbY62AOyrXosGieF2htmeLATvNxpv/zNyQ==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.14.27", - "postcss": "^8.4.12", + "postcss": "^8.4.13", "resolve": "^1.22.0", - "rollup": "^2.59.0" + "rollup": ">=2.59.0 <2.78.0" }, "bin": { "vite": "bin/vite.js" @@ -1129,11 +1394,11 @@ "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==" }, "@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", + "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", "requires": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.14.0" } }, "@ctrl/tinycolor": { @@ -1142,9 +1407,9 @@ "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==" }, "@element-plus/icons-vue": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz", - "integrity": "sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", "requires": {} }, "@floating-ui/core": { @@ -1356,19 +1621,36 @@ "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.0.7.tgz", "integrity": "sha512-Pj2IR7u8hmUEDOwB++su6baaRi+QvsgajuFB9j95foM1N2gy5HM4z60hfusIO0fBPG5uLAEl6yCJr1jNSVugEQ==" }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "axios": { - "version": "0.26.1", - "resolved": "https://registry.npmmirror.com/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.2.tgz", + "integrity": "sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==", "requires": { - "follow-redirects": "^1.14.8" - }, - "dependencies": { - "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" - } + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" } }, "compute-scroll-into-view": { @@ -1399,6 +1681,11 @@ "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.0.tgz", "integrity": "sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug==" }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, "dom-align": { "version": "1.12.3", "resolved": "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.3.tgz", @@ -1409,6 +1696,16 @@ "resolved": "https://registry.npmmirror.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz", "integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==" }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, "element-plus": { "version": "2.1.9", "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.1.9.tgz", @@ -1429,6 +1726,14 @@ "lodash-unified": "^1.0.2", "memoize-one": "^6.0.0", "normalize-wheel-es": "^1.1.2" + }, + "dependencies": { + "@element-plus/icons-vue": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz", + "integrity": "sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==", + "requires": {} + } } }, "errno": { @@ -1440,6 +1745,35 @@ "prr": "~1.0.1" } }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "requires": { + "es-errors": "^1.3.0" + } + }, + "es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "requires": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + } + }, "esbuild": { "version": "0.14.36", "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.36.tgz", @@ -1485,6 +1819,22 @@ "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, + "follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" + }, + "form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + } + }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", @@ -1493,10 +1843,40 @@ "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + } + }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + } + }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" }, "graceful-fs": { "version": "4.2.10", @@ -1513,6 +1893,27 @@ "function-bind": "^1.1.1" } }, + "has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -1624,6 +2025,11 @@ "semver": "^5.6.0" } }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" + }, "memoize-one": { "version": "6.0.0", "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", @@ -1635,15 +2041,28 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "optional": true }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, "moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" }, "nanoid": { - "version": "3.3.2", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.2.tgz", - "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==" + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.9.tgz", + "integrity": "sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==" }, "nanopop": { "version": "2.1.0", @@ -1700,9 +2119,9 @@ "dev": true }, "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "pify": { "version": "4.0.1", @@ -1711,15 +2130,20 @@ "optional": true }, "postcss": { - "version": "8.4.12", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.12.tgz", - "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "requires": { - "nanoid": "^3.3.1", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", @@ -1727,9 +2151,9 @@ "optional": true }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "resize-observer-polyfill": { "version": "1.5.1", @@ -1793,9 +2217,9 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" }, "sourcemap-codec": { "version": "1.4.8", @@ -1819,16 +2243,16 @@ "integrity": "sha512-IeiWvvEXfW5ltKVMkxq6FvNf2LojMKvB2OCeja6+ct24S1XOmQw2dGr2JyndwACWAGJva9B7yPHwAmeA9QCqAQ==" }, "vite": { - "version": "2.9.1", - "resolved": "https://registry.npmmirror.com/vite/-/vite-2.9.1.tgz", - "integrity": "sha512-vSlsSdOYGcYEJfkQ/NeLXgnRv5zZfpAsdztkIrs7AZHV8RCMZQkwjo4DS5BnrYTqoWqLoUe1Cah4aVO4oNNqCQ==", + "version": "2.9.18", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.18.tgz", + "integrity": "sha512-sAOqI5wNM9QvSEE70W3UGMdT8cyEn0+PmJMTFvTB8wB0YbYUWw3gUbY62AOyrXosGieF2htmeLATvNxpv/zNyQ==", "dev": true, "requires": { "esbuild": "^0.14.27", "fsevents": "~2.3.2", - "postcss": "^8.4.12", + "postcss": "^8.4.13", "resolve": "^1.22.0", - "rollup": "^2.59.0" + "rollup": ">=2.59.0 <2.78.0" } }, "vue": { diff --git a/demos/speech_web/web_client/package.json b/demos/speech_web/web_client/package.json index d8c213e4a..f00afbd25 100644 --- a/demos/speech_web/web_client/package.json +++ b/demos/speech_web/web_client/package.json @@ -10,7 +10,7 @@ "dependencies": { "@element-plus/icons-vue": "^2.0.9", "ant-design-vue": "^2.2.8", - "axios": "^0.26.1", + "axios": "^1.8.2", "element-plus": "^2.1.9", "js-audio-recorder": "0.5.7", "lamejs": "^1.2.1", diff --git a/demos/speech_web/web_client/yarn.lock b/demos/speech_web/web_client/yarn.lock index 7f07daa06..38d5f61b0 100644 --- a/demos/speech_web/web_client/yarn.lock +++ b/demos/speech_web/web_client/yarn.lock @@ -28,11 +28,11 @@ integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg== "@babel/runtime@^7.10.5": - version "7.17.9" - resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.17.9.tgz" - integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== + version "7.26.10" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.10.tgz#a07b4d8fa27af131a633d7b3524db803eb4764c2" + integrity sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw== dependencies: - regenerator-runtime "^0.13.4" + regenerator-runtime "^0.14.0" "@ctrl/tinycolor@^3.4.0": version "3.4.1" @@ -41,13 +41,13 @@ "@element-plus/icons-vue@^1.1.4": version "1.1.4" - resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz" + resolved "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz" integrity sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ== "@element-plus/icons-vue@^2.0.9": - version "2.0.9" - resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.9.tgz#b7777c57534522e387303d194451d50ff549d49a" - integrity sha512-okdrwiVeKBmW41Hkl0eMrXDjzJwhQMuKiBOu17rOszqM+LS/yBYpNQNV5Jvoh06Wc+89fMmb/uhzf8NZuDuUaQ== + version "2.3.1" + resolved "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz" + integrity sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg== "@floating-ui/core@^0.6.1": version "0.6.1" @@ -74,7 +74,7 @@ core-js "^3.15.1" nanopop "^2.1.0" -"@types/lodash-es@^4.17.6": +"@types/lodash-es@*", "@types/lodash-es@^4.17.6": version "4.17.6" resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz" integrity sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg== @@ -109,7 +109,7 @@ "@vue/compiler-core" "3.2.32" "@vue/shared" "3.2.32" -"@vue/compiler-sfc@3.2.32": +"@vue/compiler-sfc@^3.1.0", "@vue/compiler-sfc@>=3.1.0", "@vue/compiler-sfc@3.2.32": version "3.2.32" resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.32.tgz" integrity sha512-uO6+Gh3AVdWm72lRRCjMr8nMOEqc6ezT9lWs5dPzh1E9TNaJkMYPaRtdY9flUv/fyVQotkfjY/ponjfR+trPSg== @@ -239,12 +239,34 @@ async-validator@^4.0.7: resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.0.7.tgz" integrity sha512-Pj2IR7u8hmUEDOwB++su6baaRi+QvsgajuFB9j95foM1N2gy5HM4z60hfusIO0fBPG5uLAEl6yCJr1jNSVugEQ== -axios@^0.26.1: - version "0.26.1" - resolved "https://registry.npmmirror.com/axios/-/axios-0.26.1.tgz" - integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA== +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@^1.8.2: + version "1.8.2" + resolved "https://registry.npmjs.org/axios/-/axios-1.8.2.tgz" + integrity sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg== dependencies: - follow-redirects "^1.14.8" + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" compute-scroll-into-view@^1.0.17: version "1.0.17" @@ -280,6 +302,11 @@ debug@^3.2.6: dependencies: ms "^2.1.1" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + dom-align@^1.12.1: version "1.12.3" resolved "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.3.tgz" @@ -290,6 +317,15 @@ dom-scroll-into-view@^2.0.0: resolved "https://registry.npmmirror.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz" integrity sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w== +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + element-plus@^2.1.9: version "2.1.9" resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.1.9.tgz" @@ -318,106 +354,38 @@ errno@^0.1.1: dependencies: prr "~1.0.1" -esbuild-android-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz#fc5f95ce78c8c3d790fa16bc71bd904f2bb42aa1" - integrity sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw== +es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== -esbuild-android-arm64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz#44356fbb9f8de82a5cdf11849e011dfb3ad0a8a8" - integrity sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg== +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" esbuild-darwin-64@0.14.36: version "0.14.36" resolved "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz" integrity sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ== -esbuild-darwin-arm64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz#2a8040c2e465131e5281034f3c72405e643cb7b2" - integrity sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw== - -esbuild-freebsd-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz#d82c387b4d01fe9e8631f97d41eb54f2dbeb68a3" - integrity sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww== - -esbuild-freebsd-arm64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz#e8ce2e6c697da6c7ecd0cc0ac821d47c5ab68529" - integrity sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA== - -esbuild-linux-32@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz#a4a261e2af91986ea62451f2db712a556cb38a15" - integrity sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw== - -esbuild-linux-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz#4a9500f9197e2c8fcb884a511d2c9d4c2debde72" - integrity sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg== - -esbuild-linux-arm64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz#c91c21e25b315464bd7da867365dd1dae14ca176" - integrity sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw== - -esbuild-linux-arm@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz#90e23bca2e6e549affbbe994f80ba3bb6c4d934a" - integrity sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg== - -esbuild-linux-mips64le@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz#40e11afb08353ff24709fc89e4db0f866bc131d2" - integrity sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA== - -esbuild-linux-ppc64le@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz#9e8a588c513d06cc3859f9dcc52e5fdfce8a1a5e" - integrity sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg== - -esbuild-linux-riscv64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz#e578c09b23b3b97652e60e3692bfda628b541f06" - integrity sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A== - -esbuild-linux-s390x@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz#3c9dab40d0d69932ffded0fd7317bb403626c9bc" - integrity sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg== - -esbuild-netbsd-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz#e27847f6d506218291619b8c1e121ecd97628494" - integrity sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A== - -esbuild-openbsd-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz#c94c04c557fae516872a586eae67423da6d2fabb" - integrity sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg== - -esbuild-sunos-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz#9b79febc0df65a30f1c9bd63047d1675511bf99d" - integrity sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ== - -esbuild-windows-32@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz#910d11936c8d2122ffdd3275e5b28d8a4e1240ec" - integrity sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w== - -esbuild-windows-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz#21b4ce8b42a4efc63f4b58ec617f1302448aad26" - integrity sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ== - -esbuild-windows-arm64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz#ba21546fecb7297667d0052d00150de22c044b24" - integrity sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q== - esbuild@^0.14.27: version "0.14.36" resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.36.tgz" @@ -454,26 +422,77 @@ estree-walker@^2.0.2: resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== -follow-redirects@^1.14.8: - version "1.14.9" - resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.14.9.tgz" - integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== +follow-redirects@^1.15.6: + version "1.15.9" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +form-data@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz" + integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + mime-types "^2.1.12" fsevents@~2.3.2: version "2.3.2" resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.1, function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +get-intrinsic@^1.2.6: + version "1.3.0" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== graceful-fs@^4.1.2: version "4.2.10" resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + has@^1.0.3: version "1.0.3" resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz" @@ -481,6 +500,13 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz" @@ -527,7 +553,7 @@ lamejs@^1.2.1: dependencies: use-strict "1.0.1" -less@^4.1.2: +less@*, less@^4.1.2: version "4.1.2" resolved "https://registry.npmmirror.com/less/-/less-4.1.2.tgz" integrity sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA== @@ -544,7 +570,7 @@ less@^4.1.2: needle "^2.5.2" source-map "~0.6.0" -lodash-es@^4.17.15, lodash-es@^4.17.21: +lodash-es@*, lodash-es@^4.17.15, lodash-es@^4.17.21: version "4.17.21" resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== @@ -554,7 +580,7 @@ lodash-unified@^1.0.2: resolved "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.2.tgz" integrity sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g== -lodash@^4.17.21: +lodash@*, lodash@^4.17.21: version "4.17.21" resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -581,11 +607,28 @@ make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + memoize-one@^6.0.0: version "6.0.0" resolved "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz" integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mime@^1.4.1: version "1.6.0" resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz" @@ -593,7 +636,7 @@ mime@^1.4.1: moment@^2.27.0: version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz" integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== ms@^2.1.1: @@ -601,10 +644,10 @@ ms@^2.1.1: resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@^3.3.1: - version "3.3.2" - resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.2.tgz" - integrity sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA== +nanoid@^3.3.8: + version "3.3.9" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.9.tgz" + integrity sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg== nanopop@^2.1.0: version "2.1.0" @@ -640,34 +683,39 @@ path-parse@^1.0.7: resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== pify@^4.0.1: version "4.0.1" resolved "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -postcss@^8.1.10, postcss@^8.4.12: - version "8.4.12" - resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.12.tgz" - integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== +postcss@^8.1.10, postcss@^8.4.13: + version "8.5.3" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz" + integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== dependencies: - nanoid "^3.3.1" - picocolors "^1.0.0" - source-map-js "^1.0.2" + nanoid "^3.3.8" + picocolors "^1.1.1" + source-map-js "^1.2.1" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== prr@~1.0.1: version "1.0.1" resolved "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz" integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== resize-observer-polyfill@^1.5.1: version "1.5.1" @@ -683,7 +731,7 @@ resolve@^1.22.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -rollup@^2.59.0: +"rollup@>=2.59.0 <2.78.0": version "2.70.1" resolved "https://registry.npmmirror.com/rollup/-/rollup-2.70.1.tgz" integrity sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA== @@ -717,10 +765,10 @@ shallow-equal@^1.0.0: resolved "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz" integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map@^0.6.1, source-map@~0.6.0: version "0.6.1" @@ -747,15 +795,15 @@ use-strict@1.0.1: resolved "https://registry.npmmirror.com/use-strict/-/use-strict-1.0.1.tgz" integrity sha512-IeiWvvEXfW5ltKVMkxq6FvNf2LojMKvB2OCeja6+ct24S1XOmQw2dGr2JyndwACWAGJva9B7yPHwAmeA9QCqAQ== -vite@^2.9.0: - version "2.9.1" - resolved "https://registry.npmmirror.com/vite/-/vite-2.9.1.tgz" - integrity sha512-vSlsSdOYGcYEJfkQ/NeLXgnRv5zZfpAsdztkIrs7AZHV8RCMZQkwjo4DS5BnrYTqoWqLoUe1Cah4aVO4oNNqCQ== +vite@^2.5.10, vite@^2.9.13: + version "2.9.18" + resolved "https://registry.npmjs.org/vite/-/vite-2.9.18.tgz" + integrity sha512-sAOqI5wNM9QvSEE70W3UGMdT8cyEn0+PmJMTFvTB8wB0YbYUWw3gUbY62AOyrXosGieF2htmeLATvNxpv/zNyQ== dependencies: esbuild "^0.14.27" - postcss "^8.4.12" + postcss "^8.4.13" resolve "^1.22.0" - rollup "^2.59.0" + rollup ">=2.59.0 <2.78.0" optionalDependencies: fsevents "~2.3.2" @@ -771,7 +819,7 @@ vue-types@^3.0.0: dependencies: is-plain-object "3.0.1" -vue@^3.2.25: +"vue@^2.6.0 || ^3.2.0", vue@^3.0.0, "vue@^3.0.0-0 || ^2.6.0", vue@^3.2.0, vue@^3.2.25, vue@>=3.0.3, vue@>=3.1.0, vue@3.2.32: version "3.2.32" resolved "https://registry.npmmirror.com/vue/-/vue-3.2.32.tgz" integrity sha512-6L3jKZApF042OgbCkh+HcFeAkiYi3Lovi8wNhWqIK98Pi5efAMLZzRHgi91v+60oIRxdJsGS9sTMsb+yDpY8Eg== diff --git a/demos/story_talker/run.sh b/demos/story_talker/run.sh index 50335e73b..dadfacba3 100755 --- a/demos/story_talker/run.sh +++ b/demos/story_talker/run.sh @@ -19,13 +19,13 @@ fi if [ ${stage} -le 1 ] && [ ${stop_stage} -ge 1 ]; then # download pretrained tts models and unzip - wget -P download https://paddlespeech.bj.bcebos.com/Parakeet/released_models/pwgan/pwg_baker_ckpt_0.4.zip + wget -P download https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/pwgan/pwg_baker_ckpt_0.4.zip unzip -d download download/pwg_baker_ckpt_0.4.zip - wget -P download https://paddlespeech.bj.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_nosil_baker_ckpt_0.4.zip + wget -P download https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_nosil_baker_ckpt_0.4.zip unzip -d download download/fastspeech2_nosil_baker_ckpt_0.4.zip # download sources - wget -P download https://paddlespeech.bj.bcebos.com/demos/story_talker/simfang.ttf - wget -P download/imgs https://paddlespeech.bj.bcebos.com/demos/story_talker/000.jpg + wget -P download https://paddlespeech.cdn.bcebos.com/demos/story_talker/simfang.ttf + wget -P download/imgs https://paddlespeech.cdn.bcebos.com/demos/story_talker/000.jpg fi if [ ${stage} -le 2 ] && [ ${stop_stage} -ge 2 ]; then diff --git a/demos/streaming_asr_server/README.md b/demos/streaming_asr_server/README.md index 136863b96..c4e535972 100644 --- a/demos/streaming_asr_server/README.md +++ b/demos/streaming_asr_server/README.md @@ -18,7 +18,7 @@ see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/doc It is recommended to use **paddlepaddle 2.4rc** or above. -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. **If you install in easy mode, you need to prepare the yaml file by yourself, you can refer to @@ -32,7 +32,7 @@ The input of ASR client demo should be a WAV file(`.wav`), and the sample rate Here are sample files for thisASR client demo that can be downloaded: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav ``` ### 3. Server Usage @@ -51,7 +51,7 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav paddlespeech_server start --help ``` Arguments: - - `config_file`: yaml file of the app, defalut: `./conf/application.yaml` + - `config_file`: yaml file of the app, default: `./conf/application.yaml` - `log_file`: log file. Default: `./log/paddlespeech.log` Output: @@ -307,7 +307,7 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav - Command Line **Note:** The default deployment of the server is on the 'CPU' device, which can be deployed on the 'GPU' by modifying the 'device' parameter in the service configuration file. ```bash - In PaddleSpeech/demos/streaming_asr_server directory to lanuch punctuation service + In PaddleSpeech/demos/streaming_asr_server directory to launch punctuation service paddlespeech_server start --config_file conf/punc_application.yaml ``` @@ -414,7 +414,7 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav By default, each server is deployed on the 'CPU' device and speech recognition and punctuation prediction can be deployed on different 'GPU' by modifying the' device 'parameter in the service configuration file respectively. -We use `streaming_ asr_server.py` and `punc_server.py` two services to lanuch streaming speech recognition and punctuation prediction services respectively. And the `websocket_client.py` script can be used to call streaming speech recognition and punctuation prediction services at the same time. +We use `streaming_ asr_server.py` and `punc_server.py` two services to launch streaming speech recognition and punctuation prediction services respectively. And the `websocket_client.py` script can be used to call streaming speech recognition and punctuation prediction services at the same time. ### 1. Start two server @@ -584,7 +584,7 @@ bash server.sh By default, each server is deployed on the 'CPU' device and speech recognition and punctuation prediction can be deployed on different 'GPU' by modifying the' device 'parameter in the service configuration file respectively. -We use `streaming_ asr_server.py` and `punc_server.py` two services to lanuch streaming speech recognition and punctuation prediction services respectively. And the `websocket_client_srt.py` script can be used to call streaming speech recognition and punctuation prediction services at the same time, and will generate the corresponding subtitle (.srt format). +We use `streaming_ asr_server.py` and `punc_server.py` two services to launch streaming speech recognition and punctuation prediction services respectively. And the `websocket_client_srt.py` script can be used to call streaming speech recognition and punctuation prediction services at the same time, and will generate the corresponding subtitle (.srt format). **need to install ffmpeg before running this script** diff --git a/demos/streaming_asr_server/README_cn.md b/demos/streaming_asr_server/README_cn.md index f5f477ea1..2bb3f83fa 100644 --- a/demos/streaming_asr_server/README_cn.md +++ b/demos/streaming_asr_server/README_cn.md @@ -35,7 +35,7 @@ 可以下载此 ASR client的示例音频: ```bash -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav ``` ### 3. 服务端使用方法 diff --git a/demos/streaming_asr_server/test.sh b/demos/streaming_asr_server/test.sh index 386c7f894..68eb7567f 100755 --- a/demos/streaming_asr_server/test.sh +++ b/demos/streaming_asr_server/test.sh @@ -1,5 +1,5 @@ # download the test wav -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav # read the wav and pass it to only streaming asr service # If `127.0.0.1` is not accessible, you need to use the actual service IP address. diff --git a/demos/streaming_tts_server/README.md b/demos/streaming_tts_server/README.md index ca5d6f1f8..01cd69620 100644 --- a/demos/streaming_tts_server/README.md +++ b/demos/streaming_tts_server/README.md @@ -15,7 +15,7 @@ see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/doc It is recommended to use **paddlepaddle 2.4rc** or above. -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. **If you install in easy mode, you need to prepare the yaml file by yourself, you can refer to the yaml file in the conf directory.** @@ -52,7 +52,7 @@ The configuration file can be found in `conf/tts_online_application.yaml`. paddlespeech_server start --help ``` Arguments: - - `config_file`: yaml file of the app, defalut: ./conf/tts_online_application.yaml + - `config_file`: yaml file of the app, default: ./conf/tts_online_application.yaml - `log_file`: log file. Default: ./log/paddlespeech.log Output: @@ -180,7 +180,7 @@ The configuration file can be found in `conf/tts_online_application.yaml`. paddlespeech_server start --help ``` Arguments: - - `config_file`: yaml file of the app, defalut: ./conf/tts_online_application.yaml + - `config_file`: yaml file of the app, default: ./conf/tts_online_application.yaml - `log_file`: log file. Default: ./log/paddlespeech.log Output: diff --git a/demos/streaming_tts_serving_fastdeploy/README.md b/demos/streaming_tts_serving_fastdeploy/README.md index 3e983a06d..460e257b4 100644 --- a/demos/streaming_tts_serving_fastdeploy/README.md +++ b/demos/streaming_tts_serving_fastdeploy/README.md @@ -31,8 +31,8 @@ export LANGUAGE="zh_CN:zh:en_US:en" #### 1.3 Download models(inside the docker) ```bash cd /models/streaming_tts_serving/1 -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_cnndecoder_csmsc_streaming_onnx_1.0.0.zip -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/mb_melgan/mb_melgan_csmsc_onnx_0.2.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_cnndecoder_csmsc_streaming_onnx_1.0.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/mb_melgan/mb_melgan_csmsc_onnx_0.2.0.zip unzip fastspeech2_cnndecoder_csmsc_streaming_onnx_1.0.0.zip unzip mb_melgan_csmsc_onnx_0.2.0.zip ``` diff --git a/demos/streaming_tts_serving_fastdeploy/README_cn.md b/demos/streaming_tts_serving_fastdeploy/README_cn.md index 7edd32830..5675867b0 100644 --- a/demos/streaming_tts_serving_fastdeploy/README_cn.md +++ b/demos/streaming_tts_serving_fastdeploy/README_cn.md @@ -31,8 +31,8 @@ export LANGUAGE="zh_CN:zh:en_US:en" #### 1.3 下载模型(在docker内) ```bash cd /models/streaming_tts_serving/1 -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_cnndecoder_csmsc_streaming_onnx_1.0.0.zip -wget https://paddlespeech.bj.bcebos.com/Parakeet/released_models/mb_melgan/mb_melgan_csmsc_onnx_0.2.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_cnndecoder_csmsc_streaming_onnx_1.0.0.zip +wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/mb_melgan/mb_melgan_csmsc_onnx_0.2.0.zip unzip fastspeech2_cnndecoder_csmsc_streaming_onnx_1.0.0.zip unzip mb_melgan_csmsc_onnx_0.2.0.zip ``` diff --git a/demos/streaming_tts_serving_fastdeploy/streaming_tts_serving/1/model.py b/demos/streaming_tts_serving_fastdeploy/streaming_tts_serving/1/model.py index 46473fdb2..324cbf978 100644 --- a/demos/streaming_tts_serving_fastdeploy/streaming_tts_serving/1/model.py +++ b/demos/streaming_tts_serving_fastdeploy/streaming_tts_serving/1/model.py @@ -75,7 +75,7 @@ class TritonPythonModel: def initialize(self, args): """`initialize` is called only once when the model is being loaded. Implementing `initialize` function is optional. This function allows - the model to intialize any state associated with this model. + the model to initialize any state associated with this model. Parameters ---------- args : dict diff --git a/demos/style_fs2/run.sh b/demos/style_fs2/run.sh index 45fc0c104..fe86822d0 100755 --- a/demos/style_fs2/run.sh +++ b/demos/style_fs2/run.sh @@ -14,9 +14,9 @@ mkdir -p download if [ ${stage} -le 0 ] && [ ${stop_stage} -ge 0 ]; then # download pretrained tts models and unzip - wget -P download https://paddlespeech.bj.bcebos.com/Parakeet/released_models/pwgan/pwg_baker_ckpt_0.4.zip + wget -P download https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/pwgan/pwg_baker_ckpt_0.4.zip unzip -d download download/pwg_baker_ckpt_0.4.zip - wget -P download https://paddlespeech.bj.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_nosil_baker_ckpt_0.4.zip + wget -P download https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_nosil_baker_ckpt_0.4.zip unzip -d download download/fastspeech2_nosil_baker_ckpt_0.4.zip fi diff --git a/demos/text_to_speech/README.md b/demos/text_to_speech/README.md index d7bb8ca1c..61c20c371 100644 --- a/demos/text_to_speech/README.md +++ b/demos/text_to_speech/README.md @@ -10,7 +10,7 @@ This demo is an implementation to generate audio from the given text. It can be ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). -You can choose one way from easy, meduim and hard to install paddlespeech. +You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare Input The input of this demo should be a text of the specific language that can be passed via argument. @@ -99,7 +99,7 @@ The input of this demo should be a text of the specific language that can be pas Arguments: - `input`(required): Input text to generate.. - `am`: Acoustic model type of tts task. Default: `fastspeech2_csmsc`. - - `am_config`: Config of acoustic model. Use deault config when it is None. Default: `None`. + - `am_config`: Config of acoustic model. Use default config when it is None. Default: `None`. - `am_ckpt`: Acoustic model checkpoint. Use pretrained model when it is None. Default: `None`. - `am_stat`: Mean and standard deviation used to normalize spectrogram when training acoustic model. Default: `None`. - `phones_dict`: Phone vocabulary file. Default: `None`. @@ -107,7 +107,7 @@ The input of this demo should be a text of the specific language that can be pas - `speaker_dict`: speaker id map file. Default: `None`. - `spk_id`: Speaker id for multi speaker acoustic model. Default: `0`. - `voc`: Vocoder type of tts task. Default: `pwgan_csmsc`. - - `voc_config`: Config of vocoder. Use deault config when it is None. Default: `None`. + - `voc_config`: Config of vocoder. Use default config when it is None. Default: `None`. - `voc_ckpt`: Vocoder checkpoint. Use pretrained model when it is None. Default: `None`. - `voc_stat`: Mean and standard deviation used to normalize spectrogram when training vocoder. Default: `None`. - `lang`: Language of tts task. Default: `zh`. diff --git a/demos/whisper/README.md b/demos/whisper/README.md index 9b12554e6..1d8e8c442 100644 --- a/demos/whisper/README.md +++ b/demos/whisper/README.md @@ -9,14 +9,14 @@ Whisper model trained by OpenAI whisper https://github.com/openai/whisper ### 1. Installation see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md). - You can choose one way from easy, meduim and hard to install paddlespeech. + You can choose one way from easy, medium and hard to install paddlespeech. ### 2. Prepare Input File The input of this demo should be a WAV file(`.wav`), and the sample rate must be the same as the model. Here are sample files for this demo that can be downloaded: ```bash - wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav + wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav ``` ### 3. Usage @@ -42,7 +42,7 @@ Whisper model trained by OpenAI whisper https://github.com/openai/whisper - `model`: Model type of asr task. Default: `whisper-large`. - `task`: Output type. Default: `transcribe`. - `lang`: Model language. Default: ``. Use `en` to choice English-only model. Now [medium,base,small,tiny] size can support English-only. - - `size`: Model size for decode. Defalut: `large`. Now can support [large,medium,base,small,tiny]. + - `size`: Model size for decode. Default: `large`. Now can support [large,medium,base,small,tiny]. - `language`: Set decode language. Default: `None`. Forcibly set the recognized language, which is determined by the model itself by default. - `sample_rate`: Sample rate of the model. Default: `16000`. Other sampling rates are not supported now. - `config`: Config of asr task. Use pretrained model when it is None. Default: `None`. diff --git a/demos/whisper/README_cn.md b/demos/whisper/README_cn.md index 6f7c35f04..868a5579c 100644 --- a/demos/whisper/README_cn.md +++ b/demos/whisper/README_cn.md @@ -17,7 +17,7 @@ Whisper模型由OpenAI Whisper训练 https://github.com/openai/whisper 可以下载此 demo 的示例音频: ```bash - wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav + wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav ``` ### 3. 使用方法 diff --git a/demos/whisper/run.sh b/demos/whisper/run.sh index b9595735f..7049192cf 100644 --- a/demos/whisper/run.sh +++ b/demos/whisper/run.sh @@ -1,7 +1,7 @@ #!/bin/bash # audio download -wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav +wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav # to recognize text paddlespeech whisper --task transcribe --input ./zh.wav diff --git a/docker/ubuntu20-cpu/Dockerfile b/docker/ubuntu20-cpu/Dockerfile new file mode 100644 index 000000000..bb113b2f2 --- /dev/null +++ b/docker/ubuntu20-cpu/Dockerfile @@ -0,0 +1,17 @@ +FROM registry.baidubce.com/paddlepaddle/paddle:3.0.0b1 +LABEL maintainer="ext_paddle_oss@baidu.com" + +RUN apt-get update \ + && apt-get install libsndfile-dev libsndfile1 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +RUN git clone --depth 1 https://github.com/PaddlePaddle/PaddleSpeech.git /home/PaddleSpeech +RUN pip3 uninstall mccabe -y ; exit 0; +RUN pip3 install multiprocess==0.70.12 importlib-metadata==4.2.0 dill==0.3.4 + +WORKDIR /home/PaddleSpeech/ +RUN python setup.py bdist_wheel +RUN pip install dist/*.whl -i https://pypi.tuna.tsinghua.edu.cn/simple + +CMD ['bash'] diff --git a/docs/source/cls/custom_dataset.md b/docs/source/cls/custom_dataset.md index 7482d5edf..26bd60b25 100644 --- a/docs/source/cls/custom_dataset.md +++ b/docs/source/cls/custom_dataset.md @@ -2,7 +2,7 @@ Following this tutorial you can customize your dataset for audio classification task by using `paddlespeech`. -A base class of classification dataset is `paddlespeech.audio.dataset.AudioClassificationDataset`. To customize your dataset you should write a dataset class derived from `AudioClassificationDataset`. +A base class of classification dataset is `paddlespeech.audio.datasets.dataset.AudioClassificationDataset`. To customize your dataset you should write a dataset class derived from `AudioClassificationDataset`. Assuming you have some wave files that stored in your own directory. You should prepare a meta file with the information of filepaths and labels. For example the absolute path of it is `/PATH/TO/META_FILE.txt`: ``` @@ -14,7 +14,7 @@ Assuming you have some wave files that stored in your own directory. You should Here is an example to build your custom dataset in `custom_dataset.py`: ```python -from paddleaudio.datasets.dataset import AudioClassificationDataset +from paddlespeech.audio.datasets.dataset import AudioClassificationDataset class CustomDataset(AudioClassificationDataset): meta_file = '/PATH/TO/META_FILE.txt' @@ -48,7 +48,7 @@ class CustomDataset(AudioClassificationDataset): Then you can build dataset and data loader from `CustomDataset`: ```python import paddle -from paddleaudio.features import LogMelSpectrogram +from paddlespeech.audio.transform.spectrogram import LogMelSpectrogram from custom_dataset import CustomDataset diff --git a/docs/source/demo_video.rst b/docs/source/demo_video.rst index dc7e718a6..cd56d4bfc 100644 --- a/docs/source/demo_video.rst +++ b/docs/source/demo_video.rst @@ -5,7 +5,7 @@ Demo Video