I have speech data that I can represent using matlab plot. however, If i want to display it on log scale(like cooledit or Audition), I can take something like
data = audioread(pth); for j=1:length(data) if data(j) >0 data(j) = 20*log10(data(j)); else data(j) = 20*log10(abs(data (j))); end end
problem with this is that zero values map to infinity and negative values map to positive side . I need representation where Y axis would run in db like [0 -3 ..-21..-inf.. -21 -3 0](like in Cooledit) and the data is plotted as per this axis.
How do i do this?