i've been assigned a homework that includes audio processing in matlab, what i got to do is get at least 3 channels of different frequencies in a song, and increase the dB output depending on the channel. It's got to work like an equalizer but using only 3 channels. My biggest problem here is getting a frequency and magnitude values and save it into variables separated in channels (Low, Mid and High) frequencies.

有帮助吗?

解决方案

  1. Read your file using wavread
  2. Specify the filter using fdesign (FDesign Help) where you need 3 filters lowpass, bandpass and High pass. (You may need to decimate)
  3. Use design to actually design the filter from above specification. You need to specify & design thrice as you have 3 channels. This can be made into a function and wavread output can be passed to this.
  4. Finally use filter command to actually filter the data. (Again 3 filters)
  5. Now you have 3 outputs which belong to 3 frequencies. (Use Matlab help its really good)

PS: I assume you have Signal Processing Toolbox.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top