1. Kamere
  2. Avto avdio in elektronika
  3. Domači avdio
  4. Osebni avdio
  5. Televizorji
  6. Pametni dom
  >> Elektronska Tehnologija >  >> Osebni avdio >> MiniDisc predvajalniki

Kako lahko ustvarim grafiko zvočnega vala s pomočjo generatorja?

Ne morete ustvariti grafike * True * Sound Wave neposredno s pomočjo ene same funkcije generatorja na način, kot bi lahko razmišljali (kot ena sama funkcija Python, ki ustvarja PNG). Zvočni valovi so sami po sebi časovni podatki (tlak se sčasoma spreminja). Grafika je prostorska predstavitev. Morate *ustvariti podatke o zvočnem valu *, nato pa *obdelati te podatke, da ustvarite vizualno predstavitev *.

Takole lahko to storite s pomočjo Pythona, ki uporablja knjižnice za ustvarjanje zvoka in ustvarjanje slik:

1. Ustvari podatke zvočnega vala:

Ta del ustvarja numerične podatke, ki predstavljajo zvočni val. Za numerično računanje bomo uporabili `numpy` in` scipy` za ustvarjanje različnih valovnih oblik.

`` `Python

uvozi numpy kot np

uvozite matplotlib.pyplot kot plt

uvoz scipy.io.wavfile kot wav

iz Scipy.signal uvoza žaga, kvadrat

parametri

frekvenca =440 # Hz (A4 opomba)

trajanje =2 # sekund

vzorca_rate =44100 # Hz (standardna hitrost zvoka)

amplituda =0,8 # naj bo pod 1, da se izognete odrezanju

Časovni vektor

t =np.Linspace (0, trajanje, int (vzorca_rate * trajanje), končna točka =false)

izberite valovno obliko (sinus, kvadrat, žago itd.)

#waveform =np.sin (2 * np.pi * frekvenca * t) * amplituda # sinus val

#waveform =kvadrat (2 * np.pi * frekvenca * t) * amplituda # kvadratni val

Waveform =sawtooth (2 * np.pi * frekvenca * t) * amplituda # Sawtooth val

#Optional:dodajte nekaj hrupa

hrup =np.random.Normal (0, 0,1, len (valovna oblika))

valovna oblika +=hrup

normalizirajte, da se izognete izrezu (pomembno za zvočni izhod)

Waveform =Waveform / np.max (np.abs (valovna oblika))

#Optional:Shrani kot wav datoteka

wav.write ("output.wav", vzorca_rate, valform.astype (np.float32)))

`` `

2. Ustvari grafiko:

Ta del vzame ustvarjene podatke o zvočnem valu in ga nariše s pomočjo "matplotlib".

`` `Python

Narišite valovno obliko

plt.Figure (slsize =(10, 4))

plt.plot (t, valovna oblika)

PLT.XLABEL ("Čas (s)")

plt.ylabel ("amplituda")

plt.title ("zvočni valovni obliki")

Plt.Grid (res)

Plt.Savefig ("Sound_wave.png") #Save kot png

plt.show ()

`` `

Popolna koda:

`` `Python

uvozi numpy kot np

uvozite matplotlib.pyplot kot plt

uvoz scipy.io.wavfile kot wav

iz Scipy.signal uvoza žaga, kvadrat

parametri

frekvenca =440 # Hz (A4 opomba)

trajanje =2 # sekund

vzorca_rate =44100 # Hz (standardna hitrost zvoka)

amplituda =0,8 # naj bo pod 1, da se izognete odrezanju

Časovni vektor

t =np.Linspace (0, trajanje, int (vzorca_rate * trajanje), končna točka =false)

Izberite valovno obliko

Waveform =žaga (2 * np.pi * frekvenca * t) * amplituda

#Optional:dodajte nekaj hrupa

hrup =np.random.Normal (0, 0,1, len (valovna oblika))

valovna oblika +=hrup

normalizirajte, da se izognete odrezanju

Waveform =Waveform / np.max (np.abs (valovna oblika))

#Optional:Shrani kot wav datoteka

wav.write ("output.wav", vzorca_rate, valform.astype (np.float32)))

Narišite valovno obliko

plt.Figure (slsize =(10, 4))

plt.plot (t, valovna oblika)

PLT.XLABEL ("Čas (s)")

plt.ylabel ("amplituda")

plt.title ("zvočni valovni obliki")

Plt.Grid (res)

Plt.Savefig ("Sound_wave.png")

plt.show ()

`` `

Ta koda bo:

1. Ustvari žago vala (to lahko preprosto spremenite v sinusne, kvadratne ali druge valovne oblike s funkcijami `scipy.signal`).

2. Neobvezno dodajte hrup, da bo bolj realen.

3. Normalizirajte valovno obliko, da preprečite striženje.

4. Neobvezno ga shranite kot datoteko WAV.

5. Ustvarite in shranite sliko PNG v amplitudi zvočnega vala.

Ne pozabite namestiti potrebnih knjižnic:`numpy`,` matplotlib` in `scipy`. Jih lahko namestite s pomočjo:`pip namestite numpy matplotlib scipy`

  1. Katero glasbo uporablja YouTuber Comedyshortsgamer Deji, ko naredi nekaj neumnega, kot je derpy glasba?
  2. Koliko pesmi lahko sprejme 2 GB kompaktni flash pomnilniški disk?
  3. Kako predvajate mpeg4 video na sony walkmanu?
  4. Kaj pomeni brezplačen video 3gp?
  5. Kako preizkusiti keramični disk kondenzator