Drone Synth

FPGASynth.DroneSynth History

Hide minor edits - Show changes to markup

March 03, 2010, at 11:53 PM by 98.119.9.10 -
Changed line 2 from:

FPGA Drone Synth

to:

FPGA Drone Synth

March 03, 2010, at 11:00 PM by 98.119.9.10 -
Changed lines 12-13 from:

The Spartan-3E implementation runs at a sample rate of 250 KHz. Depending on the notes used, this may be "overkill"

to:

The Spartan-3E implementation runs at a sample rate of 250 KHz. Depending on the notes used, this may be "overkill". If low frequency fundamental notes are used, many harmonics can be used without stepping beyond the Nyquist limit. The sample rate can be lowered, eg. 125 KHz, but the limit for any harmonic frequency drops proportionately. In the case of halving the sample rate, the number of oscillators could be doubled.

March 03, 2010, at 10:54 PM by 98.119.9.10 -
Changed line 6 from:

Other Possible Hardware

to:

Other Possible Hardware:

Changed line 9 from:

Description:

to:

Description:

March 03, 2010, at 10:53 PM by 98.119.9.10 -
Changed line 6 from:

Other Possible Hardware

to:

Other Possible Hardware

March 03, 2010, at 10:53 PM by 98.119.9.10 -
Changed line 2 from:

Drone Synth

to:

FPGA Drone Synth

March 03, 2010, at 10:52 PM by 98.119.9.10 -
Changed line 1 from:

Author: Scott Gravenhorst[<<]]

to:
March 03, 2010, at 10:52 PM by 98.119.9.10 -
Changed lines 1-2 from:
to:

Author: Scott Gravenhorst[<<]] Drone Synth

Changed line 6 from:

Other Possible Hardware

to:

Other Possible Hardware

Deleted lines 8-9:

Drone Synth

March 03, 2010, at 10:51 PM by 98.119.9.10 -
Added line 6:

Other Possible Hardware

March 03, 2010, at 10:50 PM by 98.119.9.10 -
Changed line 3 from:

HDL: Verilog

to:

HDL: Verilog

March 03, 2010, at 10:47 PM by 98.119.9.10 -
Changed lines 3-6 from:

HDL: Verilog

Hardware: Xilinx Spartan-3E Starter Kit (dev. board).

to:

HDL: Verilog Hardware: Xilinx Spartan-3E Starter Kit (dev. board).

March 03, 2010, at 10:47 PM by 98.119.9.10 -
Changed lines 3-6 from:

++HDL: Verilog++

++Hardware: Xilinx Spartan-3E Starter Kit (dev. board).++

to:

HDL: Verilog

Hardware: Xilinx Spartan-3E Starter Kit (dev. board).

March 03, 2010, at 10:46 PM by 98.119.9.10 -
Changed lines 3-6 from:

HDL: Verilog

Hardware: Xilinx Spartan-3E Starter Kit (dev. board).

to:

++HDL: Verilog++

++Hardware: Xilinx Spartan-3E Starter Kit (dev. board).++

March 03, 2010, at 10:45 PM by 98.119.9.10 -
Added line 4:
March 03, 2010, at 10:45 PM by 98.119.9.10 -
Changed lines 3-6 from:

Verilog, designed for the Xilinx Spartan-3E Starter Kit (dev. board).

The Verilog source code will synthesize directly for a Spartan-3E Starter Kit. The sample rate is 250 KHz. Using a Spartan-3E 500K, the design uses only 49% of available slices, so it seems likely that the code will also synthesize and work correctly with an Avnet Spartan-3A 400K board. It would need a hardware DAC and the MIDI electrical interface. Sample rate may be different causing tuning ROM changes.

to:

HDL: Verilog Hardware: Xilinx Spartan-3E Starter Kit (dev. board).

The Verilog source code will synthesize directly for a Spartan-3E Starter Kit. Using a Spartan-3E 500K, the design uses only 49% of available slices, so it seems likely that the code will also synthesize and work correctly with an Avnet Spartan-3A 400K board. It would need a hardware DAC and the MIDI electrical interface. Sample rate may be different causing tuning ROM changes.

Added lines 13-14:

The Spartan-3E implementation runs at a sample rate of 250 KHz. Depending on the notes used, this may be "overkill"

