0%

ASR&TTS/语料网站收集

语音语料收集

1. 使用YouTube

1.1 使用流程

不需要登陆

  1. 打开youtube,地区设置为国家(可选,不是必要条件)

  2. 使用特定的语言搜索,在过滤栏中筛选出选择字幕,筛选出有字幕的视频,打开视频后设置字幕语言

    注意 搜索到的视频标题最好是全是当前国家语言,否则音频会与字幕不是同一个语言

  3. 将其链接放到1.2 提取音频网站处下载,并且原视频提取字幕(注意有多种语言的字幕)

1.2 提取音频

方法一

方法二

1.3 使用youtube-dl下载音频及字幕

github地址

youtubu-dl 支持网站列表

1.3.1 下载

  • linux,mac安装
1
2
3
4
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
# 或者
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
  • window点击下载,并把文件路径加入到环境变量PATH中

1.3.2 使用

相关参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
-x, --extract-audio              将视频转换成音频(需要ffmpeg或者 avconv和fprobe
或者avprobe)

--audio-format FORMAT 指定音频格式: "best", "aac",
"flac", "mp3", "m4a", "opus", "vorbis",
"wav"; 默认为"best"; 在不加 -x 下不起作用

--audio-quality QUALITY 指定 ffmpeg/avconv 音频质量,输入0到9的数字
0最好,9最,默认为5
for VBR or a specific bitrate like 128K
(default 5)

-w, --no-overwrites 不覆盖文件

--no-post-overwrites 不覆盖后处理后的音频文件,没有此参数默认覆盖之前的文件

--proxy 使用代理翻墙下载, 需要指定协议,支持HTTP/HTTPS/SOCKS协议.
如果要使用socket协议需要指定.例如socks5://127.0.0.1:1080

--write-sub 保存字幕文件

--write-auto-sub 保存自动生成的字幕文件,只支持youtube

--all-subs 下载所有可用的字幕文件

--list-subs 列出所有可用的字幕文件

--sub-format FORMAT 指定字幕格式: "srt" 或者 "ass/srt/best"

--sub-lang LANGS 指定字幕语言(可选),使用--list-sub 来查看支持的语言

示例

打开一个视频,地址为https://www.youtube.com/watch?v=pTFMz8gn0WA

1
youtube-dl --list-subs https://www.youtube.com/watch?v=pTFMz8gn0WA --proxy socks5://127.0.0.1:1080

在没有字幕的情况下提示如下

1
2
3
4
5
6
[youtube] pTFMz8gn0WA: Downloading webpage
WARNING: video doesn't have subtitles
[youtube] pTFMz8gn0WA: Looking for automatic captions
WARNING: Couldn't find automatic captions for pTFMz8gn0WA
pTFMz8gn0WA has no automatic captions
pTFMz8gn0WA has no subtitles

可以通过搜索并筛选有字幕的视频

打开youtube的FBNC Vietnam频道,此频道为越南语的新闻播报频道,并且有越南语字幕

选择其中一个视频https://www.youtube.com/watch?v=jf9fc70RX60

1
youtube-dl --list-subs https://www.youtube.com/watch?v=jf9fc70RX60 --proxy socks5://127.0.0.1:1080
1
2
3
4
5
6
[youtube] jf9fc70RX60: Downloading webpage
[youtube] jf9fc70RX60: Looking for automatic captions
Available automatic captions for jf9fc70RX60:
Available subtitles for jf9fc70RX60:
Language formats
vi vtt, ttml, srv3, srv2, srv1

下载

1
youtube-dl -x --audio-format wav --write-sub --sub-lang vi --sub-format vtt https://www.youtube.com/watch?v=jf9fc70RX60 --proxy socks5://127.0.0.1:1080

下载成功

1
2
3
4
5
6
[youtube] jf9fc70RX60: Downloading webpage
[info] Writing video subtitles to: Tin tức _ Bản tin trưa 17_11 _ Ông Trump sẽ trừng phạt Trung Quốc để trói tay ông Biden _ FBNC-jf9fc70RX60.vi.vtt
[download] Destination: Tin tức _ Bản tin trưa 17_11 _ Ông Trump sẽ trừng phạt Trung Quốc để trói tay ông Biden _ FBNC-jf9fc70RX60.webm
[download] 100% of 13.12MiB in 00:27
[ffmpeg] Destination: Tin tức _ Bản tin trưa 17_11 _ Ông Trump sẽ trừng phạt Trung Quốc để trói tay ông Biden _ FBNC-jf9fc70RX60.wav
Deleting original file Tin tức _ Bản tin trưa 17_11 _ Ông Trump sẽ trừng phạt Trung Quốc để trói tay ông Biden _ FBNC-jf9fc70RX60.webm (pass -k to keep)

1.4 注意事项

  • 以上收集的数据有大量噪声,包括背景音乐,环境噪声,静音等等
  • 很大概率会爬到MV, 会有大量音乐部分,空白部分。可以选择一些流量比较大一点,视频质量高且有字幕的youtuber,固定爬取

越南语

视频

  • Youtube

FM

  • voiz 无字幕 同样也是有声读物

有声读物