diff --git a/python/config.py b/python/config.py index 8cb72e9..14b6987 100644 --- a/python/config.py +++ b/python/config.py @@ -6,7 +6,7 @@ import os N_PIXELS = 60 """Number of pixels in the LED strip (must match ESP8266 firmware)""" -GAMMA_TABLE_PATH = os.path.join(os.path.dirname(__file__), 'gamma_table_2.npy') +GAMMA_TABLE_PATH = os.path.join(os.path.dirname(__file__), 'gamma_table.npy') """Location of the gamma correction table""" UDP_IP = '192.168.0.150' @@ -15,10 +15,11 @@ UDP_IP = '192.168.0.150' UDP_PORT = 7777 """Port number used for socket communication between Python and ESP8266""" -MIC_RATE = 44100 +#MIC_RATE = 44100 +MIC_RATE = 48000 """Sampling frequency of the microphone in Hz""" -FPS = 75 +FPS = 100 """Desired LED strip update rate in frames (updates) per second This is the desired update rate of the LED strip. The actual refresh rate of @@ -30,39 +31,13 @@ the duration of the short-time Fourier transform. This can negatively affect low frequency (bass) response. """ -MIN_FREQUENCY = 50 +MIN_FREQUENCY = 200 """Frequencies below this value will be removed during onset detection""" MAX_FREQUENCY = 14000 """Frequencies above this value will be removed during onset detection""" -ENERGY_THRESHOLD = 14.0 -"""Energy threshold for determining whether a beat has been detected - -One aspect of beat detection is comparing the current energy of a frequency -subband to the average energy of the subband over some time interval. Beats -are often associated with large spikes in energy relative to the recent -average energy. - -ENERGY_THRESHOLD is the threshold used to determine if the energy spike is -sufficiently large to be considered a beat. - -For example, if ENERGY_THRESHOLD = 2, then a beat is detected if the current -frequency subband energy is more than 2 times the recent average energy. -""" - -VARIANCE_THRESHOLD = 0.0 -"""Variance threshold for determining whether a beat has been detected - -Beat detection is largely determined by the ENERGY_THRESHOLD, but we can also -require frequency bands to have a certain minimum variance over some past -time interval before a beat can be detected. - -One downside to using a variance threshold is that it is an absolute threshold -which is affected by the current volume. -""" - -N_SUBBANDS = 10 # 240 #48 +N_SUBBANDS = 30 # 240 #48 """Number of frequency bins to use for beat detection More subbands improve beat detection sensitivity but it may become more @@ -72,29 +47,10 @@ Fewer subbands reduces signal processing time at the expense of beat detection sensitivity. """ -N_HISTORY = int(0.8 * FPS) -"""Number of previous samples to consider when doing beat detection - -Beats are detected by comparing the most recent audio recording to a collection -of previous audio recordings. This is the number of previous audio recordings -to consider when doing beat detection. - -For example, setting N_HISTORY = int(1.0 * config.FPS) means that one second -of previous audio recordings will be used for beat detection. - -Smaller values reduces signal processing time but values too small may reduce -beat detection accuracy. Larger values increase signal processing time and -values too large can also reduce beat detection accuracy. Roughly one second -of previous data tends to work well. -""" - GAMMA_CORRECTION = True """Whether to correct LED brightness for nonlinear brightness perception""" -N_CURVES = 1 -"""Number of curves to plot in the visualization window""" - -N_ROLLING_HISTORY = 10 +N_ROLLING_HISTORY = 2 """Number of past audio frames to include in the rolling window""" MIN_VOLUME_THRESHOLD = 1e-7 diff --git a/python/gamma_table.npy b/python/gamma_table.npy index 17cec45..b1a8940 100644 Binary files a/python/gamma_table.npy and b/python/gamma_table.npy differ diff --git a/python/gamma_table_2.npy b/python/gamma_table_2.npy deleted file mode 100644 index b1a8940..0000000 Binary files a/python/gamma_table_2.npy and /dev/null differ