digital audio - Serbipunk/notes GitHub Wiki

import os
import shutil
from typing import List
from scipy.io import wavfile
from matplotlib import pyplot as plt
from torch.utils.tensorboard import SummaryWriter

wav_path = "/home/serbipunk/git/pytorch-dc-tts/1.wav"
sample_rate, audio_data = wavfile.read(wav_path)

# ploting using matplotlib
def plot_on_mplib(audio_data, samples_range: List[int]=[0, 200]):
    plt.plot(audio_data[samples_range[0]: samples_range[1]])
    plt.show()

def plot_on_tensorboard(audio_data, samples_range: List[int]=[0, 200]):
    out_dir = "wav_plot"
    if os.path.exists(out_dir):
        shutil.rmtree(out_dir)
    writer = SummaryWriter(out_dir)
    for i in range(audio_data.shape[0]):
        writer.add_scalar("wav", float(audio_data[i]), i)
    writer.close()

# plot_on_mplib(audio_data)
plot_on_tensorboard(audio_data)

image