Mozzi  version v2.0
sound synthesis library for Arduino
sin8192_uint8.py
1 
2 
3 
4 import array
5 import os
6 import textwrap
7 import math
8 
9 def generate(outfile, tablename, tablelength, samplerate):
10  fout = open(os.path.expanduser(outfile), "w")
11  fout.write('#ifndef ' + tablename + '_H_' + '\n')
12  fout.write('#define ' + tablename + '_H_' + '\n \n')
13  fout.write('#include <Arduino.h>'+'\n')
14  fout.write('#include "mozzi_pgmspace.h"'+'\n \n')
15  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(tablelength)+'\n')
16  fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
17  outstring = 'CONSTTABLE_STORAGE(int8_t) ' + tablename + '_DATA [] = {'
18  halftable = tablelength/2
19  try:
20  for num in range(tablelength):
21 
23  x = float(num)/tablelength
24 
25  t_x = (math.cos(2*math.pi*x-math.pi)+1)/2
26 
27  scaled = int(math.floor(t_x*255.999))
28 
29  outstring += str(scaled) + ', '
30 
32  finally:
33  outstring = textwrap.fill(outstring, 80)
34  outstring += '\n }; \n \n #endif /* ' + tablename + '_H_ */\n'
35  fout.write(outstring)
36  fout.close()
37  print "wrote " + outfile
38 
39 
40 generate("~/Desktop/sin8192_uint8.h", "sin8192_uint", 8192, "8192")