Author |
Message |
3vcos
Joined: Oct 26, 2006 Posts: 106 Location: California
|
Posted: Mon Jan 28, 2008 4:49 pm Post subject:
So I want to get into some basic digital... |
|
|
Hey List,
I'm looking to start making my own modules digitally. I have a pretty good background with programming languages (C++, JAVA, Visual Basic, etc) and want to start working with basic hardware with which I have no experience. Basically I'd like to learn how to make my own LFOs and Envelopes digially and then move on to more complicated modules.
Where to start? This has had me held up for a while. Microcontroller or FPGA? Anyone have an idea of which I should start with for my projects? I do want to get into signal processing (filters, delays, etc) so I'm leaning towards an FPGA as I think I need one of these to handle the processing. I could be wrong. I can get basic developement boards for either. That said if anyone wanted to recommend one I'd be happy to listen...
Any websites geared specifically towards making synth modules with Pics? With FPGAs? I already know about http://www.fpga.synth.net/
Thanks!
Tim |
|
Back to top
|
|
|
DrJustice
Joined: Sep 13, 2004 Posts: 2114 Location: Morokulien
Audio files: 4
|
Posted: Mon Jan 28, 2008 5:23 pm Post subject:
|
|
|
I think the best thing is to start out with modelling your algorithms in the programming language of your choice. Starting with the simplest things, like e.g. an LFO. That's only a few lines of code and a manageable amount of output to print out and look at.
Also seriously consider tools like MATLAB, or more realistically SciLab which is freeware. In those you can write algorithms, or indeed whole programs, in a C-like interpreted language and get nice plots of the results. They are also full of all sorts of handy functions for signal processing. Some kind of modelling in a user friendly environment is extremely useful for all types of implementations, be they microcontrollers, FPGAs, DSPs, general purpose computers or steamboilers, cogs and pushrods.
To take things further you'd also be well advised to read some books and articles on signal processing and musical synthesis. And of course, read a lot in the various subforums in the electro-music DIY section Im' sure that in due time you'll find your preferred mode of implementation.
I don't know what your starting level is, but learning these things will take some time and effort - but given a keen interest, it's all good fun and exciting challenges with great rewards. Having a background in programming is obviously an advantage. As you progress, the EM members are here for you to ask questions of and discuss with.
DJ
Edit: typos...
-- Last edited by DrJustice on Tue Jan 29, 2008 9:51 am; edited 1 time in total |
|
Back to top
|
|
|
JovianPyx
Joined: Nov 20, 2007 Posts: 1988 Location: West Red Spot, Jupiter
Audio files: 224
|
Posted: Tue Jan 29, 2008 7:59 am Post subject:
|
|
|
What Dr. Justice said...
I test my digital ideas using C (on a Linux box). You can use what you like, MATLAB or Octave can do this too.
Once you have a working digital model using something like C, it can then be translated into either a CPU, DSP or FPGA design.
The flow for my digital state variable filter went like this:
1) Develop a working SVF in C using double float arithmetic.
2) Rework the design to use large integer arithmetic
3) Code the filter in HDL and test in the dev board.
It's easier to work out algorithmic and logic problems in C or other computer language with math capabilities. With an FPGA you need to remain mindful that things can happen in parallel and not necessarily sequentially as they do in C. You can force sequential processing of data by building a state machine to make things to work step by step. |
|
Back to top
|
|
|
|