Back to photostream

C Major Frequencies

import numpy as np

import matplotlib.pyplot as plt

 

def plot_frequency_sine_waves(sine_wave_tuples, time):

plt.figure(figsize=(24, 6))

 

for sine_wave, note_name, frequency in sine_wave_tuples:

label = f"{note_name} ({frequency} Hz)"

plt.plot(time, sine_wave, alpha=0.7, label=label)

 

# Add the summed sine wave for the C major chord

c_major_wave = np.sum(sine_waves, axis=0)

plt.plot(time, c_major_wave, alpha=0.7, label="C major", linestyle="--")

 

plt.xlabel("Time (s)")

plt.ylabel("Amplitude")

plt.title("C Major Frequencies")

plt.legend(loc="upper right")

plt.grid()

plt.show()

 

# Example usage

duration = 0.008

sample_rate = 44100

notes = [C4, E4, G4] # Frequencies for a C major chord

note_names = ["C4", "E4", "G4"]

 

time = np.linspace(0, duration, int(duration * sample_rate), False)

sine_waves = [np.sin(2 * np.pi * freq * time) for freq in notes]

sine_wave_tuples = list(zip(sine_waves, note_names, notes))

 

plot_frequency_sine_waves(sine_wave_tuples, time)

 

84 views
0 faves
0 comments
Uploaded on April 11, 2023