March 03, 2010, at 10:39 PM by 98.119.9.10 -
Changed lines 5-6 from:

The verilog source code will synthesize directly for a Spartan-3E Starter Kit. The sample rate is 250 KHz. Using a Spartan-3E 500K, the design uses only 49% of available slices, so it seems likely that the code will also synthesize and work correctly with an Avnet Spartan-3A 400K board. It would need a hardware DAC and the MIDI electrical interface. Sample rate may be different causing tuning ROM changes.

to:

The Verilog source code will synthesize directly for a Spartan-3E Starter Kit. The sample rate is 250 KHz. Using a Spartan-3E 500K, the design uses only 49% of available slices, so it seems likely that the code will also synthesize and work correctly with an Avnet Spartan-3A 400K board. It would need a hardware DAC and the MIDI electrical interface. Sample rate may be different causing tuning ROM changes.

March 03, 2010, at 10:39 PM by 98.119.9.10 -
Changed lines 5-6 from:

With the Spartan-3E 500K, the design uses only 49% of available slices, so it seems likely that the code will also synthesize and work correctly with an Avnet Spartan-3A 400K board. It would need a hardware DAC and the MIDI electrical interface. Sample rate may be different causing tuning ROM changes. The code should synthesize directly for a Spartan-3E Starter Kit.

to:

The verilog source code will synthesize directly for a Spartan-3E Starter Kit. The sample rate is 250 KHz. Using a Spartan-3E 500K, the design uses only 49% of available slices, so it seems likely that the code will also synthesize and work correctly with an Avnet Spartan-3A 400K board. It would need a hardware DAC and the MIDI electrical interface. Sample rate may be different causing tuning ROM changes.

March 03, 2010, at 10:35 PM by 98.119.9.10 -
March 03, 2010, at 10:17 PM by 98.119.9.10 -
Changed lines 5-6 from:

With the Spartan-3E 500K, the design uses only 49% of available slices, so it seems likely that the code will also synthesize and work correctly with an Avnet Spartan-3A 400K board. It would need a hardware DAC and the MIDI electrical interface. Sample rate may be different and then tuning ROM changes. The code should synthesize directly for a Spartan-3E Starter Kit.

to:

With the Spartan-3E 500K, the design uses only 49% of available slices, so it seems likely that the code will also synthesize and work correctly with an Avnet Spartan-3A 400K board. It would need a hardware DAC and the MIDI electrical interface. Sample rate may be different causing tuning ROM changes. The code should synthesize directly for a Spartan-3E Starter Kit.

March 03, 2010, at 10:15 PM by 98.119.9.10 -
Changed lines 7-8 from:

Drone Synth

to:

Drone Synth

March 03, 2010, at 10:13 PM by 98.119.9.10 -
Changed lines 3-4 from:

Verilog, designed for the Xilinx Spartan-3E Starter Kit (dev. board).

to:

Verilog, designed for the Xilinx Spartan-3E Starter Kit (dev. board).

With the Spartan-3E 500K, the design uses only 49% of available slices, so it seems likely that the code will also synthesize and work correctly with an Avnet Spartan-3A 400K board. It would need a hardware DAC and the MIDI electrical interface. Sample rate may be different and then tuning ROM changes. The code should synthesize directly for a Spartan-3E Starter Kit.

March 03, 2010, at 10:05 PM by 98.119.9.10 -
Changed line 20 from:

Here is the source (which will work with the free VB.NET Express Edition)

to:

Here is the patch editor source (which will work with the free VB.NET Express Edition)

March 03, 2010, at 10:03 PM by 98.119.9.10 -
Changed lines 16-17 from:

Settings can be sent with system exclusive messages. These messages can be part of the MIDI stream or a separate COM port connection. The VB.NET patch editor does.

to:

Settings can be sent with system exclusive messages. These messages can be part of the MIDI stream or a separate COM port connection. The VB.NET patch editor collects settings data from sliders and other controls and sends them over the selected COM port to the synth.

March 03, 2010, at 09:57 PM by 98.119.9.10 -
Deleted line 20:
March 03, 2010, at 09:56 PM by 98.119.9.10 -
Changed lines 16-17 from:

Settings can be sent with system exclusive messages. I do this with a VB.NET program.

to:

