예제 #1
0
파일: 2-2.py 프로젝트: jinzhankui/cangku
from thinkdsp import normalize, unbias
import numpy as np
import matplotlib.pyplot as plt
from thinkdsp import SquareSignal


class SawtoothSignal(Sinusoid):
    """Represents a sawtooth signal."""
    def evaluate(self, ts):
        """Evaluates the signal at the given times.
        ts: float array of times
        
        returns: float wave array
        """
        cycles = self.freq * ts + self.offset / np.pi / 2
        frac, _ = np.modf(cycles)
        ys = normalize(unbias(frac), self.amp)
        return ys


plt.rcParams['font.sans-serif'] = ['SimHei']  #加上这一句就能在图表中显示中文
plt.rcParams['axes.unicode_minus'] = False  #用来正常显示负号
plt.title("方波")
square = SquareSignal(1100).make_wave(duration=0.5, framerate=10000)
wave1 = square.make_spectrum()
square.make_spectrum().plot()
decorate(xlabel='Frequency (Hz)')
wave = wave1.make_wave()
wave.write(filename="sound2-3.wav")
plt.show()
예제 #2
0
파일: test3-4.py 프로젝트: chtstu/cht
    spectrum.hs[1:] /= spectrum.fs[1:]
    spectrum.hs[0] = 0


plt.subplot(311)
spectrum = wave.make_spectrum()
spectrum.plot(high=10000, color='gray')
filter_spectrum(spectrum)
spectrum.scale(440)
spectrum.plot(high=10000)
decorate(xlabel='Frequency (Hz)')

plt.subplot(312)
spectrum1 = wave1.make_spectrum()
spectrum1.plot(high=10000, color='red')
filter_spectrum(spectrum1)
spectrum1.scale(440)
spectrum1.plot(high=10000)
decorate(xlabel='Frequency (Hz)')

plt.subplot(313)
spectrum2 = wave2.make_spectrum()
spectrum2.plot(high=10000, color='green')
filter_spectrum(spectrum2)
spectrum2.scale(440)
spectrum2.plot(high=10000)
decorate(xlabel='Frequency (Hz)')

filtered = spectrum.make_wave()
filtered.make_audio()
plt.show()
예제 #3
0
trangle.write("三角波声音.wav")
play("三角波声音.wav", flags=1)
square = SquareSignal(freq=440).make_wave(duration=0.01, framerate=10000)
plt.subplot(232)
plt.title("square")
square.plot()
square.write("方波声音.wav")
play("方波声音.wav", flags=1)
sawtooth = SawtoothSignal(freq=440).make_wave(duration=0.01, framerate=10000)
plt.subplot(233)
plt.title("sawtooth")
sawtooth.plot()
sawtooth.write("斜波声音.wav")
play("斜波声音.wav", flags=1)

spectrum_tra = trangle.make_spectrum()
filter_spectrum(spectrum_tra)
plt.subplot(234)
spectrum_tra.plot()

spectrum_squ = square.make_spectrum()
filter_spectrum(spectrum_squ)
plt.subplot(235)
spectrum_squ.plot()

spectrum_saw = sawtooth.make_spectrum()
filter_spectrum(spectrum_saw)
plt.subplot(236)
spectrum_saw.plot()

plt.show()