Program için aşağıda bilgileri ve sanal ortamda kurulum komutları verilen kütüphaneleri kullanacağız:
1. PyAudio kütüphanesi
Tüm işletim sistemlerinde çalışan ses giriş/çıkış akışı kütüphanesidir. Ses ile ilgili işlemlerde kullanılır.
Bu kütüphanenin doğrudan "pip install pyaudio" komutu ile kurulmasında herhangi bir sorun yaşandığında kurulumu gerçekleştirmek için, Christoph Gohlke tarafından Python paketleri için resmi olmayan Windows işletim sistemi dosyalarını içeren web sitesine ait buradaki bağlantıdan bilgisayarımızın işletim sistemine göre indirdiğimiz aşağıdaki dosyalardan birisini, sanal ortamın altındaki Scripts dizini altına kopyalayarak kullanıyoruz:
PyAudio-0.2.11-cp39-cp39-win_amd64.whl
PyAudio-0.2.11-cp39-cp39-win32.whl
pip install PyAudio-0.2.11-cp39-cp39-win_amd64.whl
2. Wave kütüphanesi
Sesleri ses dosyalarına kaydetmek için kullanılır.
pip install Wave
import pyaudio # Sürüm 0.2.11
import wave # Sürüm 0.0.2
audio = pyaudio.PyAudio() # pyaudio nesnesi oluşturma
stream = audio.open(format=pyaudio.paInt16, channels=1, rate=44100, input=True, frames_per_buffer=1024) # Bir ses akışı açma
frames = []
try:
while True:
data = stream.read(1024) # Ses okuma
frames.append(data) # Ses verisini ekleme
except KeyboardInterrupt: # Ctrl-C ile çıkış
pass
stream.stop_stream() # Ses okumayı durdurma
stream.close() # Akışı kapatma
audio.terminate() # pyaudio nesnesini sona erdirme
wave_file = wave.open("kayit.wav", "wb") # Ses dosyası oluşturma
wave_file.setnchannels(1)
wave_file.setsampwidth(audio.get_sample_size(pyaudio.paInt16))
wave_file.setframerate(44100)
wave_file.writeframes(b''.join(frames)) # Ses verilerini yazma
wave_file.close() # Ses dosyasını kapatma
Programı çalıştırdığımızda, ses kaydetmeye başlar. Ctrl-C tuş bileşimine bastığımızda, ses kaydı sona erer ve kaydedilen ses verileri bir dosyaya kaydedilir.