[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(hOb btnRekam_Callback(hObject, ject, eventdata, ha ndles) % try global signal global waktu global fcuplik if isempty(waktu) if isempty(waktu) || isempty(fcuplik) errordlg('Salah errordlg('Salah satu atau Kedua Input Text Kosong' ); return;; return else h = waitbar(0,' waitbar(0,' Audio Recording .... '); ' ); for i=1:1 data=wavrecord(fcuplik*waktu,fcuplik);
[
[email protected]{ee&it UGM, Indonesia}]
Page 1
[matlab tutorial] March 20, 2012
waitbar(i/1,h) end waitbar(1,h,'Finished' waitbar(1,h,'Finished'); ); close (h); signal = 0.99*data/max(abs(data)); % normalisasi plotwav; end % catch % end
-
Untuk tombol play function btnPlay_Callback(hOb btnPlay_Callback(hObject, ject, eventdata, handles) global signal global fcuplik if ~isempty(signal) if ~isempty(signal) wavplay(signal,fcuplik) end
-
Untuk tombol simpan function btnSimpan_Callback(hOb btnSimpan_Callback(hObject, ject, eventdata, ha ndles) global signal global fcuplik [filename, pathname] = uiputfile('*.wav' uiputfile( '*.wav',, 'Simpan File Audio (wav)'); (wav)'); if filename if filename ~= 0 wavwrite(signal,fcuplik,[pathname filename]) end
-
Untuk tombol buka file function btnBuka_Callback(hOb btnBuka_Callback(hObject, ject, eventdata, handles) try global signal global fcuplik [filename, pathname] = uigetfile('*.wav' uigetfile( '*.wav',,'Pilih File Audio (wav)'); (wav)' ); [signal,fcuplik] = wavread([pathname filename]); signal = 0.99*signal/max(abs(signal)); % normalisasi plotwav; catch end
-
Untuk teks durasi rekam function txtWaktu_Callback(hOb txtWaktu_Callback(hObject, ject, eventdata, handles) global waktu waktu=get(hObject,'String' waktu=get(hObject,'String'); ); waktu=str2double(waktu);
[
[email protected]{ee&it UGM, Indonesia}]
Page 2
[matlab tutorial] March 20, 2012
-
Untuk teks frekuensi cuplik function txtCuplik_Callback(hOb txtCuplik_Callback(hObject, ject, eventdata, handles) global fcuplik fcuplik=get(hObject,'String' 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 xlabel('Waktu (det)'), (det)'), ylabel('Amplitudo' 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...
[
[email protected]{ee&it UGM, Indonesia}]
Page 3