This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2014:fpga_midi_synth [2014/12/18 23:44] criley1 |
2014:fpga_midi_synth [2014/12/18 23:49] (current) criley1 |
||
---|---|---|---|
Line 49: | Line 49: | ||
**Code:** | **Code:** | ||
- | The commented code is provided for download in the wiki. The archive file includes helpful links about MIDI files, the Python script, the Xilinx project, the sample MIDI file used, and the generated memory file. | + | The commented code is provided for download in the wiki. The archive file includes helpful links about MIDI files, the Python script, the Xilinx project, the sample MIDI file used, and the generated memory file. You can download the Python MIDI library at [[https://github.com/vishnubob/python-midi|github]], but it is also included in the archive. |
+ | |||
+ | You can set the Python script to output every event in a MIDI file with the lines: | ||
+ | |||
+ | import midi | ||
+ | |||
+ | data = midi.read_midifile(FILE NAME HERE) | ||
+ | |||
+ | print(data) | ||
If you want to simulate the synthTop.v file inside Modelsim, you have to make your own test bench and remove the black box DDS since the DDS is built into Xilinx only. | If you want to simulate the synthTop.v file inside Modelsim, you have to make your own test bench and remove the black box DDS since the DDS is built into Xilinx only. | ||
Line 81: | Line 89: | ||
-Since binary numbers are integers and we're shifting low pitches up to change octaves, the phase increment inputs will be slightly inaccurate for higher notes. Future work could include experimenting with different methods to produce accurate phase increment input for the entire range of notes. | -Since binary numbers are integers and we're shifting low pitches up to change octaves, the phase increment inputs will be slightly inaccurate for higher notes. Future work could include experimenting with different methods to produce accurate phase increment input for the entire range of notes. | ||
+ | {{:2014:finalzip.zip|}} |