Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
185,02 KB
Nội dung
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