22 lines
		
	
	
		
			795 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			22 lines
		
	
	
		
			795 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								# Part of SAASound copyright 1998-2018 Dave Hooper <dave@beermex.com>
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# freqdat.py
							 | 
						||
| 
								 | 
							
								# You can use this to generate an alternative SAAFreq.dat
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# By default, the SAA-1099 generator will compute a frequency table at runtime
							 | 
						||
| 
								 | 
							
								# but you can set the SAA_FIXED_CLOCKRATE define flag and supply your own (fixed,
							 | 
						||
| 
								 | 
							
								# precompiled) frequency table named SAAFreq.dat
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# This is not super-useful for general-purpose computing devices (e.g PCs), but is
							 | 
						||
| 
								 | 
							
								# useful for embedded or low-capability devices, or for hardware-based implementations
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# To use this simply run the file and pipe the output into src/SAAFreq.dat
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								BASE = 8000000
							 | 
						||
| 
								 | 
							
								SCALE = 4096
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								for octave in range(0,8):
							 | 
						||
| 
								 | 
							
								    for offset in range(0,256):
							 | 
						||
| 
								 | 
							
								        f = 2 * SCALE * (BASE/8000000) * 15625 * (2**octave) / (511-offset)
							 | 
						||
| 
								 | 
							
								        print(int(f), ',')
							 |