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

[hts-users:04182] Re: Aperiodicity bands in HTS demo v2.2 @ 48kHz


Hi Dani,

This seems to be based on my implementation of Bark critical bands and their edge frequencies although I didn’t implement the Matlab code and don’t know the integer numbers that you’re talking about. 

Instead I have attached my original codes to calculate and show frequency bands in Hz. You can see how I divide the frequency bands for aperiodicity and this will be what you want to see. 

% gcc bark.c 
% ./a.out 

rate=48000 nq=24000 bark=24.860001 fbark=25.170107 numbands=25
z=1 startf=0.000000 edgef=100.000000
z=2 startf=100.000000 edgef=200.000000
z=3 startf=200.000000 edgef=300.000000
z=4 startf=300.000000 edgef=400.000000
z=5 startf=400.000000 edgef=500.000000
z=6 startf=500.000000 edgef=600.000000
z=7 startf=600.000000 edgef=800.000000
z=8 startf=800.000000 edgef=900.000000
z=9 startf=900.000000 edgef=1100.000000
z=10 startf=1100.000000 edgef=1300.000000
z=11 startf=1300.000000 edgef=1500.000000
z=12 startf=1500.000000 edgef=1700.000000
z=13 startf=1700.000000 edgef=2000.000000
z=14 startf=2000.000000 edgef=2300.000000
z=15 startf=2300.000000 edgef=2700.000000
z=16 startf=2700.000000 edgef=3200.000000
z=17 startf=3200.000000 edgef=3700.000000
z=18 startf=3700.000000 edgef=4400.000000
z=19 startf=4400.000000 edgef=5300.000000
z=20 startf=5300.000000 edgef=6400.000000
z=21 startf=6400.000000 edgef=8000.000000
z=22 startf=8000.000000 edgef=10300.000000
z=23 startf=10300.000000 edgef=14100.000000
z=24 startf=14100.000000 edgef=21100.000000
z=25 startf=21100.000000 edgef=24000.000000

Referemce 
http://en.wikipedia.org/wiki/Bark_scale

Zwicker, E. (1961), "Subdivision of the audible frequency range into critical bands," The Journal of the Acoustical Society of America, 33,
Feb., 1961.

H. Traunmuller (1990) "Analytical expressions for the tonotopic sensory scale" J. Acoust. Soc. Am. 88: 97-100.

Regards,
Junichi 

Dr. Junichi Yamagishi
Associate Professor 
National Institute of Informatics
2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo 101-8430

Room:  18F 1804
Email: jyamagis@xxxxxxxxx  
TEL: +81 3 4212 2576

Attachment: bark.c
Description: Binary data

> 2014/11/29 21:07、Daniel Erro <daniel.erro@xxxxxx> のメール:
> 
> Hi all!
> Can anybody tell me what is the criterion to determine the boundaries of the STRAIGHT aperiodicity bands in HTS demo v2.2 for 48kHz sampling freq? Apparently, according to some docs I have found, the bands are obtained as follows (Matlab code):
> 
> Nbins=1024;                                          % number of points (bins) of the ap envelope
> fs=48000;                                            % sampling freq
> ff=(fs/2)*(0:Nbins)/Nbins;                           % exact frequencies of the STRAIGHT bins
> bb=26.81*ff./(1960+ff)-0.53;                         % Hz to bark
> bb=bb+0.15*(bb<2).*(2-bb)+0.22*(bb>20.1).*(bb-20.1); % corrective terms in [Traunmueller, JASA 1990]
> bands=round(bb);                                     % to integer
> 
> However, the resulting number of bins inside each band is slightly different from what I see in data/Makefile:
> 
> Mine: 3 4 4 4 5 5 5 6 7 7 9 10 11 12 15 18 21 26 33 43 52 62 87 129 210 237
> Demo: 2 3 4 4 4 5 5 6 6 7 8  9 10 12 14 16 19 24 29 37 49 68 99 160 300 125
> 
> By eliminating the corrective term and the -0.53 term I almost got it!
> 
> Mine: 2 3 4 4 4 5 5 6 6 7 8 9 11 11 14 16 19 24 29 37 48 67 98 157 293 138
> Demo: 2 3 4 4 4 5 5 6 6 7 8 9 10 12 14 16 19 24 29 37 49 68 99 160 300 125
> 
> I have tried many other combinations (removing terms, using alternative bark scale formulations, using floor() or ceil() instead of round(), etc) with no success. Which formula should I use to get the exact band distribution?
> Thank you very much!!
> 
> Daniel Erro
> 
> Ikerbasque Research Fellow @ Aholab, UPV/EHU
> 
> 
> 


References
[hts-users:04171] Aperiodicity bands in HTS demo v2.2 @ 48kHz, Daniel Erro