聲音檔和 Video 檔的讀與寫 (by Matlab)

Slides:



Advertisements
Similar presentations
1 安全乘坐电梯 与大型游乐设施 福建省特检院宁德分院党支部 王祖生 特种设备安全知识进校园.
Advertisements

高一年级组家长会. 一、考试成绩分析 二、存在的问题 三、给家长的建议 四、科任教师交流 表扬 1 、 年级组语数外成绩优异同学 ( 年级排名 ) 李 芮第 1 名 吕明洋第 2 名 王 越第 3 名 杨天宇第 4 名 张凯燕第 5 名 李 曦第 7 名 魏书静第 8 名 项春怡第 10 名 郑明明第.
沟通交流 活动有序 内容轻松 文明守纪 团结共进 1. 成立家长委员会, 通知 15 人明天下午 3-5 点五楼报告厅 “ 全面育人教育论坛 ” 2. 介绍附中、年级、班级的规范和要求 日常行为规范,高中学习特点,考试、作业要求 3. 开学以来年级、班级开展的工作及安排 开学以来年级、班级开展的工作及安排.
第一章 声现象 第二节声音的特征.
1、毛将后代握手言欢泯恩怨 2、美国总统奥巴马访华.
大学生安全防范知识 城北派出所 陶燕雄.
远 方 宽厚肩膀,手指干净而修长。 笑声像大海,眼睛里有阳光。 我想象你,一定就是这样。 还没出现,就已对你爱恋;还没遇见,就先有了思念。
第六章 多媒体辅助教学系统 一、多媒体基本概念
情境导入: 诚信是金 同学们,这是一个非常经典的故事。请大家思考当小男孩真的遇到狼时,为什么没人去救他呢? 你从中得到了什么启示?狼来了.MP4.
上 班 族 身心健康操 陽明大學 運動健康科學 研究中心 編著.
欢迎各位家长 同样的心情 一样的期待 初二(2)班家长会.
欢迎各位家长的到来! 沟通 交流 协作 初二 班家长会.
家校同心, 师生同行 ——八(五、六)班家长会.
“他的人生观真是一种‘单纯信仰’,这里面只有三个大字:一个是爱,一个是自由,一个是美。他梦想这三个理想的条件能够回合在一个人生里,这是他的‘单纯信仰’。他的一生的历史,只是他追求这个单纯信仰的实现的历史。” ——胡适《追悼志摩》
欢迎各位家长光临 初二(1)班家长会
学习情境七 领队业务 【学习目标】 了解领队工作职责; 掌握领队的工作程序; 掌握领队的服务要点。 【技能目标】
蒙古与苗族的特色建筑 项艺烽小组 最炫民族风.mp3.
大聲一點又如何? 打耳光、重擊或大聲音會使聲波以極大的力量快速撞擊鼓膜而傷害鼓膜。 事先知道要聽到很大的聲音要張開嘴巴。
一分钟电话营销分享 刘瑾.
中五級中史科及通識科跨科研習 研習大澳的「宗教文化」─ 廟宇的研習 指導老師:周婉儀老師 組員: 陳偉欽 5a (15)
朝鲜.
健康檢查簡介 新湖國小健康中心 王淑華護理師 99/11/17.
热烈欢迎您 参加家长会!.
欢迎各位家长 参加初一八班的家长会!.
您買美元了嗎? 退休規劃 全球外幣保單.
班级安全文化建设的思考与实践 夯实安全基础 规范安全行为 培养安全习惯 训练安全能力 尤 学 文 管 理 学 博 士
通州市教研室 王作良 邮箱 06高考复习讲座 通州市教研室 王作良 邮箱
PPT模板下载: 电子文件归档及管理.
市八中学 胡亮平 办公室:F504 高中信息科技 市八中学 胡亮平 办公室:F504
網頁介面設計的基礎理論 講師:鄭靜怡 本教材內容出自於網頁界面設計藝術教程,人民郵電出版社.
1012 MATLAB 教學 彭奕翔 2013/02/27.
12月四六级冲刺备考讲座 建昆老师.
反思,调整学习方法 迎接中考的挑战 九(7)班.
斑马线上的安全学问 学校:平安二小 班级:四年级(1)班 姓名:张海超 时间:2016年6月21日.
令我后悔的一件事.
性別透視鏡 鳳鳴電台 高宜君老師.
热烈欢迎各位家长 初二(1)班
感受柏林禅寺—— 华莲的日记 2006年6月9日 周五 多云
第十课我的朋友圈.
國語文好點子趴辣客教學食譜 甜點:〈焦糖鳥布蕾〉
台南市石門國民小學 九十八學年度上學期 作文教學成果
2-1熟記網路交友的注意事項 2-2分析各種網路交友的錯誤心態 2-3認識各種網路交友的正確方法
身边的噪音 ——六(1)班班队活动 李瑷蔚 符蓉.
V. Homomorphic Signal Processing
日本 班級:六年四班 座號: 八號 姓名:楊維綱.
第二章音訊媒體.
方煒 台大生機系 李登華、姚文隆 高雄第一科技大學機械系 2005 農機/生機論文發表會 屏東
Time Frequency Analysis and Wavelet Transforms 時頻分析與小波轉換
語音處理簡介.
聲轉電信號.
何清波 博士 副教授 中国科学技术大学 精密机械与精密仪器系 安徽合肥 电话:
授課教授:張寶基 助教:梁凱雯 郭千豪 音視訊處理實驗室 2014 / 9 / 30
共有六個運算性質 包括它的證明以及相關題型
九、非理性思考 黃 囇(ㄌㄧˊ)莉 通識教育中心教授.
学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。. 学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。
15-16 水運會 維多利亞公園游泳池 4月30日 (星期六) 9:00-12:30.
媒体基础(一) 向辉 山东大学软件学院 2003年秋季.
MATLAB 程式設計入門篇 初探MATLAB
歐巴桑症候群 *** 歐巴桑症候群***.
《信息技术与教育技术》听觉媒体技术.
第二章 会计要素和会计等式 会计要素; 会计等式; 学习目标.
学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。. 学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。
力学实验复习 杨昌彪 月.
项目一 认识设计环境 《FLASH动画设计》精品课程组.
智慧財產權管理講次36 積體電路電路布局保護法(1) 主講:吳銘圳
暗房技術實驗 顯影 停影 定影 授課教授:莊東漢 林招松 教授 助教:朱峰民 實驗目的 暗房技術 實驗設備與材料 實驗結果 實驗原理
免費錄音軟體介紹.
声音的特性.
孙 权 劝 学 --《资治通鉴》 随县炎帝学校 谭芳.
Presentation transcript:

