GoogleColobでreazonspeechのデータセットの音声とテキストをプレビューする

初めに

35,000時間のコーパスである「ReazonSpeech v2 コーパス」が公開されたので、実際にどのようなデータが入っているのかを確認したいと思います。

prtimes.jp

環境

準備

必要なライブラリを入れていきます

!pip install datasets
!pip install datasets librosa IPython

次にデータセットhuggingfaceからダウンロードするので、ログインを行います。

!huggingface-cli login

データをロードします
今回は tinyサイズ(600MB)でロードします(フルサイズは2.3TBあります)

from datasets import load_dataset

# If the dataset is gated/private, make sure you have run huggingface-cli login
# データセットをロード
# splitは任意で指定
dataset = load_dataset("reazon-research/reazonspeech", split='train')

実行

以下を実行して、特定の箇所のプレビューを行います。このときにトランスクリプションテキストと音声を同時に表示するようにしています。

from datasets import load_dataset
import librosa
from IPython.display import Audio, display
import IPython.display as ipd

# 最初の音声データを選択
audio_data = dataset['train'][0]

# 音声ファイルのパスを取得
audio_path = audio_data['audio']['path']

# 音声ファイルを読み込む
audio, sr = librosa.load(audio_path, sr=16000)  # サンプリングレートを指定

# トランスクリプションを表示
transcription = audio_data['transcription']
print("トランスクリプション: ", transcription)

# 音声を再生
ipd.display(Audio(audio, rate=sr))

ランダムで10個プレビューする場合は、以下の通りです

import librosa
import IPython.display as ipd
from IPython.display import Audio, display
import random

# データセットからランダムに10個の音声データを選択
random_samples = random.sample(list(ds['train']), 10)

for sample in random_samples:
    # 音声ファイルのパスを取得
    audio_path = sample['audio']['path']
    
    # 音声ファイルを読み込む
    audio, sr = librosa.load(audio_path, sr=16000)  # サンプリングレートを指定
    
    # トランスクリプションを表示
    transcription = sample['transcription']
    print("トランスクリプション: ", transcription)
    
    # 音声を再生
    display(Audio(audio, rate=sr))