2017-10-03 2 views
0

私はPythonコーディングの初心者です。私は、変化する周波数に関してスピーカーを通して方形波の音を作り出そうとしています。 周波数に関してノイズを生成するコードとtkinterスライダコードがあります。 これらのコードをどのようにマージするかを知りたいので、スライダを使ってノイズの周波数を変更することができます。Tkinterスライダを使用して周波数を変化させた場合のノイズスルースピーカー

コード1

import pyaudio 
import numpy as np 
from Tkinter import * 

def audio(p): 
p = pyaudio.PyAudio() 

volume = 0.5  # range [0.0, 1.0] 
fs = 44100  # sampling rate, Hz, must be integer 
duration = 1.0 # in seconds, may be float 
f=440   # sine frequency, Hz, may be float 

# generate samples, note conversion to float32 array 
samples = (np.sin(2*np.pi*np.arange(fs*duration)*f/fs)).astype(np.float32) 

# for paFloat32 sample values must be in range [-1.0, 1.0] 
stream = p.open(format=pyaudio.paFloat32, 
       channels=1, 
       rate=fs, 
       output=True) 

# play. May repeat with different volume values (if done interactively) 
stream.write(volume*samples) 

stream.stop_stream() 
stream.close() 

p.terminate() 

master = Tk() 
w = Scale(master, from_=0, to=42, command=audio) 
w.pack() 


mainloop() 

コード2

from Tkinter import * 

master = Tk() 
w = Scale(master, from_=0, to=42) 
w.pack() 
w = Scale(master, from_=0, to=200, orient=HORIZONTAL) 
w.pack() 

mainloop() 

答えて

0

サブプログラムにあなたのオーディオ生成コードを入れてください。 Scalecommandを設定して、オーディオ手順を実行します。例えば、w = Scale(master, from_=0, to=42, command=audio)であり、audioは、周波数がfのパラメータをとります。

+0

fを変数にしてスライダに接続する方法 –

+0

'Scale'は' f'を 'audio'に自動的に渡します。 – SolarFactories

+0

申し訳ありませんが、初心者ではありません。あなた自身で変更することで、上記のプログラムで私を助けてください。 –

関連する問題