#!/usr/bin/env python3
import wave
import random
import struct
import sys
import math
"""
This script will generate a text file to be fed into the rom_generator.py script.
It will print out the keyboard letter mappings in ASCII to piano notes. The piano notes
are stored in terms of tone_switch_periods for a given clock frequency.
"""
output_file = sys.argv[1]
# Can supply custom clock frequency, otherwise defaults to 125 Mhz
if len(sys.argv) > 2:
clock_freq = float(sys.argv[2])
else:
clock_freq = 125.0e6
piano_output_file = open(output_file, 'w')
for ascii_index in range(256):
if chr(ascii_index) in note_map:
note_freq = note_map[chr(ascii_index)]
note_fcw = (note_freq / (125e6 / 1024)) * (2**24)
piano_output_file.write(str(int(round(note_fcw))) + "\n")
else:
piano_output_file.write("0\n")
piano_output_file.close()