Thông tin tài liệu
Hướng dẫn thực hành Bộ môn Khoa học máy tính Khoa Công nghệ thông tin • Đọc ghi file audio (wav). • Hiển thị sóng • Một số thao tác với phần hiển thị sóng • Chuyển đổi sáng miền tần số DCT, DFT. Nội dung Đọc file wav Để đọc/load một file audio (.wav) dùng hàm wavread với cú pháp như sau: ◦ y = wavread(filename) ◦ [y, Fs, nbits] = wavread(filename) ◦ [y, Fs, nbits, opts] = wavread(filename) Trong đó ◦ y: dữ liệu các sample của file wav ◦ Fs : sample rate (Hz) ◦ nbits: số lượng bit trên 1 sample ◦ opts: 1 cấu trúc lưu những thông tin khác của file wav Đọc file wav Ví dụ: Fs Fs nbits nbits Đọc file wav size = wavread(filename, 'size') siz = [samples channels] Lấy thông tin khác của file wav [m d] = wavfinfo(filename) ◦ m : chuỗi cho biết có phải đây là file wav hay không ◦ d: thông tin về số lượng sample và số channel của file Ví dụ đọc và play file wav // hfile lưu đường dẫn đến file wav hfile = 'H:\Vi toi la chang ngoc.wav'; // đọc file wav [y, Fs, nbits, readinfo] = wavread(hfile); // play file wav p = audioplayer(y, Fs); play(p); // stop file wave stop(p); ghi file wav Để ghi/lưu một file audio (.wav) dùng hàm wavwrite có cú pháp như sau: wavwrite(y,filename) wavwrite(y,Fs,filename) wavwrite(y,Fs,N,filename) Ví dụ ghi file wav // đường dẫn đến file wav hfile = 'H:\Vi toi la chang ngoc.wav'; // đọc file wave [y, Fs, nbits, readinfo] = wavread(hfile); // đường dẫn file wav lưu hfile1 = 'H:\Vi toi la chang ngoc1.wav'; // ghi file wave wavwrite(y, Fs, hfile1) Hiển thị sóng Để hiển thị sóng của một file wav, bạn có thể dùng plot với cú pháp như sau ◦ plot(Y) Ví dụ: // tên file wave hfile = 'handel.wav'; // đọc file wave [y, Fs, nbits, readinfo] = wavread(hfile); // hiển thị sóng plot(y) [...]...Một số thao tác khi hiển thị sóng http://www.mathworks.com/support/2009a/matlab/7.8/demos/LinkedPlot sAndDataBrushing.html Chuyển đổi sang miền tần số DCT Để chuyển tín hiệu một chiều sang miền tần số DCT, dùng hàm dct với cú pháp như sau: y = dct(u) ◦ ◦ u : tín hiệu một chiều y : . sóng plot(y) Một số thao tác khi hiển thị sóng http://www.mathworks.com/support/2009a/matlab/7.8/demos/LinkedPlot sAndDataBrushing.html Chuyển đổi sang miền tần số DCT Để chuyển tín hiệu một
Ngày đăng: 26/06/2014, 23:21
Xem thêm: Demo Matlab-Audio potx