1 /********************************************************************
3 * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. *
4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY *
5 * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. *
6 * PLEASE READ THESE TERMS DISTRIBUTING. *
8 * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-2000 *
9 * by Monty <monty@xiph.org> and The XIPHOPHORUS Company *
10 * http://www.xiph.org/ *
12 ********************************************************************
14 function: masking curve data for psychoacoustics
15 last mod: $Id: masking.h,v 1.2 2000/05/08 20:49:49 xiphmont Exp $
17 ********************************************************************/
22 double ATH_Bark_dB[]={
23 70, 25, 15, 11, 9, 8, 7.5, 7, 7, 7,
24 6, 4, 2, 0, -3, -5, -6, -6, -4.5, 2.5,
25 11, 18, 21, 17, 25, 80, 120};
27 /* The below masking curves are straight from the R. Ehmer
28 (J. Acoustical Society of America) papers ca 1958-59. I modified
29 them slightly as Ehmer does not correct for the Absolute Threshold
30 of Hearing, and the low dB portions of the curves are thus highly
33 /* Let's all do the Trek thing and just call them 'Ehmer curves' ;-)
34 Note these are octaves, not Bark scale. */
36 #define EHMER_OFFSET 16
39 double tone_250_40dB_SL[EHMER_MAX]={
40 -900,-900,-900,-900,-900,-900,-900,-900, -19, -13, -7, -1, 4, 9, 15, 20,
41 22, 23, 22, 19, 18, 18, 16, 13, 9, 7, 3, 1, -1, -3, -6, -8,
42 -10, -13, -16, -19, -21, -24, -28, -32, -900,-900,-900,-900,-900,-900,-900,-900,
43 -900,-900,-900,-900,-900,-900,-900,-900};
44 double tone_250_60dB_SL[EHMER_MAX]={
45 -900,-900,-900,-900,-900,-900,-900, -10, -5, 1, 7, 13, 19, 25, 30, 33,
46 36, 39, 38, 37, 38, 39, 39, 40, 38, 36, 35, 34, 33, 31, 29, 28,
47 28, 28, 25, 20, 14, 10, 5, 0, -5,-10,-15,-20,-25,-30,-35,-40,
48 -900,-900,-900,-900,-900,-900,-900,-900};
49 double tone_250_80dB_SL[EHMER_MAX]={
50 -900,-900,-900,-900,-900,-900,-900, -10, 10, 17, 24, 30, 37, 41, 48, 49,
51 50, 53, 54, 53, 53, 54, 55, 57, 57, 57, 58, 59, 60, 58, 57, 58,
52 59, 58, 57, 54, 52, 50, 49, 47, 46, 47, 46, 44, 43, 42, 41, 40,
53 38, 32, 27, 22, 17, 11, 6, 0};
55 double tone_500_40dB_SL[EHMER_MAX]={
56 -900,-900,-900,-900,-900,-900,-900, -10, -26, -20, -14, -8, -2, 4, 10, 17,
57 23, 16, 12, 9, 6, 3, 0, -3, -7, -10, -13, -16, -20, -23, -26, -30,
58 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
59 -900,-900,-900,-900,-900,-900,-900,-900};
60 double tone_500_60dB_SL[EHMER_MAX]={
61 -900,-900,-900,-900,-900,-900,-900,-900, -18, -12, -6, 0, 6, 13, 20, 30,
62 39, 34, 31, 29, 29, 27, 24, 21, 18, 16, 13, 8, 6, 3, 1, -1,
63 -5, -2, -5, -8, -12, -15, -18, -22, -900,-900,-900,-900,-900,-900,-900,-900,
64 -900,-900,-900,-900,-900,-900,-900,-900};
65 double tone_500_80dB_SL[EHMER_MAX]={
66 -900,-900,-900,-900,-900,-900,-900,-900, -22,-16,-10, 0, 10, 20, 32, 43,
67 53, 52, 52, 50, 49, 50, 52, 55, 55, 54, 51, 49, 46, 44, 44, 42,
68 38, 34, 32, 29, 29, 28, 25, 23, 20, 16, 10, 7, 4, 2, -1, -4,
69 -7, -10, -15, -20, -25, -30, -35, -40};
70 double tone_500_100dB_SL[EHMER_MAX]={
71 -900,-900,-900,-900,-900,-900,-900, -10, -7, 2, 10, 19, 27, 35, 55, 56,
72 62, 61, 60, 58, 57, 57, 59, 63, 65, 66, 62, 60, 57, 57, 58, 58,
73 57, 56, 56, 56, 57, 57, 56, 57, 57, 54, 47, 41, 37, 28, 21, 16,
74 10, 3, -3, -8, -13, -18, -23, -28};
76 double tone_1000_40dB_SL[EHMER_MAX]={
77 -900,-900,-900,-900,-900,-900,-900,-900, -55, -40, -30, -20, -10, 0, 9, 20,
78 27, 20, 13, 14, 13, 5, -1, -6, -11, -20, -30,-900,-900,-900,-900,-900,
79 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
80 -900,-900,-900,-900,-900,-900,-900,-900};
81 double tone_1000_60dB_SL[EHMER_MAX]={
82 -900,-900,-900,-900,-900,-900,-900, -43, -33,-23,-13, -3, 7, 17, 25, 37,
83 42, 33, 25, 25, 23, 18, 13, 9, 4, -1, -7,-13,-18, -23, -28, -33,
84 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
85 -900,-900,-900,-900,-900,-900,-900,-900};
86 double tone_1000_80dB_SL[EHMER_MAX]={
87 -900,-900,-900,-900,-900,-900,-900, -35, -25,-14, -4, 6, 16, 27, 33, 50,
88 59, 57, 47, 41, 40, 43, 47, 48, 47, 42, 39, 37, 37, 36, 35, 32,
89 30, 27, 21, 15, 5, -2, -10, -18, -900,-900,-900,-900,-900,-900,-900,-900,
90 -900,-900,-900,-900,-900,-900,-900,-900};
91 double tone_1000_100dB_SL[EHMER_MAX]={
92 -900,-900,-900,-900,-900,-900, -40, -30, -20,-10, 0, 10, 23, 33, 45, 60,
93 70, 72, 55, 49, 43, 40, 44, 54, 59, 58, 49, 43, 52, 57, 57, 58,
94 58, 54, 49, 47, 42, 39, 33, 28, 20, 15, 5, 0, -5,-15,-20,-25,
95 -900,-900,-900,-900,-900,-900,-900,-900};
97 double tone_2000_40dB_SL[EHMER_MAX]={
98 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -3, 5, 12, 20,
99 24, 21, 14, 5, -5, -15, -25, -35, -900,-900,-900,-900,-900,-900,-900,-900,
100 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
101 -900,-900,-900,-900,-900,-900,-900,-900};
102 double tone_2000_60dB_SL[EHMER_MAX]={
103 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -2, 8, 19, 31,
104 38, 34, 24, 17, 14, 13, 11, 7, 3, -2, -6, -10, -14, -20, -26, -32,
105 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
106 -900,-900,-900,-900,-900,-900,-900,-900};
107 double tone_2000_80dB_SL[EHMER_MAX]={
108 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -2, 13, 28, 40,
109 51, 51, 43, 35, 28, 29, 35, 37, 37, 35, 31, 28, 25, 22, 19, 15,
110 11, 8, 6, 2, -6, -14, -22, -30, -900,-900,-900,-900,-900,-900,-900,-900,
111 -900,-900,-900,-900,-900,-900,-900,-900};
112 double tone_2000_100dB_SL[EHMER_MAX]={
113 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -10, 6, 25, 42, 60,
114 66, 60, 53, 43, 35, 31, 34, 47, 58, 51, 43, 45, 54, 59, 59, 56,
115 54, 51, 40, 29, 20, 11, 2, -8, -17, -26, -35,-900,-900,-900,-900,-900,
116 -900,-900,-900,-900,-900,-900,-900,-900};
118 double tone_4000_40dB_SL[EHMER_MAX]={
119 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, 0, 3, 10, 18,
120 24, 21, 14, 5, -5, -15, -25, -35, -900,-900,-900,-900,-900,-900,-900,-900,
121 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
122 -900,-900,-900,-900,-900,-900,-900,-900};
124 double tone_4000_60dB_SL[EHMER_MAX]={
125 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -2, 8, 19, 31,
126 38, 34, 26, 20, 16, 11, 9, 7, 3, -2, -6, -10, -14, -20, -26, -32,
127 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
128 -900,-900,-900,-900,-900,-900,-900,-900};
130 double tone_4000_80dB_SL[EHMER_MAX]={
131 -900,-900,-900,-900,-900,-900,-900,-900, -60, -50, -40, -29, -12, 5, 19, 37,
132 51, 49, 38, 32, 36, 36, 36, 31, 30, 22, 15, 5, -5, -16, -24, -32,
133 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
134 -900,-900,-900,-900,-900,-900,-900,-900};
136 double tone_4000_100dB_SL[EHMER_MAX]={
137 -20, -12, -8, -4, 0, 4, 8, 11, 15, 22, 26, 28, 32, 36, 43, 52,
138 65, 61, 45, 41, 48, 49, 40, 30, 45, 30, 20, 10, 0, -10, -19, -28,
139 -37,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
140 -900,-900,-900,-900,-900,-900,-900,-900};
142 double tone_8000_60dB_SL[EHMER_MAX]={
143 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -5, 0, 15, 35,
144 43, 40, 37, 36, 33, 30, 27, 24, 21, 18, 15, 12, 9, 5, -5, -15,
145 -25, -35,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
146 -900,-900,-900,-900,-900,-900,-900,-900};
148 double tone_8000_80dB_SL[EHMER_MAX]={
149 -900,-900,-900,-900,-900,-900,-900, -10, -1, 2, 6, 10, 13, 19, 25, 35,
150 63, 60, 56, 53, 50, 47, 44, 41, 38, 35, 32, 29, 26, 22, 15, 5,
151 -5, -15, -25, -35,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
152 -900,-900,-900,-900,-900,-900,-900,-900};
154 double tone_8000_100dB_SL[EHMER_MAX]={
155 -18, -12, -7, -3, 0, 2, 6, 9, 12, 19, 22, 21, 19, 21, 40, 40,
156 80, 60, 35, 25, 15, 5, -5, -15, -25, -35,-900,-900,-900,-900,-900,-900,
157 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
158 -900,-900,-900,-900,-900,-900,-900,-900};
160 double noise_500_60dB_SL[EHMER_MAX]={
161 -900,-900,-900,-900,-900, -20, -11, -2, 7, 16, 25, 34, 43, 52, 61, 66,
162 69, 68, 58, 50, 44, 38, 32, 28, 25, 24, 20, 18, 17, 12, 10, 8,
163 5, 0, -5, -8, -12, -15, -18, -22, -900,-900,-900,-900,-900,-900,-900,-900,
164 -900,-900,-900,-900,-900,-900,-900,-900};
166 double noise_500_80dB_SL[EHMER_MAX]={
167 -900,-900,-900, -20, -10, -1, 8, 17, 26, 35, 44, 53, 62, 70, 79, 83,
168 85, 85, 81, 77, 74, 71, 68, 63, 61, 59, 56, 55, 54, 52, 48, 47,
169 45, 46, 45, 43, 40, 37, 33, 32, 35, 32, 30, 29, 20, 10, 0, -10,
170 -20, -30,-900,-900,-900,-900,-900,-900};
172 double noise_1000_60dB_SL[EHMER_MAX]={
173 -900,-900,-900,-900, -24, -15, -6, 3, 12, 21, 28, 34, 40, 48, 57, 60,
174 61, 56, 54, 45, 36, 27, 21, 19, 17, 13, 10, 0, -10, -20, -20,-900,
175 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
176 -900,-900,-900,-900,-900,-900,-900,-900};
178 double noise_1000_80dB_SL[EHMER_MAX]={
179 -900, -26, -17, -8, 1, 10, 19, 28, 37, 41, 46, 51, 58, 68, 74, 81,
180 80, 81, 70, 66, 58, 61, 59, 55, 54, 53, 52, 49, 48, 42, 38, 38,
181 39, 34, 30, 27, 20, 10, 0, -10, -20, -30,-900,-900,-900,-900,-900,-900,
182 -900,-900,-900,-900,-900,-900,-900,-900};
184 double noise_2000_60dB_SL[EHMER_MAX]={
185 -900,-900,-900, -34, -25, -16, -7, 2, 11, 18, 23, 30, 35, 42, 51, 58,
186 58, 57, 50, 40, 30, 21, 15, 10, 0, -10, -20, -30,-900,-900,-900,-900,
187 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
188 -900,-900,-900,-900,-900,-900,-900,-900};
190 double noise_2000_80dB_SL[EHMER_MAX]={
191 -900, -26, -17, -8, 1, 10, 19, 28, 33, 38, 43, 48, 53, 62, 70, 77,
192 77, 75, 70, 67, 68, 66, 62, 61, 60, 59, 52, 47, 39, 35, 34, 35,
193 35, 33, 30, 27, 20, 10, 0, -10, -20, -30,-900,-900,-900,-900,-900,-900,
194 -900,-900,-900,-900,-900,-900,-900,-900};
196 double noise_4000_60dB_SL[EHMER_MAX]={
197 -900,-900,-900, -34, -25, -16, -7, 2, 11, 20, 25, 31, 37, 45, 56, 62,
198 64, 61, 50, 35, 25, 15, 5, -5, -15 -25, -35,-900,-900,-900,-900,-900,
199 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
200 -900,-900,-900,-900,-900,-900,-900,-900};
202 double noise_4000_80dB_SL[EHMER_MAX]={
203 -900, -26, -17, -8, 1, 10, 19, 26, 33, 39, 45, 50, 55, 65, 75, 82,
204 84, 81, 78, 72, 70, 69, 66, 61, 50, 48, 46, 40, 35, 30, 25, 20,
205 15, 10, 5, 0, -10, -20, -30,-900, -900,-900,-900,-900,-900,-900,-900,-900,
206 -900,-900,-900,-900,-900,-900,-900,-900};