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.3 2000/06/14 01:38:31 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_125_80dB_SL[EHMER_MAX]={
40 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 69, 67, 66, 65, 63, 61,
41 60, 58, 56, 54, 52, 51, 49, 47, 45, 43, 42, 40, 38, 36, 34, 32,
42 30, 28, 26, 24, 22, 20, 17, 15, 12, 10, 6, 3, 0, -4, -8,-12,
43 -900,-900,-900,-900,-900,-900,-900,-900};
44 double tone_125_100dB_SL[EHMER_MAX]={
45 85, 85, 85, 85, 85, 85, 85, 85, 85, 84, 84, 83, 82, 81, 80, 79,
46 78, 77, 75, 74, 73, 72, 71, 70, 69, 68, 67, 65, 64, 63, 62, 60,
47 58, 57, 55, 54, 52, 50, 48, 46, 44, 42, 40, 38, 36, 34, 31, 29,
48 27, 24, 22, 20, 18, 15, 13, 11};
50 double tone_250_40dB_SL[EHMER_MAX]={
51 -900,-900,-900,-900,-900,-900,-900,-900, -19, -13, -7, -1, 4, 9, 15, 20,
52 22, 23, 22, 19, 18, 18, 16, 13, 9, 7, 3, 1, -1, -3, -6, -8,
53 -10, -13, -16, -19, -21, -24, -28, -32, -900,-900,-900,-900,-900,-900,-900,-900,
54 -900,-900,-900,-900,-900,-900,-900,-900};
55 double tone_250_60dB_SL[EHMER_MAX]={
56 -900,-900,-900,-900,-900,-900,-900, -10, -5, 1, 7, 13, 19, 25, 30, 33,
57 36, 39, 38, 37, 38, 39, 39, 40, 38, 36, 35, 34, 33, 31, 29, 28,
58 28, 28, 25, 20, 14, 10, 5, 0, -5,-10,-15,-20,-25,-30,-35,-40,
59 -900,-900,-900,-900,-900,-900,-900,-900};
60 double tone_250_80dB_SL[EHMER_MAX]={
61 -900,-900,-900,-900,-900,-900,-900, -10, 10, 17, 24, 30, 37, 41, 48, 49,
64 53, 54, 53, 53, 54, 55, 57, 57, 57, 58, 59, 60, 58, 57, 58,
65 59, 58, 57, 54, 52, 50, 49, 47, 46, 47, 46, 44, 43, 42, 41, 40,
66 38, 32, 27, 22, 17, 11, 6, 0};
68 double tone_500_40dB_SL[EHMER_MAX]={
69 -900,-900,-900,-900,-900,-900,-900, -10, -26, -20, -14, -8, -2, 4, 10, 17,
70 23, 16, 12, 9, 6, 3, 0, -3, -7, -10, -13, -16, -20, -23, -26, -30,
71 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
72 -900,-900,-900,-900,-900,-900,-900,-900};
73 double tone_500_60dB_SL[EHMER_MAX]={
74 -900,-900,-900,-900,-900,-900,-900,-900, -18, -12, -6, 0, 6, 13, 20, 30,
75 39, 34, 31, 29, 29, 27, 24, 21, 18, 16, 13, 8, 6, 3, 1, -1,
76 -5, -2, -5, -8, -12, -15, -18, -22, -900,-900,-900,-900,-900,-900,-900,-900,
77 -900,-900,-900,-900,-900,-900,-900,-900};
78 double tone_500_80dB_SL[EHMER_MAX]={
79 -900,-900,-900,-900,-900,-900,-900,-900, -22,-16,-10, 0, 10, 20, 32, 43,
80 53, 52, 52, 50, 49, 50, 52, 55, 55, 54, 51, 49, 46, 44, 44, 42,
81 38, 34, 32, 29, 29, 28, 25, 23, 20, 16, 10, 7, 4, 2, -1, -4,
82 -7, -10, -15, -20, -25, -30, -35, -40};
83 double tone_500_100dB_SL[EHMER_MAX]={
84 -900,-900,-900,-900,-900,-900,-900, -10, -7, 2, 10, 19, 27, 35, 55, 56,
85 62, 61, 60, 58, 57, 57, 59, 63, 65, 66, 62, 60, 57, 57, 58, 58,
86 57, 56, 56, 56, 57, 57, 56, 57, 57, 54, 47, 41, 37, 28, 21, 16,
87 10, 3, -3, -8, -13, -18, -23, -28};
89 double tone_1000_40dB_SL[EHMER_MAX]={
90 -900,-900,-900,-900,-900,-900,-900,-900, -55, -40, -30, -20, -10, 0, 9, 20,
91 27, 20, 13, 14, 13, 5, -1, -6, -11, -20, -30,-900,-900,-900,-900,-900,
92 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
93 -900,-900,-900,-900,-900,-900,-900,-900};
94 double tone_1000_60dB_SL[EHMER_MAX]={
95 -900,-900,-900,-900,-900,-900,-900, -43, -33,-23,-13, -3, 7, 17, 25, 37,
96 42, 33, 25, 25, 23, 18, 13, 9, 4, -1, -7,-13,-18, -23, -28, -33,
97 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
98 -900,-900,-900,-900,-900,-900,-900,-900};
99 double tone_1000_80dB_SL[EHMER_MAX]={
100 -900,-900,-900,-900,-900,-900,-900, -35, -25,-14, -4, 6, 16, 27, 33, 50,
101 59, 57, 47, 41, 40, 43, 47, 48, 47, 42, 39, 37, 37, 36, 35, 32,
102 30, 27, 21, 15, 5, -2, -10, -18, -900,-900,-900,-900,-900,-900,-900,-900,
103 -900,-900,-900,-900,-900,-900,-900,-900};
104 double tone_1000_100dB_SL[EHMER_MAX]={
105 -900,-900,-900,-900,-900,-900, -40, -30, -20,-10, 0, 10, 23, 33, 45, 60,
106 70, 72, 55, 49, 43, 40, 44, 54, 59, 58, 49, 43, 52, 57, 57, 58,
107 58, 54, 49, 47, 42, 39, 33, 28, 20, 15, 5, 0, -5,-15,-20,-25,
108 -900,-900,-900,-900,-900,-900,-900,-900};
110 double tone_2000_40dB_SL[EHMER_MAX]={
111 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -3, 5, 12, 20,
112 24, 21, 14, 5, -5, -15, -25, -35, -900,-900,-900,-900,-900,-900,-900,-900,
113 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
114 -900,-900,-900,-900,-900,-900,-900,-900};
115 double tone_2000_60dB_SL[EHMER_MAX]={
116 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -2, 8, 19, 31,
117 38, 34, 24, 17, 14, 13, 11, 7, 3, -2, -6, -10, -14, -20, -26, -32,
118 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
119 -900,-900,-900,-900,-900,-900,-900,-900};
120 double tone_2000_80dB_SL[EHMER_MAX]={
121 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -2, 13, 28, 40,
122 51, 51, 43, 35, 28, 29, 35, 37, 37, 35, 31, 28, 25, 22, 19, 15,
123 11, 8, 6, 2, -6, -14, -22, -30, -900,-900,-900,-900,-900,-900,-900,-900,
124 -900,-900,-900,-900,-900,-900,-900,-900};
125 double tone_2000_100dB_SL[EHMER_MAX]={
126 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -10, 6, 25, 42, 60,
127 66, 60, 53, 43, 35, 31, 34, 47, 58, 51, 43, 45, 54, 59, 59, 56,
128 54, 51, 40, 29, 20, 11, 2, -8, -17, -26, -35,-900,-900,-900,-900,-900,
129 -900,-900,-900,-900,-900,-900,-900,-900};
131 double tone_4000_40dB_SL[EHMER_MAX]={
132 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, 0, 3, 10, 18,
133 24, 21, 14, 5, -5, -15, -25, -35, -900,-900,-900,-900,-900,-900,-900,-900,
134 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
135 -900,-900,-900,-900,-900,-900,-900,-900};
137 double tone_4000_60dB_SL[EHMER_MAX]={
138 -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -2, 8, 19, 31,
139 38, 34, 26, 20, 16, 11, 9, 7, 3, -2, -6, -10, -14, -20, -26, -32,
140 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
141 -900,-900,-900,-900,-900,-900,-900,-900};
143 double tone_4000_80dB_SL[EHMER_MAX]={
144 -900,-900,-900,-900,-900,-900,-900,-900, -60, -50, -40, -29, -12, 5, 19, 37,
145 51, 49, 38, 32, 36, 36, 36, 31, 30, 22, 15, 5, -5, -16, -24, -32,
146 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
147 -900,-900,-900,-900,-900,-900,-900,-900};
149 double tone_4000_100dB_SL[EHMER_MAX]={
150 -20, -12, -8, -4, 0, 4, 8, 11, 15, 22, 26, 28, 32, 36, 43, 52,
151 65, 61, 45, 41, 48, 49, 40, 30, 45, 30, 20, 10, 0, -10, -19, -28,
152 -37,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
153 -900,-900,-900,-900,-900,-900,-900,-900};
155 double tone_8000_80dB_SL[EHMER_MAX]={
156 -900,-900,-900,-900,-900,-900,-900, -10, -1, 2, 6, 10, 13, 19, 25, 35,
157 63, 60, 56, 53, 50, 47, 44, 41, 38, 35, 32, 29, 26, 22, 15, 5,
158 -5, -15, -25, -35,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
159 -900,-900,-900,-900,-900,-900,-900,-900};
161 double tone_8000_100dB_SL[EHMER_MAX]={
162 -18, -12, -7, -3, 0, 2, 6, 9, 12, 19, 22, 21, 19, 21, 40, 40,
163 80, 60, 35, 25, 15, 5, -5, -15, -25, -35,-900,-900,-900,-900,-900,-900,
164 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
165 -900,-900,-900,-900,-900,-900,-900,-900};
167 double noise_500_60dB_SL[EHMER_MAX]={
168 -900,-900,-900,-900,-900, -20, -11, -2, 7, 16, 25, 34, 43, 52, 61, 66,
169 69, 68, 58, 50, 44, 38, 32, 28, 25, 24, 20, 18, 17, 12, 10, 8,
170 5, 0, -5, -8, -12, -15, -18, -22, -900,-900,-900,-900,-900,-900,-900,-900,
171 -900,-900,-900,-900,-900,-900,-900,-900};
173 double noise_500_80dB_SL[EHMER_MAX]={
174 -900,-900,-900, -20, -10, -1, 8, 17, 26, 35, 44, 53, 62, 70, 79, 83,
175 85, 85, 81, 77, 74, 71, 68, 63, 61, 59, 56, 55, 54, 52, 48, 47,
176 45, 46, 45, 43, 40, 37, 33, 32, 35, 32, 30, 29, 20, 10, 0, -10,
177 -20, -30,-900,-900,-900,-900,-900,-900};
179 double noise_1000_60dB_SL[EHMER_MAX]={
180 -900,-900,-900,-900, -24, -15, -6, 3, 12, 21, 28, 34, 40, 48, 57, 60,
181 61, 56, 54, 45, 36, 27, 21, 19, 17, 13, 10, 0, -10, -20, -20,-900,
182 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
183 -900,-900,-900,-900,-900,-900,-900,-900};
185 double noise_1000_80dB_SL[EHMER_MAX]={
186 -900, -26, -17, -8, 1, 10, 19, 28, 37, 41, 46, 51, 58, 68, 74, 81,
187 80, 81, 70, 66, 58, 61, 59, 55, 54, 53, 52, 49, 48, 42, 38, 38,
188 39, 34, 30, 27, 20, 10, 0, -10, -20, -30,-900,-900,-900,-900,-900,-900,
189 -900,-900,-900,-900,-900,-900,-900,-900};
191 double noise_2000_60dB_SL[EHMER_MAX]={
192 -900,-900,-900, -34, -25, -16, -7, 2, 11, 18, 23, 30, 35, 42, 51, 58,
193 58, 57, 50, 40,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
194 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
195 -900,-900,-900,-900,-900,-900,-900,-900};
197 double noise_2000_80dB_SL[EHMER_MAX]={
198 -900, -26, -17, -8, 1, 10, 19, 28, 33, 38, 43, 48, 53, 62, 70, 77,
199 77, 75, 70, 67, 68, 66, 62, 61, 60, 59, 52, 47, 39, 35, 34, 35,
200 35, 33, 30, 27, 20, 10, 0, -10, -20, -30,-900,-900,-900,-900,-900,-900,
201 -900,-900,-900,-900,-900,-900,-900,-900};
203 double noise_4000_60dB_SL[EHMER_MAX]={
204 -900,-900,-900, -34, -25, -16, -7, 2, 11, 20, 25, 31, 37, 45, 56, 62,
205 64, 61,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
206 -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900,
207 -900,-900,-900,-900,-900,-900,-900,-900};
209 double noise_4000_80dB_SL[EHMER_MAX]={
210 -900, -26, -17, -8, 1, 10, 19, 26, 33, 39, 45, 50, 55, 65, 75, 82,
211 84, 81, 78, 72, 70, 69, 66, 61, 50, 48, 46, 40, 35, 30, 25, 20,
212 15, 10, 5, 0, -10, -20, -30,-900, -900,-900,-900,-900,-900,-900,-900,-900,
213 -900,-900,-900,-900,-900,-900,-900,-900};