Exemple #1
0
                #plt.plot(x)
                #plt.grid()
                #plt.show()

                #mLib.fftPlot(x, fs=1000)
                sd.Thd(x, fs)
                sd.ThdN(x, fs)

            elif c == 'w':
                sRate = 44100.0
                t = np.arange(0, 2.0, 1 / sRate)
                samples = np.sin(2 * np.pi * 440.0 * t)
                IOs.writeWaveFile('test1.wav', samples, int(sRate))

                sampleRate = 44100
                samples = sd.KarplusStrong(1 * sampleRate, sampleRate, 391)
                IOs.writeWaveFile('test2.wav', samples, int(sampleRate))

                samples -= np.mean(samples)
                windowed = samples * signal.blackmanharris(len(samples))

                f = np.fft.rfft(windowed)
                i = np.argmax(np.abs(f))
                ThdValue = sd.rms_harmony(f, i) / np.abs(f[i])

                print('freq = %f and thd = %f' % (i, ThdValue))

                #Thd(samples, sampleRate)
                #ThdN(samples, sampleRate)

                plt.plot(np.abs(f))