* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Slide 1 - Digilent Design Contest
Survey
Document related concepts
Transcript
Outline • Digital music • The power of FPGA • The “DigitalSynth” project – Hardware – Software • Conclusion • Demo 2 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. 3 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? 4 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. 5 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), 6 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). 7 Block diagram 8 Oscillator unit • The design uses oscillators to generate two kinds of waves: – sawtooth – square 9 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. 10 Amplitude modulation • The ADSR envelope model is used for modulation. 11 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. 12 Amplitude modulation 13 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. 14 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. 15 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. 16 Polyphony arbitration 17 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. 18 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. 19 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. 20 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. 21 Audio effects unit 22 Audio effects unit • Audio effects can be represented as a system: 23 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. 24 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. 25 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. 26 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. 27 The software application 28 The software application 29 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. 30 31