aboutsummaryrefslogtreecommitdiff
path: root/tables/mktables.py
diff options
context:
space:
mode:
Diffstat (limited to 'tables/mktables.py')
-rwxr-xr-xtables/mktables.py31
1 files changed, 16 insertions, 15 deletions
diff --git a/tables/mktables.py b/tables/mktables.py
index 4f6f855..3b53ea8 100755
--- a/tables/mktables.py
+++ b/tables/mktables.py
@@ -98,7 +98,7 @@ def print_table(t, m=4):
def mdct_fft_twiddles():
- for n in (10, 20, 30, 40, 60, 80, 90, 120, 160, 180, 240):
+ for n in (10, 20, 30, 40, 60, 80, 90, 120, 160, 180, 240, 480):
print('\n--- fft bf2 twiddles {:3d} ---'.format(n))
@@ -120,7 +120,7 @@ def mdct_fft_twiddles():
def mdct_rot_twiddles():
- for n in (120, 160, 240, 320, 360, 480, 640, 720, 960):
+ for n in (40, 80, 120, 160, 240, 320, 360, 480, 640, 720, 960, 1920):
print('\n--- mdct rot twiddles {:3d} ---'.format(n))
@@ -132,14 +132,6 @@ def mdct_rot_twiddles():
end = '\n' if i%2 == 1 else ' ')
-def mdct_scaling():
-
- print('\n--- mdct scaling ---')
- ns = np.array([ [ 60, 120, 180, 240, 360], [ 80, 160, 240, 320, 480] ])
- print_table(np.sqrt(2 / ns[0]))
- print_table(np.sqrt(2 / ns[1]))
-
-
def tns_lag_window():
print('\n--- tns lag window ---')
@@ -149,9 +141,19 @@ def tns_lag_window():
def tns_quantization_table():
print('\n--- tns quantization table ---')
- print_table(np.sin((np.arange(8) + 0.5) * (np.pi / 17)))
- print_table(np.sin((np.arange(8)) * (np.pi / 17)))
+ xe = np.sin((np.arange(8) + 0.5) * (np.pi / 17))
+ xe = np.rint(xe * 2**15).astype(np.int16)
+
+ xd = np.sin(np.arange(9) * (np.pi / 17))
+ xd = np.rint(xd * 2**15).astype(np.int16)
+
+ for x in (xe, xd):
+ print()
+ for (i, xi) in enumerate(x):
+ print('0x{:04x}p-15,'.format(xi), end = '\n' if i%4 == 4-1 else ' ')
+ if len(x) % 4:
+ print()
def quant_iq_table():
@@ -161,7 +163,7 @@ def quant_iq_table():
def sns_ge_table():
- g_tilt_table = [ 14, 18, 22, 26, 30 ]
+ g_tilt_table = [ 14, 18, 22, 26, 30, 34 ]
for (sr, g_tilt) in enumerate(g_tilt_table):
print('\n--- sns ge table, sr:{} ---'.format(sr))
@@ -175,7 +177,7 @@ def inv_table():
def ltpf_resampler_table():
- for sr in [ 8, 16, 32, 24, 48 ]:
+ for sr in [ 8, 16, 32, 24, 48, 96 ]:
r = 192 // sr
k = 64 if r & (r-1) else 192
@@ -217,7 +219,6 @@ if __name__ == '__main__':
mdct_fft_twiddles()
mdct_rot_twiddles()
- mdct_scaling()
inv_table()
sns_ge_table()