BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > Python Programlama > Python örnek kodlar > python_ornek00001

Python örnek kodlar

Ses kaydetme programı (pyaudio ve wave kütüphaneleri ile)

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.