PortAudio ile Ses Uygulamaları Yapmak

Bu yazımızda bir ses işleme kütüphanesi olan PortAudio’yu kullanarak bir C++ uygulaması yazacağız. PortAudio açık kaynak kodlu, c ile yazılmış, farklı platformlarda (windows, machintosh osx, linux …) derlenip, çalışan bir kütüphane.

Üzerinde geliştirme yapacağımız ortam, windows ortamı (windows xp ve windows 7). CodeBlocks ve MinGW kullanacağım. MinGW’yi C++ ve MSYS seçeneklerini dahil ederek kuruyoruz. Bu araçların kurulumu konusunda internette yeterli doküman var. Önce portaudio’nun sitesinin download kısmından, stable release’ı indiriyorum. Benim indirdiğim dosya pa_stable_v19_20111121.tgz dosyası. 7-zip ile bu dosyayı C dizinine açıyorum. Böylece C:\portaudio diye bir dizin oluşturmuş oldum.

Şimdi indirdiğim portaudio kütüphanesini MinGW shell’ini kullanarak derleyeceğim. Başlat -> Programlar -> MinGW -> MinGW shell’ini çalıştırıyorum. Daha sonra portaudio dizinine geçiyoruz, aşağıdaki komutları sırayla çalıştırıyoruz:

cd /c/portaudio

./configure

make clean

make

make install

./configure işlemini çalıştırırken anti-virüs uyarısı devreye girdi. Bir süreliğine anti-virüs programını disable etmek durumunda kaldım. Bu komutların çalışması, biraz zaman alıyor. Benim makinamda yaklaşık 15 dakika sürdü.

Daha sonra, C++ programı yazacağımız için, c++ bindings kısmını build ediyoruz;

cd bindings/cpp

Sırasıyla aşağıdaki komutları yazıyoruz:

./configure

make

make install

Herhangi bir hata çıkmadıysa artık, programımızı yazmaya geçebiliriz. CodeBlocks’ı açıyoruz. File -> New -> Project’i seçip, PortAudioCpp isminde yeni bir C++ console uygulaması create ediyoruz. Bu örneği, http://www.keithv.com/software/portaudio/ sitesindeki örneği kısaltarak, adapte ederek hazırladım. Amacım daha çok bu yazıda, portaudio kütüphanesini, başlangıç düzeyindeki insanlar için, baştan sona bütün aşamaları takip ederek, kendi bilgisayarlarında compile edip, çalıştırabilecek duruma gelmeleridir.

Project -> Build Options komutunu çalıştırıp, aşağıdaki gibi ayarları set ediyoruz:

Linker settings:

C:\portaudio\lib\.libs\libportaudio-2.dll

C:\portaudio\bindings\cpp\lib\.libs\libportaudiocpp-0.dll

Search directories

Compiler:

C:\portaudio\include

C:\portaudio\bindings\cpp\include

Linker:

C:\portaudio\lib\.libs

C:\portaudio\bindings\cpp\lib\.libs

Daha sonra File -> New -> File’ı seçip C/C++ header’ı seçiyoruz, isim olarak AudioBuffer.h diyoruz:

Benzer şekilde File -> New -> File, C/C++ source diyerek AudioBuffer.cpp oluşturuyoruz.

main.cpp dosyasını da aşağıdaki gibi oluşturuyoruz:

Compile edip, çalıştırdığımız zaman, mikrofondan gelen sesi kaydedip, tekrar çalan bir uygulama yapmış oluyoruz.

1 düşünce - “PortAudio ile Ses Uygulamaları Yapmak”

Yorum Gönder

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir