Anda di halaman 1dari 3

[matlab tutorial] March 20, 2012

AUDIO SIGNAL RECORDING IN MATLAB GUI

Well, ini hanyalah program sederhana yang dibuat untuk merekam file isyarat dalam format WAV dengan fasilitas simpan, buka file yang sudah ada dan untuk memainkan file tersebut. File wav yang direkam berasal dari microphone pada laptop atau pc anda. Durasi rekam dan juga frekuensi cuplik yang diinginkan juga telah disediakan. Hanya program sederhana yang dibuat untuk mengisi waktu saja. Namun jika ada yang ingin ditanyakan, silakan japri saja... Di bawah ini adalah code untuk program tersebut. Untuk tombol rekam
function btnRekam_Callback(hObject, eventdata, handles) % try global signal global waktu global fcuplik if isempty(waktu) || isempty(fcuplik) errordlg('Salah satu atau Kedua Input Text Kosong'); return; else h = waitbar(0,' Audio Recording .... '); for i=1:1 data=wavrecord(fcuplik*waktu,fcuplik);

[janshendry@gmail.com{ee&it UGM, Indonesia}]

Page 1

[matlab tutorial] March 20, 2012

waitbar(i/1,h) end waitbar(1,h,'Finished'); close (h); signal = 0.99*data/max(abs(data)); % normalisasi plotwav; end % catch % end

Untuk tombol play


function btnPlay_Callback(hObject, eventdata, handles) global signal global fcuplik if ~isempty(signal) wavplay(signal,fcuplik) end

Untuk tombol simpan


function btnSimpan_Callback(hObject, eventdata, handles) global signal global fcuplik [filename, pathname] = uiputfile('*.wav', 'Simpan File Audio (wav)'); if filename ~= 0 wavwrite(signal,fcuplik,[pathname filename]) end

Untuk tombol buka file


function btnBuka_Callback(hObject, eventdata, handles) try global signal global fcuplik [filename, pathname] = uigetfile('*.wav','Pilih File Audio (wav)'); [signal,fcuplik] = wavread([pathname filename]); signal = 0.99*signal/max(abs(signal)); % normalisasi plotwav; catch end

Untuk teks durasi rekam


function txtWaktu_Callback(hObject, eventdata, handles) global waktu waktu=get(hObject,'String'); waktu=str2double(waktu);

[janshendry@gmail.com{ee&it UGM, Indonesia}]

Page 2

[matlab tutorial] March 20, 2012

Untuk teks frekuensi cuplik


function txtCuplik_Callback(hObject, eventdata, handles) global fcuplik fcuplik=get(hObject,'String'); fcuplik=str2double(fcuplik);

Untuk fungsi tambahan dalam plot data


function plotwav() global signal global fcuplik t=(1:length(signal))/fcuplik; plot(t,signal) xlabel('Waktu (det)'), ylabel('Amplitudo')

Dengan catatan, pembaca dianggap sudah mengerti dasar-dasar dari membangun GUI pada matlab. Hasil eksekusi lainnya ditunjukkan pada gambar berikut ini:

Beberapa bagian dari program saya ambil dari sumber di internet, yang maaf saya lupa websitenya... @ thanks...

[janshendry@gmail.com{ee&it UGM, Indonesia}]

Page 3

Anda mungkin juga menyukai