From 6c36741da0725161f671df582f0a2237550885e9 Mon Sep 17 00:00:00 2001 From: YangZhou <56786796+SmileGoat@users.noreply.github.com> Date: Tue, 25 Oct 2022 10:15:12 +0800 Subject: [PATCH] update audio datasets && backend (#5363) * update audio datasets && backend * add overview * format * fix function info * rm seed in TESS * rename some api * fix load * fix return * fix codestyle --- docs/api/paddle/audio/Overview_cn.rst | 31 +++++++++++++++++++ .../audio/backends/get_current_backend_cn.rst | 21 +++++++++++++ docs/api/paddle/audio/backends/info_cn.rst | 22 +++++++++++++ .../backends/list_available_backends_cn.rst | 21 +++++++++++++ docs/api/paddle/audio/backends/load_cn.rst | 26 ++++++++++++++++ docs/api/paddle/audio/backends/save_cn.rst | 26 ++++++++++++++++ .../paddle/audio/backends/set_backend_cn.rst | 22 +++++++++++++ docs/api/paddle/audio/datasets/ESC50_cn.rst | 27 ++++++++++++++++ docs/api/paddle/audio/datasets/TESS_cn.rst | 28 +++++++++++++++++ 9 files changed, 224 insertions(+) create mode 100644 docs/api/paddle/audio/backends/get_current_backend_cn.rst create mode 100644 docs/api/paddle/audio/backends/info_cn.rst create mode 100644 docs/api/paddle/audio/backends/list_available_backends_cn.rst create mode 100644 docs/api/paddle/audio/backends/load_cn.rst create mode 100644 docs/api/paddle/audio/backends/save_cn.rst create mode 100644 docs/api/paddle/audio/backends/set_backend_cn.rst create mode 100644 docs/api/paddle/audio/datasets/ESC50_cn.rst create mode 100644 docs/api/paddle/audio/datasets/TESS_cn.rst diff --git a/docs/api/paddle/audio/Overview_cn.rst b/docs/api/paddle/audio/Overview_cn.rst index c88e729e3b4..81e66a650ba 100644 --- a/docs/api/paddle/audio/Overview_cn.rst +++ b/docs/api/paddle/audio/Overview_cn.rst @@ -3,10 +3,13 @@ paddle.audio --------------------- + paddle.audio 目录是飞桨在语音领域的高层 API。具体如下: - :ref:`音频特征相关 API ` - :ref:`音频处理基础函数相关 API ` +- :ref:`音频 I/O 相关 API ` +- :ref:`语音数据集相关 API ` .. _about_features: @@ -39,3 +42,31 @@ paddle.audio 目录是飞桨在语音领域的高层 API。具体如下: " :ref:`mel_frequencies` ", "计算 mel 频率" " :ref:`power_to_db` ", "转换能量谱为分贝" " :ref:`get_window` ", "得到各种窗函数" + +.. _about_backends: + +音频 I/O 相关 API +:::::::::::::::::::: + +.. csv-table:: + :header: "API 名称", "API 功能" + :widths: 10, 30 + + " :ref:`get_current_backend ` ", "获取现在的语音 I/O 后端" + " :ref:`list_available_backends ` ", "获取可设置得语音 I/O 后端" + " :ref:`set_backend ` ", "设置语音 I/O 后端" + " :ref:`load ` ", "载入音频" + " :ref:`info ` ", "查询音频信息" + " :ref:`save ` ", "保存音频" + +.. _about_datasets: + +音频数据集相关 API +:::::::::::::::::::: + +.. csv-table:: + :header: "API 名称", "API 功能" + :widths: 10, 30 + + " :ref:`TESS ` ", "TESS 数据集" + " :ref:`ESC50 ` ", "ESC50 数据集" diff --git a/docs/api/paddle/audio/backends/get_current_backend_cn.rst b/docs/api/paddle/audio/backends/get_current_backend_cn.rst new file mode 100644 index 00000000000..10cb4e7bebc --- /dev/null +++ b/docs/api/paddle/audio/backends/get_current_backend_cn.rst @@ -0,0 +1,21 @@ +.. _cn_api_audio_backends_get_current_backend: + +get_current_backend +------------------------------- + +.. py:function:: paddle.audio.backends.get_current_backend() + +获取现在的处理语音 I/O 的后端名称。 + +参数 +:::::::::::: + +返回 +::::::::: + +``str``,语音 I/O 的后端名称。 + +代码示例 +::::::::: + +COPY-FROM: paddle.audio.backends.get_current_backend diff --git a/docs/api/paddle/audio/backends/info_cn.rst b/docs/api/paddle/audio/backends/info_cn.rst new file mode 100644 index 00000000000..05578856483 --- /dev/null +++ b/docs/api/paddle/audio/backends/info_cn.rst @@ -0,0 +1,22 @@ +.. _cn_api_audio_info: + +info +------------------------------- + +.. py:function:: paddle.audio.info(filepath:str) + +获取音频的相关信息,如采用率,通道数等。 + +参数 +:::::::::::: + + - **filepath** (str) - 输入音频路径。 +返回 +::::::::: + +``AudioInfo``, 音频相关信息。 + +代码示例 +::::::::: + +COPY-FROM: paddle.audio.info diff --git a/docs/api/paddle/audio/backends/list_available_backends_cn.rst b/docs/api/paddle/audio/backends/list_available_backends_cn.rst new file mode 100644 index 00000000000..16ff216a564 --- /dev/null +++ b/docs/api/paddle/audio/backends/list_available_backends_cn.rst @@ -0,0 +1,21 @@ +.. _cn_api_audio_backends_list_available_backends: + +list_available_backends +------------------------------- + +.. py:function:: paddle.audio.backends.list_available_backends() + +获取可用的音频 I/O 后端。 + +参数 +:::::::::::: + +返回 +::::::::: + +``List[str]``, 可用的音频 I/O 后端集合。 + +代码示例 +::::::::: + +COPY-FROM: paddle.audio.backends.list_available_backends diff --git a/docs/api/paddle/audio/backends/load_cn.rst b/docs/api/paddle/audio/backends/load_cn.rst new file mode 100644 index 00000000000..e36c8fc7d5e --- /dev/null +++ b/docs/api/paddle/audio/backends/load_cn.rst @@ -0,0 +1,26 @@ +.. _cn_api_audio_load: + +load +------------------------------- + +.. py:function:: paddle.audio.load(filepath: Union[str, Path], frame_offset: int = 0, num_frames: int = -1, normalize: bool = True, channels_first: bool = True) + +获取音频数据。 + +参数 +:::::::::::: + + - **filepath** (str 或者 Path) - 输入音频路径。 + - **frame_offset** (int) - 默认是 0,开始读取音频起始帧。 + - **num_frames** (int) - 默认是-1,读取音频帧数, -1 表示读取全部帧。 + - **normalize** (bool) - 默认是 True。如果是 True,返回是音频值被规整到[-1.0, 1.0],如果是 False,那么就返回原始值。 + - **channels_first** (bool) - 默认是 True。如果是 True,那么返回的形状是[channel,time],如果是 False,则是[time, channel]。 +返回 +::::::::: + +``Tuple[paddle.Tensor, int]``, 音频数据值, 采样率。 + +代码示例 +::::::::: + +COPY-FROM: paddle.audio.load diff --git a/docs/api/paddle/audio/backends/save_cn.rst b/docs/api/paddle/audio/backends/save_cn.rst new file mode 100644 index 00000000000..5e5ab04bce4 --- /dev/null +++ b/docs/api/paddle/audio/backends/save_cn.rst @@ -0,0 +1,26 @@ +.. _cn_api_audio_save: + +save +------------------------------- + +.. py:function:: paddle.audio.save(filepath: str, src: paddle.Tensor, sample_rate: int, channels_first: bool = True, encoding: Optional[str] = None, bits_per_sample: Optional[int] = 16) + +保存音频数据。 + +参数 +:::::::::::: + + - **filepath** (str 或者 Path) - 保存音频路径。 + - **src** (paddle.Tensor) - 音频数据。 + - **sample_rate** (int) - 采样率。 + - **channels_first** (bool) - 如果是 True,那么 src 的 Tensor 形状是[channel,time],如果是 False,则是[time, channel]。 + - **encoding** (Optional[str]) - 默认是 None,编码信息。 + - **bits_per_sample** (Optional[int]) - 默认是 16。编码位长。 +返回 +::::::::: +无 + +代码示例 +::::::::: + +COPY-FROM: paddle.audio.save diff --git a/docs/api/paddle/audio/backends/set_backend_cn.rst b/docs/api/paddle/audio/backends/set_backend_cn.rst new file mode 100644 index 00000000000..9c02a40777d --- /dev/null +++ b/docs/api/paddle/audio/backends/set_backend_cn.rst @@ -0,0 +1,22 @@ +.. _cn_api_audio_backends_set_backend: + +set_backend +------------------------------- + +.. py:function:: paddle.audio.backends.set_backend(backend_name: str) + +设置处理语音 I/O 的后端。 + +参数 +:::::::::::: + + - **backend_name** (str) - 语音 I/O 后端名称,现支持‘wave_backend’,如果安装了 paddleaudio >=1.0.2,则也支持‘soundfile’。 + +返回 +::::::::: +无 + +代码示例 +::::::::: + +COPY-FROM: paddle.audio.backends.set_backend diff --git a/docs/api/paddle/audio/datasets/ESC50_cn.rst b/docs/api/paddle/audio/datasets/ESC50_cn.rst new file mode 100644 index 00000000000..aae7fcfe315 --- /dev/null +++ b/docs/api/paddle/audio/datasets/ESC50_cn.rst @@ -0,0 +1,27 @@ +.. _cn_api_audio_datasets_ESC50: + +ESC50 +------------------------------- + +.. py:class:: paddle.audio.datasets.ESC50(mode: str = 'train', split: int = 1, feat_type: str = 'raw', archive=None, **kwargs) + + +`ESC50 `_ 数据集的实现。 + +参数 +::::::::: + + - **mode** (str,可选) - ``'train'`` 或 ``'dev'`` 模式两者之一,默认值为 ``'train'``。 + - **split** (int) - 默认是 1,指定 dev 的文件夹。 + - **feat_type** (str) - 默认是 raw,raw 是原始语音,支持 mfcc,spectrogram,melspectrogram,logmelspectrogram。指定从音频提取的语音特征。 + - **archive** (dict) - 默认是 None,类中已经设置默认 archive,指定数据集的下载链接和 md5 值。 + +返回 +::::::::: + +:ref:`cn_api_io_cn_Dataset`,ESC50 数据集实例。 + +代码示例 +::::::::: + +COPY-FROM: paddle.audio.datasets.ESC50 diff --git a/docs/api/paddle/audio/datasets/TESS_cn.rst b/docs/api/paddle/audio/datasets/TESS_cn.rst new file mode 100644 index 00000000000..258d390bd48 --- /dev/null +++ b/docs/api/paddle/audio/datasets/TESS_cn.rst @@ -0,0 +1,28 @@ +.. _cn_api_audio_datasets_TESS: + +TESS +------------------------------- + +.. py:class:: paddle.audio.datasets.TESS(mode: str = 'train', n_folds = 5, split = 1, feat_type = 'raw', archive=None, **kwargs) + + +`TESS `_ 数据集的实现。 + +参数 +::::::::: + + - **mode** (str,可选) - ``'train'`` 或 ``'dev'`` 模式两者之一,默认值为 ``'train'``。 + - **n_folds** (int) - 默认是 5,指定把数据集分为的文件夹数目, 1 个文件夹是 dev,其他是 train。 + - **split** (int) - 默认是 1,指定 dev 的文件夹。 + - **feat_type** (str) - 默认是 raw,raw 是原始语音,支持 mfcc,spectrogram,melspectrogram,logmelspectrogram。指定从音频提取的语音特征。 + - **archive** (dict) - 默认是 None,类中已经设置默认 archive,指定数据集的下载链接和 md5 值。 + +返回 +::::::::: + +:ref:`cn_api_io_cn_Dataset`,TESS 数据集实例。 + +代码示例 +::::::::: + +COPY-FROM: paddle.audio.datasets.TESS