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 > > >