310 likes | 471 Views
Outline. Digital music The power of FPGA The “DigitalSynth” project Hardware Software Conclusion Demo. Digital music. Music has a powerful presence in our culture. Instruments have evolved from rocks and bones to digital devices, becoming more and more sophisticated. Digital music.
E N D
Outline • Digital music • The power of FPGA • The “DigitalSynth” project • Hardware • Software • Conclusion • Demo
Digital music • Music has a powerful presence in our culture. • Instruments have evolved from rocks and bones to digital devices, becoming more and more sophisticated.
Digital music • Music has a powerful presence in our culture. • Instruments have evolved from rocks and bones to digital devices, becoming more and more sophisticated. • Digital instruments have been around for a long time already. • High performance = high prices?
The power of FPGA • Newer families of FPGA are both powerful and cheap. But are they suitable for digital instruments? • The main advantage is that the architecture is easily reconfigurable. • FPGAs have started to offer most of what expensive chips do: • high speed circuits, • large memory blocks, • multipliers, etc.
The “DigitalSynth” project • The design is based on two components: • hardware (the synthesizer with four-note polyphony, capable of applying digital audio effects (delay, echo, reverb, vibrato, flange), capable of playing MIDI files and recording MIDI files),
The “DigitalSynth” project • The design is based on two components: • hardware (the synthesizer with four-note polyphony, capable of applying digital audio effects (delay, echo, reverb, vibrato, flange), capable of playing MIDI files and recording MIDI files), • software (the user interface that handles the MIDI files, displays their music sheet and controls the audio effects).
Oscillator unit • The design uses oscillators to generate two kinds of waves: • sawtooth • square
Oscillator unit • There are four oscillators. Each of them generates one wave whose type can be selected by the user. • The amplitude of the generated wave is modulated AM (amplitude modulation) synthesis.
Amplitude modulation • The ADSR envelope model is used for modulation.
Amplitude modulation • The attack phase starts when a key is pressed.The decay phase follows.The sustain phase lasts as long as the key is pressed.The release phase starts when the key is released. • Modulation is realized by multiplying the audio data by the values of the ADSR envelope.
Note selector unit • There are two sources of control: • the keyboard, • the software application. • When the user plays a MIDI file on the FPGA board, the software application controls the four oscillators.In the rest of the time, the keyboard controls them.
Keyboard unit • The design uses 17 keys of the PS/2 keyboard. Pressing a valid combination of one, two, three or four notes will generate an equal number of waves.
Polyphony arbitration • There are 17 keys and only 4 oscillators, so a polyphony arbitration rule is needed: • if there are more than four keys pressed, the “excess” of notes will not be rendered, • if one of the four pressed keys is released, then a new key can be handled. • By keeping track of the status of the 17 keys, the design determines which notes get to be rendered by the four oscillators.
USB unit • The design implements the Digilent Parallel Interface Model. • The software application controls the wave type, the audio effects parameters and the oscillators during MIDI file playing.
USB unit • On the software side, USB communication means calling the methods that are defined in the “dpcutil.dll” dynamic library. • On the hardware side, USB communication needs implementing a parallel communication protocol that uses an 8-bit data bus and strobes.
Audio effects unit • The design allows applying audio effects such as delay, echo, reverb, vibrato and flange on the sounds generated by the oscillators. • The design generates audio samples with the frequency of 48 kHz. • These effects use samples generated at various moments in the past, and for this purpose they use a circular buffer.
Audio effects unit • Writing in the circular buffer is done with the frequency of 48 kHz. • Reading is allowed in the rest of the time. • Writing is done at a certain address which is increased for every new sample of data. • Reading at various offsets in relation to the write address leads to accessing older data.
Audio effects unit • Audio effects can be represented as a system:
Audio effects unit • The delay effect requires reading data with a constant delay. • The echo effect is similar to the delay effect, but its system has feedback, for more depth.(The larger the feedback, the longer the effect is perceived.) • The reverb effect requires reading several data with constant delays.
Audio effects unit • The vibrato effect requires reading data with a modulated delay. The modulation can be sinusoidal or triangular. The system outputs only the processed data. • The flange effect is similar to the vibrato effect, but its system has feedback for more depth, and outputs a mix of the original and the processed data.
SPI unit • The result of the oscillators is processed by the effect units or it can pass unmodified. • In order to be output by the speaker, data must be serially sent to the digital-to-analog converter. • The converter receives the samples and outputs corresponding voltages. The speaker transforms voltage values into sounds.
The software application • “DigitalSynth” provides a user interface that allows: • opening format 1 MIDI files and displaying the music sheet, • playing the MIDI file on the FPGA board, • recording a new MIDI file from the FPGA board, • controlling the audio effects.
Conclusion • FPGA architecture is suitable for digital instruments (and more). • DSP functions can be easily implemented. • The Digilent Nexys board offers the possibility to experiment and even innovate.