65 lines
2.3 KiB
C
65 lines
2.3 KiB
C
/********************************************************************
|
|
* *
|
|
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
* *
|
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
|
|
* by the XIPHOPHORUS Company http://www.xiph.org/ *
|
|
* *
|
|
********************************************************************
|
|
|
|
function: bark scale utility
|
|
last mod: $Id: barkmel.c 3 2005-06-02 18:16:43Z vspader $
|
|
|
|
********************************************************************/
|
|
|
|
#include <stdio.h>
|
|
#include "scales.h"
|
|
int main(){
|
|
int i;
|
|
double rate;
|
|
for(i=64;i<32000;i*=2){
|
|
rate=48000.f;
|
|
fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
|
|
rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
|
|
|
|
rate=44100.f;
|
|
fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
|
|
rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
|
|
|
|
rate=32000.f;
|
|
fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
|
|
rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
|
|
|
|
rate=22050.f;
|
|
fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
|
|
rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
|
|
|
|
rate=16000.f;
|
|
fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
|
|
rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
|
|
|
|
rate=11025.f;
|
|
fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
|
|
rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
|
|
|
|
rate=8000.f;
|
|
fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n\n",
|
|
rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
|
|
|
|
|
|
}
|
|
{
|
|
float i;
|
|
int j;
|
|
for(i=0.,j=0;i<28;i+=1,j++){
|
|
fprintf(stderr,"(%d) bark=%f %gHz (%d of 128)\n",
|
|
j,i,fromBARK(i),(int)(fromBARK(i)/22050.*128.));
|
|
}
|
|
}
|
|
return(0);
|
|
}
|
|
|