2020-02-18 11:05:27 +00:00
|
|
|
import numpy as np
|
2019-12-03 23:00:54 +00:00
|
|
|
lookup_tables = []
|
|
|
|
lookup_tables_32 = []
|
|
|
|
|
2020-02-18 11:05:27 +00:00
|
|
|
ADC_RESOLUTION = 512
|
|
|
|
OUTPUT_RESOLUTION = 4096
|
2019-12-03 23:00:54 +00:00
|
|
|
|
|
|
|
# linear to exponential conversion
|
|
|
|
|
|
|
|
values = []
|
2020-02-18 11:05:27 +00:00
|
|
|
size = ADC_RESOLUTION
|
2020-02-18 00:56:45 +00:00
|
|
|
for x in range(1, int(size) + 1):
|
2020-02-18 11:05:27 +00:00
|
|
|
values.append(np.power(x / float(ADC_RESOLUTION), 2) * OUTPUT_RESOLUTION)
|
2019-12-03 23:00:54 +00:00
|
|
|
|
|
|
|
lookup_tables.append(('linear_to_exp', values))
|
2019-12-03 23:44:46 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Left pan Lookup table
|
|
|
|
|
2020-02-18 11:05:27 +00:00
|
|
|
l_pan = np.linspace(0, OUTPUT_RESOLUTION, num=ADC_RESOLUTION)
|
|
|
|
r_pan = np.linspace(0, OUTPUT_RESOLUTION, num=ADC_RESOLUTION)
|
2019-12-03 23:44:46 +00:00
|
|
|
|
2020-02-18 11:05:27 +00:00
|
|
|
l_pan = np.sin((l_pan / OUTPUT_RESOLUTION) * (np.pi / 2.0))
|
|
|
|
r_pan = np.cos((r_pan / OUTPUT_RESOLUTION) * (np.pi / 2.0))
|
2019-12-03 23:44:46 +00:00
|
|
|
|
2020-02-18 11:05:27 +00:00
|
|
|
l_pan = np.round(l_pan * OUTPUT_RESOLUTION)
|
|
|
|
r_pan = np.round(r_pan * OUTPUT_RESOLUTION)
|
2019-12-03 23:44:46 +00:00
|
|
|
|
|
|
|
lookup_tables.append(('left_sin_pan', l_pan))
|
|
|
|
lookup_tables.append(('right_cos_pan', r_pan))
|
|
|
|
|