Faffing around, up to 96 oscillators on VM

Thought I’d have a go at a 100 oscillator machine, but those extra 4 oscillators just cause the odd crackle out of the speakers. Runs nice and stable on 96 though. Has a presence to it!!! What stupid stuff have you done with VM?

4 Likes

Reminds me, I really should look at Voltage Modular soon :slight_smile:

3 Likes

I think the basic is free now , not sure ? . they run sales on developers bundles every now and again .

2 Likes

Yeah, I got it, just haven’t opened it.

3 Likes

yeah its an other " were did the time go " ? rabbit hole …

2 Likes

It’s a fun thing to play with… I’m using it with the beginners guide to modular synths thread.

1 Like

I got it as a free thing, from a tip on a LMNC live stream. Now all paid for and I’m really enjoying using it on my big desktop machine.

1 Like

Exactly, and that’s not a bad thing at the moment. Am looking forward to being able to create using VM, as in planning and building specific projects. Building a server, or designing and making a machine part I can do. It’s the modular bit I’m not good at.

1 Like

Neat !

Tried to make a vocoder on a Teensy (pre 4.0, not tried 4.0) and Axoloti using their VM-tools. But they could either not hack it (both did not have enough computation power), or had too little memory for the patch (Axoloti). OK, it was quite a patch, it contained:

  • 62 band pass filters,
  • 31 rectifying units,
  • 31 envelope followers
  • 31 smoothing filters
  • 31 * 31 multipliers
  • 2 summation operators ( 1 for Left, 1 for Right )

I managed to get it to run on an Analog Devices DSP board (sporting 50 Mega FLOPS) though.

Vocode-O-Matic is the version I wrote for VCV-Rack.

And then there is this future plan to try to get this to run on an FPGA board …

2 Likes

What’s VM-tools? All that turns up on a Google search is virtual machine related stuff, and I thought this was about Voltage Modular.

1 Like

With VM-tools I mean the graphical interface for Teensy and Axoloti. They both have their own. This is not an official name, just what I came up with when writing my mail. Maybe I should have just called it GUI or something similar.

1 Like

That’s an amazing load of stuff… I thought FPGAs didn’t have a lot of ram, I guess you’ll be using off dye (spelling?) memory. :slight_smile: Are there any open source FPGA programming suits out there?

I bought 2 boards over the last 2 years. One via kickstarter, MaxProLogic: Ultra Low Cost FPGA Development Board by Earth People Technology.

And the other one is the DECA Max 10 development board that cost 65 USD when I bought it.

The Max 10 FPGA should be able to run the vocoder, but I’m not sure whether I will need external memory. I’m not familiar with open source programming environment. The commercial one called Quartus however is free for non commercial users. It is huge though, counting many giga bytes in size, and must be run on Ms Windows (barf, sorry).

I did a few starter courses in VHDL and macro programming the FPGA but before I can start to program them I need to learn about fixed size arithmetic as an alternative to the many floating point operations I’m using now.

't is one of the many projects in progress…

1 Like

Quartus… yeh… got a couple of Windows VMs on a couple of Macs. It’s easy to push the reset button on Windows when it fails. Much easier than dealing with it as a non VM and the nightmare that are the updates. My CAD software only runs on Windows, it’s good CAD!

I did have a FPGA thing on a Linux box once, meant to use it for messing about. Quickly learned that you can’t really mess about with it without a huge learning curve, which was not going to happen post illness for me. Got a couple of FPGA dev boards, one with keyboard, mouse, VGA, USB… lots… had hopes of loading a BBC Micro implementation onto it.

Still, got Voltage Modular to faff around with… it’s genuinely fun to learn. :slight_smile:

1 Like

How is it (Voltage Modular) compared to VCV-Rack?

3 Likes

I don’t know, not managed to get it working on anything yet. It complains of a missing directory.

1 Like

Quartus runs fine on Linux. (That’s the only version I ever used while I was working at Altera/Intel).

The free (but not open source) version of Quartus can be used for any project (even commercial ones) the only limitations it has compared to the paid version is which devices it can target, but all the low cost devices (Cyclone and MAX) are supported.
Cyclone and MAX devices are powerful enough for most hobbyist level projects.
A few years back, I implemented a 96 voice polyphonic, 4 timbre polytimbral, 8 oscillator per voice, FM synthesizer in a Cyclone V device.
(96x8=768, so you could use it as a 768 oscillator not-quite-mega drone :slight_smile: ).

Intel’s FPGA web site is not the easiest to navigate so here is a link to the Quartus download page:
https://fpgasoftware.intel.com/?edition=lite

Quartus is indeed huge (several hundred people work on developing it), but Intel offers all sorts of online training to help get you started.
I haven’t used them myself, but these two links look like good starting points:
Become an FPGA Designer in 4 Hours
FPGA for Dummies

Edit: FM synth was implemented in Cyclone V, not Cyclone IV, but would probably work in IV too.

1 Like

Have you been able to run a recent version of quartus on a recent linux verion? I know there used to be a version that would run on linux, that’s why I was interested in it. But alas, I’ve not been able to run it on e.g. ubuntu 16 (maybe also tried ubuntu 18, not sure) and have been ‘forced’ to buy an Ms Windows license. Thx for the linx.

Oh, and impressive feat to build an FM synth! Was this a commercial product of something you did for your self? And is the code available? I’d love to see how one goes about implementing a thing like a software synthesizer. The real time aspects especially must make it hard, I guess.

3 Likes

I have run most Quartus versions from 13.1sp1 to 18.1 on Slackware Linux 14.2.
I know, that’s not very recent stuff, but I haven’t run Quartus in months (since I retired from Intel).

In particular, I hadn’t run Quartus since I upgraded my Linux box to Slackware -current, I just tried running the old versions of Quartus that I already have installed, and the most recent one that still runs is 15.1, but Slackware is not one of the officially supported OSes.

2020-07-12 UPDATE: I just installed version 20.1 of Quartus Prime Standard (the latest version that supports Cyclone IV, Cyclone IV and MAX10) and it works fine on Slackware -current

Here is a list of officially supported Operating Systems.
Red Hat is what we used at Altera, and I think they migrated to SUSE as the main OS since the acquisition by Intel.

But before you go off trying to get the latest version working, check out the “Select by Device” tab on the download page as some of the older devices such as Cyclone IV and Cyclone V, which you can find cheap boards for on AliExpress, may no longer be supported in newer versions of Quartus.

The FM synth was a personal project, just something I threw together in a few months to show at Maker Faire.
I haven’t open sourced it yet, as I still have delusions of one day turning it to a small scale commercial product.

By the way, it is mostly hardware (SystemVerilog), not software.
Only the MIDI handling stuff is implemented in software ( C language ) running on a Nios soft processor.

The timing was indeed a bit tricky with the 96 voices sharing a single copy of the pipelined synthesis engine hardware. There is even just one actual instance of the basic oscillator which is shared between all voices. The whole circuit runs at 36.864MHz which is 48kHz x 96 x 8 and determines the 96 notes polyphony and the 8 oscillators per note limitation for a 48kHz sampling rate.

2020-07-12 EDIT: Updated to show that release 20.1 works fine on Slackware -current, and fixed a few typos.

3 Likes

Oh, snap! You almost got there first!

1 Like