only use one stereo channel
This commit is contained in:
parent
8942de16ab
commit
ae3bfd264d
|
@ -77,22 +77,27 @@ class Background:
|
||||||
|
|
||||||
|
|
||||||
def audio_from_raw(raw):
|
def audio_from_raw(raw):
|
||||||
"""convert bytewise signed 16bit little endian to int list"""
|
"""convert bytewise signed 16bit little endian to int list, only take one stereo channel"""
|
||||||
out = []
|
out = []
|
||||||
high = False
|
sample_byte = 0
|
||||||
current = 0
|
current = 0
|
||||||
|
|
||||||
for value in raw:
|
for value in raw:
|
||||||
value = ord(value[0])
|
value = ord(value[0])
|
||||||
if high:
|
if sample_byte == 0:
|
||||||
|
current = value
|
||||||
|
sample_byte = 1
|
||||||
|
elif sample_byte == 1:
|
||||||
sign = value & 0x80
|
sign = value & 0x80
|
||||||
current = current + 256 * (value & 0x7F)
|
current = current + 256 * (value & 0x7F)
|
||||||
if sign:
|
if sign:
|
||||||
current = -((~current & 0x7FFF) + 1)
|
current = -((~current & 0x7FFF) + 1)
|
||||||
out.append(current)
|
out.append(current)
|
||||||
high = False
|
sample_byte = 2
|
||||||
|
elif sample_byte == 2: # skip other stereo channel
|
||||||
|
sample_byte = 3
|
||||||
else:
|
else:
|
||||||
current = value
|
sample_byte = 0
|
||||||
high = True
|
|
||||||
return out
|
return out
|
||||||
|
|
||||||
|
|
||||||
|
@ -182,7 +187,7 @@ class Fft_output:
|
||||||
|
|
||||||
self._background.clear()
|
self._background.clear()
|
||||||
for col in range(self._width):
|
for col in range(self._width):
|
||||||
normalized = min(int(abss[col] / (self._height * self._windowsize * 1000)), self._height)
|
normalized = min(int(abss[col] / (self._height * self._windowsize * 300)), self._height)
|
||||||
color = COLORS[normalized-1]
|
color = COLORS[normalized-1]
|
||||||
for row in range(self._height - normalized, self._height):
|
for row in range(self._height - normalized, self._height):
|
||||||
self._out.set_box(col, row, color[0], color[1], color[2])
|
self._out.set_box(col, row, color[0], color[1], color[2])
|
||||||
|
|
Loading…
Reference in New Issue