eurorack/stereo_mix/resources/lookup_tables.py

32 lines
795 B
Python
Raw Normal View History

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
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))
# 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)
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))
2020-02-18 11:05:27 +00:00
l_pan = np.round(l_pan * OUTPUT_RESOLUTION)
r_pan = np.round(r_pan * OUTPUT_RESOLUTION)
lookup_tables.append(('left_sin_pan', l_pan))
lookup_tables.append(('right_cos_pan', r_pan))