聲音檔和 Video 檔的讀與寫 (by Matlab) 作者: 丁建均 國立台灣大學電信工程學研究所

一、聲音檔 (*.wav) 的讀取 電腦中,大部分的聲音檔都是 *.wav 的型態 讀取: wavread 例: [x, fs] = wavread('C:\WINDOWS\Media\ringin.wav'); 可以將 ringin.wav 以數字向量 x 來呈現。 fs: sampling frequency 這個例子當中 size(x) = 9981 1 fs = 11025 思考: 所以,取樣間隔多大? 這個聲音檔有多少秒?

畫出 x 的波型: time = [0:length(X)-1]/fs; plot(time, x) 注意: *.wav 檔中所讀取的資料,值都在 1 和 +1 之間

一個聲音檔如果太大,我們也可以只讀取它部分的點 [x, fs]=wavread('C:\WINDOWS\Media\ringin.wav', [4001 5000]); % 讀取第4001至5000點 [x, fs, nbits] = wavread('C:\WINDOWS\Media\ringin.wav'); nbits: x(n) 的bit 數 第一個bit : 正負號,第二個bit : 21,第三個bit : 22, ….., 第 n 個bit : 2nbits +1, 所以 x 乘上2nbits 1 是一個整數 以鈴聲的例子, nbits = 8,所以 x 乘上 128是個整數

有些聲音檔是 雙聲道 (Stereo)的型態 (俗稱立體聲) 例: [x, fs]=wavread('C:\WINDOWS\Media\notify.wav'); size(x) = 29823 2 fs = 22050

二、聲音的播放 (1) wavplay(x): 將 x 以 11025Hz 的頻率播放 (時間間隔 = 1/11025 = 9.07  105 秒) (2) sound(x): 將 x 以 8192Hz 的頻率播放 (3) wavplay(x, fs) 或 sound(x, fs) 或 audioplayer(x , fs): 將 x 以 fs Hz 的頻率播放 Note: (1)~(3) 中 x 必需是1 個column (或2個 columns),且 x 的值應該 介於 1 和 +1 之間 (4) soundsc(x, fs): 自動把 x 的值調到 1 和 +1 之間 再播放

三、製作 *.wav 檔: 用 wavwrite wavwrite(x, fs, waveFile) 將數據 x 變成一個 *.wav 檔,取樣速率為 fs Hz  x 必需是1 個column (或2個 columns)  x 值應該 介於 1 和 +1 之間  若沒有設定fs,則預設的fs 為 8000Hz

