
import numpy as np
filename = "A4"
# Read the 16-bit PCM raw file
with open(f"{filename}.raw", "rb") as f:
data = np.frombuffer (f.read(), dtype=np.int16) # Read as 16-bit PCM
# Write as a C header file
with open(f" {filename} .h", "w") as f:
    f.write(f"#ifndef (filename.upper()}_H\n#define {filename.upper()}_H\n\n")
    f.write("#include <Arduino.h>\n\n")
    f.write("const int16_t %s_raw[] PROGMEM = {"%filename)
    f.write(", ".join(str(sample) for sample in data))
    f.write("};\n")
    f.write(f" const unsigned int {filename}_raw_len = {len(data) * 2};\n") # Length in bytes f.write("#endif")