#!/usr/bin/python3
import matplotlib.pyplot as plt
import numpy as np
from scipy.io import wavfile

def wav_zu_png(wav_pfad, png_pfad):
    samplerate, data = wavfile.read(wav_pfad)

    if len(data.shape) > 1:
        data = data[:, 0]

    dauer = len(data) / samplerate
    zeit = np.linspace(0, dauer, num=len(data))

    plt.figure(figsize=(48, 4))  # Breite und Hoehe des Bildes festlegen
    plt.plot(zeit, data, color="blue", linewidth=0.5)

    plt.title(f"Amplitudenverlauf: {wav_pfad}")
    plt.xlabel("Zeit (Sekunden)")
    plt.ylabel("Amplitude")
    plt.grid(True, linestyle="--", alpha=0.6)
    plt.xlim(0, dauer)

    plt.tight_layout()
    plt.savefig(png_pfad, dpi=150)  # dpi=150
    plt.close()

    print(f"Erfolgreich gespeichert unter: {png_pfad}")

wav_zu_png("filtered_morse.wav", "amplitudenverlauf.png")