四、錄音 範例程式: 錄音之前,要先將電腦接上麥克風,且確定電腦有音效卡 (部分的 notebooks 不需裝麥克風即可錄音) Sec = 3; Fs = 8000; recorder = audiorecorder(Fs, 16, 1); recordblocking(recorder, Sec); audioarray = getaudiodata(recorder); 執行以上的程式,即可錄音。 錄音的時間為三秒,sampling frequency 為 8000 Hz 錄音結果為 audioarray,是一個 column vector (如果是雙聲道,則是兩個 column vectors)

範例程式 (續): 指令說明: wavplay(audioarray, Fs); % 播放錄音的結果 t = [0:length(audioarray)-1]./Fs; plot (t, audioarray‘); % 將錄音的結果用圖畫出來 xlabel('sec','FontSize',16); wavwrite(audioarray, Fs, ‘test.wav’) % 將錄音的結果存成 *.wav 檔 指令說明: recorder = audiorecorder(Fs, nb, nch); (提供錄音相關的參數) Fs: sampling frequency, nb: using nb bits to record each data nch: number of channels (1 or 2)

recordblocking(recorder, Sec); (錄音的指令) recorder: the parameters obtained by the command “audiorecorder” Sec: the time length for recording audioarray = getaudiodata(recorder); (將錄音的結果,變成 audioarray 這個 column vector,如果是雙聲道,則 audioarray 是兩個 column vectors) 以上這三個指令,要並用,才可以錄音

五、MP3 檔的讀和寫 要先去這個網站下載 mp3read.m, mp3write.m 的程式 http://www.mathworks.com/matlabcentral/fileexchange/13852-mp3read-and-mp3write 程式原作者:Dan Ellis mp3read.m : 讀取 mp3 的檔案 mp3write.m : 製作 mp3 的檔案 不同於 *.wav 檔 (未壓縮過的聲音檔),*.mp3 是經過 MPEG-2 Audio Layer III的技術壓縮過的聲音檔

範例: %% Write an MP3 file by Matlab fs=8000; % sampling frequency t = [1:fs*3]/3; filename = ‘test’; Nbit=32; % number of bits per sample x= 0.2*cos(2*pi*(500*t+300*(t-1.5).^3)); mp3write(x, fs, Nbit, filename); % make an MP3 file test.mp3 %% Read an MP3 file by Matlab [x1, fs1]=mp3read('phase33.mp3'); x2=x1(577:end); % delete the head sound(x2, fs1)

六、影像檔和 Video 檔的讀和寫 Image 檔讀取: imread Image 檔顯示: imshow, image, imagesc Image 檔製作: imwrite 基本概念:灰階影像在 Matlab 當中是一個矩陣 彩色影像在 Matlab 當中是三個矩陣,分別代表 Red, Green, Blue Video 檔讀取: aviread

範例一: im=imread('C:\Program Files\MATLAB\R2007a\pic\Pepper.bmp'); (注意,如果 Pepper.bmp 是個灰階圖,im 將是一個矩陣) size(im) ans = 256 256 (用 size 這個指令來看 im 這個矩阧的大小) image(im); colormap(gray(256)) (如果是灰階的圖,可以用這兩行指令將圖顯示出來)

範例二: im1=double(im)*0.5; (注意:若要對影像作加減乘除,要加 double( )) imwrite(im1, 'C:\Program Files\MATLAB\R2007a\pic\Pepper1.bmp') (將 im1 存成另外一個圖檔) 範例二: im2=imread('C:\Program Files\MATLAB\R2007a\pic\Pepper512c.bmp'); (讀取另一個圖檔,這個圖檔是個彩色檔) size(im2) ans = 512 512 3 (注意,由於這個圖檔是個彩色的,所以 im2 將由三個矩陣複合而成)

image(im2); (如果是彩色的圖,用這個指令就可以將圖顯示出來) image(im2(:, :, 1)); colormap(gray(256)) (如果只想顯示其中紅色的部分,可以用這二行指令)

im3=zeros(512, 512, 3); im3(:, :, 1) = double(im2(:, :, 1))*0.6 + double(im2(:, :, 2))*0.4; im3(:, :, 2) = double(im2(:, :, 2))*0.6 + double(im2(:, :, 3))*0.4; im3(:, :, 3) = double(im2(:, :, 3))*0.6 + double(im2(:, :, 1))*0.4; (im3 和 im2 相似,只是將顏色改變) imwrite(im3/256, 'C:\Program Files\MATLAB\R2007a\pic\Pepper2c.bmp') (將 im3 存成另外一個圖檔,注意,要先 除以 256) (im3 必需是由 3 個二維矩陣複合而成的函式)