mirror of
https://gitlab.com/drummyfish/anarch.git
synced 2024-11-21 08:25:05 -05:00
Add script
This commit is contained in:
parent
9509f650df
commit
1892ebab81
50
assets/snd2array.py
Normal file
50
assets/snd2array.py
Normal file
@ -0,0 +1,50 @@
|
||||
# Python tool to convert a sound to C array.
|
||||
#
|
||||
# Pass sound file name to this sctipt as a parameter. The file must be in raw
|
||||
# mono 8kHz 8bit PCM format.
|
||||
#
|
||||
# by drummyfish
|
||||
# released under CC0 1.0.
|
||||
|
||||
import sys
|
||||
|
||||
even = True
|
||||
val = 0
|
||||
|
||||
result = ""
|
||||
|
||||
first = True
|
||||
|
||||
count = 0
|
||||
|
||||
with open(sys.argv[1], "rb") as f:
|
||||
while True:
|
||||
byte = f.read(1)
|
||||
|
||||
if byte == b"":
|
||||
break
|
||||
|
||||
byte = ord(byte)
|
||||
|
||||
quantized = byte / 16
|
||||
|
||||
if even:
|
||||
val = quantized << 4
|
||||
else:
|
||||
val = val | quantized
|
||||
|
||||
count += 1
|
||||
|
||||
if first:
|
||||
first = False
|
||||
else:
|
||||
result += ","
|
||||
|
||||
if count % 20 == 0:
|
||||
result += "\n"
|
||||
|
||||
result += str(val)
|
||||
|
||||
even = not even
|
||||
|
||||
print("uint8_t sound[" + str(count) + "] = {\n" + result + "\n}")
|
Loading…
Reference in New Issue
Block a user