[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Speech shaped noise



Hi Richard,

here is a matlab-program to make CCITT-speech shaped, but not
speech-modulated noise from white noise. A sample of Fastl noise
(noise-like in long term spectrum and temporal envelope) can be
downloaded from:
http://www.mmk.ei.tum.de/persons/fas.html

Bernhard



Date:    Sat, 19 Feb 2005 21:30:59 -0000
From:    "Richard H." <auditory@xxxxxxxxxxxxxx>
Subject: Speech shaped noise .WAV or other sample?

Hi,

I am trying to test some modern digital hearing aids ... but they keep (sensibly) identifying my puretones as feedback or noise, and
my broadband noise as junk too.

I really need to use speech flavoured noise to prevent the anti-feedback and anti-noise algorithms from activating.

So ... does anyone know where I can find a 30-second or longer chunk of speech-shaped noise to do my testing?

Thanks!

Richard (UK)


--
Dr.-Ing. Bernhard U. Seeber
Department of Psychology
University of California, Berkeley
3210 Tolman Hall #1650
Berkeley, CA 94720-1650, USA
ph.: +1 510-643-8408
fax: +1 510-642-5293
http://www.bseeber.de
function y = ccitt_filter(sig)
% function y = ccitt_filter(sig)
%
% CCITT (ITU) standard G.227 defines a 'conventional
% telephone signal' which equals the long-term spectrum
% of speech. The standard defines a filter to simulate
% the speech spectrum which is applied to the input signal
% sig.
%
% sig    Input signal sig at 44100 Hz sampling rate
% y      CCITT filtered signal sig
%
% Bernhard Seeber, 2005

fs = 44100;

%Generate filter coefficients
%in S/Omega-plane
%num_paper = [11638, 54050, 91238, 67280, 18400];
%denom_paper = [1, 130, 4001, 36040, 400];

%make inverted freq-response and shift to 0dB @ 600Hz
%num_coeff = ((2*pi*1000).^(-[4:-1:0])).*denom_paper;
%denom_coeff = ((2*pi*1000).^(-[4:-1:0])).*num_paper;

%for comparison, converted to Omega
%num_coeff = [7.46722e-12, 2.17899e-7, 2.311086e-3, 10.7079, 18400];
%denom_coeff = [6.41624e-16, 5.24087e-10, 1.01347e-4, 5.7359, 400];

%scale coefficients
%num_coeff = num_coeff / denom_coeff(1) * 10^(3.25/20);
%denom_coeff = denom_coeff / denom_coeff(1);

%freqs(num_coeff, denom_coeff);

%convert to z-plane
%[num_z, denom_z] = bilinear(num_coeff, denom_coeff, fs);

%freqz(num_z, denom_z, 1024, fs);

num_z = [0.00396790391508   0.00032556793042  -0.00314367152058  -0.00104604251859 -0.00008875919940];
denom_z = [1.00000000000000  -3.39268359295324   4.31295903323020  -2.43473845585969  0.51493759484342];

y = filter(num_z, denom_z, sig);