Settings can be sent with system exclusive messages. These messages can be part of the MIDI stream or a separate COM port connection. The VB.NET patch editor does.

Note: The synth will get bad data if you try to send patch data over the COM port while sending messages from the keyboard controller over MIDI. The PicoBlaze MIDI and TTY MCU driver is too simple to handle it.

March 03, 2010, at 09:39 PM by 98.119.9.10 -
Changed line 20 from:
  • [[(Attach:)SineSynth_Patch_Editor_VB.zip - VB.NET project files for the patch editor.
to:
March 03, 2010, at 09:39 PM by 98.119.9.10 -
Changed lines 16-20 from:
to:

Settings can be sent with system exclusive messages. I do this with a VB.NET program.

Here is the source (which will work with the free VB.NET Express Edition)

  • [[(Attach:)SineSynth_Patch_Editor_VB.zip - VB.NET project files for the patch editor.
March 03, 2010, at 09:32 PM by 98.119.9.10 -
Changed lines 8-9 from:

This MIDI monophonic synthesizer made up of 32 sinewave generators each amplitude modulated by low frequency noise to create slowly evolving timbre changes. Portamento is applicable separately to any of the 32 sinewave generators. After the 32 sinewaves are summed, they are passed through an NCF controlled by an ADSR, the NCF is a state variable filter in lowpass mode. Finally, the NCF output is passed through an NCA controlled by another ADSR.

to:

This MIDI monophonic synthesizer is made up of 32 sinewave generators each amplitude modulated by low frequency noise to create slowly evolving timbre changes. Portamento is applicable separately to any of the 32 sinewave generators. After the 32 sinewaves are summed, they are passed through an NCF controlled by an ADSR, the NCF is a state variable filter in lowpass mode. Finally, the NCF output is passed through an NCA controlled by another ADSR.

March 03, 2010, at 05:33 PM by 98.119.9.10 -
Changed lines 3-4 from:

Verilog, designed for Spartan-3A DSP 1800 FPGA (dev. board).

to:

Verilog, designed for the Xilinx Spartan-3E Starter Kit (dev. board).

March 03, 2010, at 05:32 PM by 98.119.9.10 -
Changed lines 12-13 from:
  • A Sample of a single keypress using 16 of the 32 available oscillators: http://electro-music.com/forum/download.php?id=20641
to:
  • A Sample of a single keypress using 16 of the 32 available oscillators: http://electro-music.com/forum/download.php?id=20641 I am not certain, but I believe that the integer multipliers are set to prime numbers and unity.
March 03, 2010, at 05:29 PM by 98.119.9.10 -
Changed lines 12-16 from:
  • sine_synth.mp3 - Several minutes of two different drones. The settings changed were mainly the integer harmonic values. The first drone uses 16 of the sinewave generators starting with harmonic 1 and continues with prime numbered harmonics (2,3,5,7,etc). The second drone uses all 32 sinewave generators, the harmonic numbers are sequential starting at 1.
to:
  • A Sample of a single keypress using 16 of the 32 available oscillators: http://electro-music.com/forum/download.php?id=20641
  • A sample that uses 32 oscillators, harmonics 1 through 32 with main levels set like sawtooth (and would be without the noise modulation): http://electro-music.com/forum/download.php?id=20649
March 03, 2010, at 05:18 PM by 98.119.9.10 -
Changed line 12 from:
to:
  • sine_synth.mp3 - Several minutes of two different drones. The settings changed were mainly the integer harmonic values. The first drone uses 16 of the sinewave generators starting with harmonic 1 and continues with prime numbered harmonics (2,3,5,7,etc). The second drone uses all 32 sinewave generators, the harmonic numbers are sequential starting at 1.
March 03, 2010, at 05:12 PM by 98.119.9.10 -
Added lines 1-12:

Author: Scott Gravenhorst

Verilog, designed for Spartan-3A DSP 1800 FPGA (dev. board).

Drone Synth

Description: This MIDI monophonic synthesizer made up of 32 sinewave generators each amplitude modulated by low frequency noise to create slowly evolving timbre changes. Portamento is applicable separately to any of the 32 sinewave generators. After the 32 sinewaves are summed, they are passed through an NCF controlled by an ADSR, the NCF is a state variable filter in lowpass mode. Finally, the NCF output is passed through an NCA controlled by another ADSR.