Similarity of two .wav files — unsure about the returned error.

Technical Source
2 min readDec 31, 2020

--

Hi, I’m wanting to use correlation to see how similar an original sound and one I synthesized from it are. I was advised to use the resample function however, due to lack of knowledge in MATLAB I’m looking for a little help to gain my metric as I’m just not understanding things. I have attached the audio files if anyone could please help me out a little?

clear, clc, close all
% get a section of the sound file
[x, fs] = audioread('Machine_Gun.wav'); % load an audio file
x = x(:, 1); % get the first channel
N = length(x); % signal length
t = (0:N-1)/fs; % time vector
[y, fs] = audioread('Dry_Synthesized_Machine_Gun.wav'); % load an audio file
y = y(:, 1); % get the first channel
n = length(y); % signal length
T = (0:n-1)/fs;
data = [x y];
correlation = corrcoef(data);

This was my failed attempt and i got the below error message:

Error using horzcat

Dimensions of arrays being concatenated are not consistent.

Error in test (line 12)

data = [x y];

ANSWER

Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.

Error using horzcat
Dimensions of arrays being concatenated are not consistent.
data = [x y];

This means the x and y have a different number of elements. Then a horizontal concatenation cannot work, because matrices must be rectangular.

You have mentioned resample already, which allows to adjust the sizes of the vectors. interp1 would be fine also. But this would change the frequency of the signal. Maybe cropping or appending zeros is better:

SEE COMPLETE ANSWER CLICK THE LINK

https://www.matlabsolutions.com/resources/similarity-of-two-wav-files---unsure-about-the-returned-error-.php

--

--

Technical Source
Technical Source

Written by Technical Source

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.

No responses yet