標題:
如何用 Matlab 寫波形 發出聲音 20點
發問:
之前看到有人用matlab可以自己寫頻率、時間...等然後發出聲音 感到滿有興趣的,所以想問如何用 Matlab 寫波形 發出聲音 我在想 要利用Matlab自己靠程式寫出一首歌 希望除了解答如何用 Matlab 寫波形 發出聲音以外 可以告訴我每個音階的波形怎麼寫,或是有什麼公式之類的 萬分感謝 更新: 不是不是 不用接電路 是直接在電腦上執行然後電腦的喇叭發出聲音的 就像c跟vb讓電腦發出聲音那樣類似的東西吧 更新 2: 像是數位訊號那樣 只是自己寫出來 更新 3: 非常感謝dtsien 可以跟我說明一下原理嗎? 就是打個註解之類的 還有要如何控制發出聲音的時間呢? 更新 4: sound的fs改掉也會影響聲音 要怎麼控制時間阿 試了一個早上 現在耳朵要炸了 更新 5: 時間是有差 可是會影響發出的聲音
最佳解答:
Matlab 內含 sound 之 function 可直接讓 pc audio 發出聲音 試一試... w=[523.251 587.330 659.255 698.456 783.991 880.000 987.767 1046.5]; x=(1:16383)/16383; y=8*asin(1)*x; sound(sin(y*w(1))); y sound(sin(y*w(2))); y sound(sin(y*w(3))); y sound(sin(y*w(4))); y 2008-01-24 07:27:30 補充: sound(sin(y*w(5))); y sound(sin(y*w(6))); y sound(sin(y*w(7))); y sound(sin(y*w(8))); 2008-01-25 02:09:43 補充: sample=8192; % cycle per second time=1; % play time in second sampling_point=sample*time-1; % number of data points in time % w=[523.251 587.330 659.255 698.456 783.991 880.000 987.767 1046.5]; % do re me ... x=(0:sampling_point)/sampling_point; y=8*asin(1)*x; % asin(1) = PI for i=1:8 sound(sin(y*w(i))); pause(time) end 控制時間靠點數 (sampling point) sound 是每秒取 8192 點 所以控制點數 就可以控制時間
其他解答:
如果你手邊有電路板 有matlab的編譯器 找一個學長的程式來跑就好了 那是控制蜂鳴器輸出 跟頻率有關 想起以前三修的慘痛經驗 2008-01-22 11:11:09 補充: 簡單來說 根據電路板的腳位輸出不同 別人也很難幫你 要靠你自己了 一個寫好的程式 也不太可能直接套用到你的電路板上 可以成功
- YAMAHA的原廠零件市面上都買的到嗎
- 台中最便宜燒烤吃到飽@1@
- 如何將PC裡的照片傳到iphone的手機上
- 古惑仔online@1@
- 幫我做游標~ 我急著要 15點
- 台灣有BMW M6麼
- 急需!!!普普風的素材
- 屏東市國三升高一暑期工讀20點
- 五分埔店面售價@1@
- 八三夭最新專輯多少錢--
此文章來自奇摩知識+如有不便請留言告知
481517FD598DAD6B