Merge pull request 'utils: add audio conversion script, update image creation' (#4) from tdraudio-pcm into main

Reviewed-on: #4
This commit is contained in:
slederer 2025-10-13 00:51:46 +02:00
commit db6baab1f3
2 changed files with 34 additions and 0 deletions

View file

@ -538,6 +538,9 @@ def create_image_with_stuff(imgfile):
slotnr = putfile("../progs/recover.prog", None , f, part, partstart, slotnr)
slotnr = putfile("../progs/changemem.prog", None , f, part, partstart, slotnr)
slotnr = putfile("../lib/pcmaudio.s", None , f, part, partstart, slotnr)
slotnr = putfile("../lib/pcmaudio.inc", None , f, part, partstart, slotnr)
listdir(f, part)
# third partition
@ -600,6 +603,8 @@ def create_image_with_stuff(imgfile):
slotnr = putfile("../examples/lines.pas", None , f, part, partstart, slotnr)
slotnr = putfile("../examples/pcmtest2.pas", None , f, part, partstart, slotnr)
slotnr = putfile("../examples/pictviewer.pas", None , f, part, partstart, slotnr)
slotnr = putfile("../examples/Toco_Toucan.pict", None , f, part, partstart, slotnr)
slotnr = putfile("../examples/shinkansen.pict", None , f, part, partstart, slotnr)

29
utils/wav2tdrau.py Normal file
View file

@ -0,0 +1,29 @@
import sys
import random, struct
import wave
freq = 16000
BIAS = 32768
def convert(srcpath, destpath):
outdata = bytearray()
with wave.open(srcpath, mode="rb") as f:
params = f.getparams()
print(params.nchannels, params.sampwidth, params.framerate)
frames = f.readframes(2*1024*1024)
for i in range(0, len(frames), 2):
v = int.from_bytes(frames[i:i+2], "little", signed=True)
v += BIAS
hi = (v & 0xFF00) >> 8
lo = (v & 0x00FF)
outdata.append(hi)
outdata.append(lo)
with open(destpath, mode="wb") as f:
f.write(outdata)
if __name__ == "__main__":
sourcefilename = sys.argv[1]
destfilename = sys.argv[2]
convert(sourcefilename, destfilename)