百科问答小站 logo
百科问答小站 font logo



如何将一段频谱,比如matlab产生的代码,转化成可以听的声音? 第1页

  

user avatar   kakyoism 网友的相关建议: 
      

谢邀。


你问的是“如果 Matlab 中用代码得到了一段一维信号的频谱,如何把这段频谱转化成可以听的声音”吗?


假设你频谱的幅度和相位响应是齐的,以下 Matlab 代码只考虑你的频谱是 Matlab 代码里面生成的情况,不考虑外来格式。

注意,简单起见没有给信号加合适的包络,所以声音起止时会听到“卡嗒”声。

       disp('Hi.');  Fs = 44100; % 采样率(赫兹) Nyquist = Fs/2; Ts = 1/Fs; % 采样周期(秒)   % 输入信号为两段1秒长的正弦波相加 f0 = 440; f1 = 880; amp = 0.5; durSec = 1;   vt = 0:Ts:durSec;   sndIn = amp*(sin(2*pi*f0*vt) + sin(2*pi*f1*vt)); disp('Listen to the input sound ...'); sound(sndIn, Fs); % 发声   % 快速傅立叶变换得到频谱 spectrum = fft(sndIn);   % 逆变换得到输出信号 sndOut = ifft(spectrum);   disp('Listen to the output sound ...'); sound(sndOut, Fs); % 发声   % 作图绘制输入输出信号和频谱幅度响应。 subplot(3, 1, 1); plot(vt, sndIn); title('Input Time-domain Signal'); subplot(3, 1, 2); N = floor(Nyquist); vf = 0:N; vm = abs(spectrum(vf+1)); stem(vf, vm/max(vm)); title('Spectrum: Normalized Magnitude Response'); subplot(3, 1, 3); plot(vt, sndOut); title('Output Time-domain Signal');   disp('Bye.');     



  

相关话题

  为什么烧单反的很多,烧麦克风的很少呢? 
  用耳机听音质差的音频会对耳机不好么? 
  目前音箱是漫步者S2000MKII,往后打算换个音箱或者耳机,请给些建议? 
  「手动调整 EQ 是对音乐的不尊重」这种说法有道理吗? 
  一些耳机BBS疯狂推销电线是否是一种联合欺诈? 
  「手动调整 EQ 是对音乐的不尊重」这种说法有道理吗? 
  如果混完音后看总电平音量超过了0db,那是要将总电平推子往下拉还是返回混音页面将音轨音量拉低? 
  如何看待B站UP主「吴斧神工119」开怼「鬼斧神工119」并提出1000元赌注线材盲听挑战? 
  请问要想提升歌曲响度,是在混音中完成的,还是通过母带加压限完成的? 
  耳机发烧友的「金耳朵」真相,会不会只是因为长时间听耳机的听力受损? 

前一个讨论
国内哪里可以掌握学习FMOD Designe或者Wwise?(费用及课程?)youtube上的教程如果有字母组织翻译就好了!
下一个讨论
有哪些电影被名字毁了?





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利