Search the Community
Showing results for tags 'FPGA'.
-
I am going to make parts of my Pyratone sound system available for DIY projects - possibly as a replacer for the SID :-) Currently I am designing a system to incorporate both, the sound engine as well as dsp-processors into one FPGA. (My latest system with a Cyclone IV and Spartan beeing used on stage covers about 6-8 FPGAs altogether and runs on eval boards of Altera and Xilinx which is not suitable for normal designers or musicians). Now, I first found a module which seems to make it possible to offer functions for a reasonable price beeing interesting also for DIY. Several parts of the system are already running in professional systems for audio test, ultra sonic and radar apps. For a first step, there will be a demo board which can be purchased or self built with audio IO apps to test the engine. According to the need of the musicians I will select the detailed functions, so I am starting discussion now to be able to react on musicians demands. What is planned: 4 parallel instruments with at least 64 channels, maybe 128 - depending on RAM and FPGA. At the moment 64 channels. The 64 channels incorporate 61 + 3 voices 61 voices behave like a piano, meaning 61 times polyphone, 3 voices behave like a mono synth. This leads to 4x4 instruments, where 4 can be pianos, organs or keyboards, and 12 individual monophone voices. Each voice has 4 Oscillators and 6 sound paths in parallel causing harmonics, FM modulation and more based on classical and parametric wave forms. All patchs can be routet to 8 channels, leading to voices which can be moved spatially. All voices and parameters have their own ADSR and LFOs. So pressing keys after each other will start individual LFOs and sound behavour. OSCs have up 768kHz sample rate, LFOs up to 16384 sample rate. All parameters have 10 bits instead of 7 bis resolution. Sounds and Parameters can be modulated in real time from MIDI and UART (PC). Altogether there are (LFO + ADSR) 4000 units running at the same time Reverb is added dynamically creating more sound sources. Altogether 4 x 6 x (1+2) sound sources are available for one sound to drive the 8 channels, so one sound of any key will appear in different ways at different points of time The placement runs according virtual microphone placement according to ORTF and AB strategie causing spatial effects The 8 channel sound processor can by layered in that way the 4 instruments create 4 different spatial scenes MIDI Layering makes sure that you can attach 4 keyboards, split and joyn them that way that it is possible to drive 16 different sound scenes the same time. so a 96 Key Piano can be emulated with two real keyboards such as one keyboard could drive a dual manual organ with 2x126 keys According to the demand and place in the FPGA, also MIDI ARPs, Sampling, Wavetable and BEATMORPH is available. See www.96khz.org regarding my projects. I also might add the Graphical Oscilloskop and Graphical Equalizers and Master Compressors is possible. Highlight: A real time audio to midi converter for guitar and human voice to drive the synth directly. Planned: Support for polyphone after touch and USB to interface to Roli Seaboard, Touch Keys and similar devices. More details to come at WWW.PYRATONE,DE ------------------------------------------------- The system makes use of some routing and programming technologies which are only possible in FPGAs and can in no way be made real in DSP-Systems. Several design principals regarding detailled FPGA design are even invented by myself like 3D pipelining and static roll off FSM and totally unique, nowhere documented and only available in my FPGAs system. Technical details, so far as planned / realized 24 Bit precision frequency input setting with high prescision of less than 0,1 Cent deviation Frequency range 8 Hz to 24kHz (consumer) or 0,2 Hz to 300 kHz) MIDI timing up to 375 bpm with precision of 0,03 Hz - self synchronized, externally synched, manually synched Recognizes Note On, Off, Value, Velocity, Aftertouch, Channel Number ... 4x Normal MIDI (31k, DIN5) and 4x fast MIDI 2000 (3MBit via S/PDIF) 256 MIDI Notes recognized, 4 tables for MIDI note to Frequency conversion including "Bach pure", "chromatic-balanced" , "piano spread" and "PYRA86" (my 196/185 tuning) - reprogramable!!! Global tuning, Fine Tuning, Vibrato and the typical functions of keyboards Harmonics, Distortion, FM. Cutof and the typicall functions of synths Wavetable according to resources in FPGA, at least for 2-3 parallel voices, 4MB sample RAM Envelopes with ADSR and /OR LFOs for all filters and parameters in parallel per key. Reverb with 4MB 32 bit resoution, 3D Placer 8 channel outputs at 24 Bit / 96kHz with simple PDM analog, I2S, DSD256 and TDM96-8, 4 extra channel for double bass aray ------------------------------------------------- * all parameters are preliminary.
- 5 replies
-
- pyratone
- synthesizer
-
(and 3 more)
Tagged with:
-
Because my Waldorf Midibay became too small for connecting all of my MIDI equipment, I went ahead and designed my own MIDI matrix / programmable patchbay. The modular MIDIbox Matrix has up to 56 input and 56 output ports and provides a smart solution for the fact that not all MIDI equipment is usually located in the same rack or corner of the studio space. MIDIbox Matrix features break-out boxes (BOBs) that give access to 4 MIDI in and 4 MIDI out ports at a time. These are connected via 9-pin serial cables to the main unit and are designed to be conveniently placed in the back of your rack, e.g. attached to the inner sidewall of a rack enclosure with screws or velcro tape. This means that instead of running 8 MIDI cables to the MIDIbox Matrix in order to connect four synths, you only need a single, cheap serial cable from your side rack to the center point of your matrix. Two BOBs each connect to a single I/O board, which does all the level shifting and signal refreshing. Up to seven I/O boards can be attached to the heart of the MIDIbox Matrix, an FPGA-based switching and routing logic that is controlled via a core board such as the STM32 or the LPC17. As the system is highly modular, it is possible to start with a low port count (4) and then increase the number of available ports by simply adding I/O boards and BOBs as needed. Fully loaded, i.e. offering 56 input and 56 output MIDI ports, the MIDIbox Matrix consists of 1x FPGA board 7x I/O boards 14x BOBs plus a core board and the PCB holding the user interface. This is how a BOB looks like in my setup: Software-wise, this is almost ready - everything works as expected, just the PANIC button has to be implemented in the next weeks, and some code cleanup will be necessary. You can find more documentation in the Wiki if you are interested. Kind regards, ilmenator