# VoiceDataSet **Repository Path**: howardwang/voice-data-set ## Basic Information - **Project Name**: VoiceDataSet - **Description**: 获取语音训练的数据集 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-22 - **Last Updated**: 2025-05-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VoiceDataSet ## 介绍 获取语音训练的数据集 ### 使用 经过几次测试目前只有**在线模式**跑的起来,离线不行。所以要申请 **HF_TOKEN** 下面以 ubuntu 为例 ```sh export HF_TOKEN=申请的 Key nohup python app.py & ``` **mozilla-foundation/common_voice_17_0** 支持的语言 : ['ab', 'af', 'am', 'ar', 'as', 'ast', 'az', 'ba', 'bas', 'be', 'bg', 'bn', 'br', 'ca', 'ckb', 'cnh', 'cs', 'cv', 'cy', 'da', 'de', 'dv', 'dyu', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fa', 'fi', 'fr', 'fy-NL', 'ga-IE', 'gl', 'gn', 'ha', 'he', 'hi', 'hsb', 'ht', 'hu', 'hy-AM', 'ia', 'id', 'ig', 'is', 'it', 'ja', 'ka', 'kab', 'kk', 'kmr', 'ko', 'ky', 'lg', 'lij', 'lo', 'lt', 'ltg', 'lv', 'mdf', 'mhr', 'mk', 'ml', 'mn', 'mr', 'mrj', 'mt', 'myv', 'nan-tw', 'ne-NP', 'nhi', 'nl', 'nn-NO', 'nso', 'oc', 'or', 'os', 'pa-IN', 'pl', 'ps', 'pt', 'quy', 'rm-sursilv', 'rm-vallader', 'ro', 'ru', 'rw', 'sah', 'sat', 'sc', 'sk', 'skr', 'sl', 'sq', 'sr', 'sv-SE', 'sw', 'ta', 'te', 'th', 'ti', 'tig', 'tk', 'tok', 'tr', 'tt', 'tw', 'ug', 'uk', 'ur', 'uz', 'vi', 'vot', 'yi', 'yo', 'yue', 'zgh', 'zh-CN'] **注意**: 'zh-HK', 'zh-TW', 'zu', 'zza' 语言不支持, [官方网站](https://huggingface.co/datasets/mozilla-foundation/common_voice_17_0/tree/main/audio) 就没有 ### 需求 1. 对外提供接口, 接口描述在下面章节 2. 从 [common_voice_17_0](https://huggingface.co/datasets/mozilla-foundation/common_voice_17_0) 数据集中获取数据,这个网页中有对应的获取数据的方法 获取数据的要求: 不同语种内容相对均衡, 数据经过简单清洗, 避免有空数据或者无效数据 ## 接口说明 ### 接口: 获取所有语种的数据条数 ```sh curl http://localhost:8000/counts ``` 返回示例: ```json { "en": 100, "zh": 50, "fr": 75 } ``` ### 接口: 获取特定语种的数据条数(例如英语 'en') ```sh curl http://localhost:8000/count/en ``` 返回示例: ```json { "language": "en", "count": 100 } ``` ### 接口: 获取特定语种的数据, 支持分页 ```sh curl http://localhost:8000/data/en # 默认获取第 1 页,每页 20 条 curl http://localhost:8000/data/en?page=2&pageSize=10 # 指定获取第 2 页,每页 10 条 ``` 返回示例: ```json { "items": [ { "id": 1, "voice_path": "http://localhost:8000/audio/123.wav", "text": "Hello world", "language": "en", "created_at": "2025-01-22T12:00:00" } ], "total": 100, "total_pages": 5 } ``` ### 接口: 获取指定数据 ```sh curl http://localhost:8000/data/id/1 ``` 返回示例: ```json { "id": 1, "voice": "http://12.123.234.123/123.wav", "text": "Hello world", "language": "en", "created_at": "2025-01-22T12:00:00" } ``` 所有这些命令都是 **GET** 请求,所以直接使用 curl 就可以了。如果您想要格式化 JSON 输出,可以在 Windows PowerShell 中使用以下格式: ```sh # PowerShell 格式化 JSON 输出 curl http://localhost:8000/counts | ConvertFrom-Json | ConvertTo-Json ``` 或者如果您使用的是cmd,可以安装jq工具来格式化输出: ```sh # 使用 jq 格式化 JSON 输出 curl http://localhost:8000/counts | jq . ``` 您可以根据需要替换示例中的语言代码(如'en')和索引号来获取不同的数据。