DIY - Tools to Roll your own DSP Guitar / amp modeler -

Started by vanceg, August 26, 2008, 11:37:53 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

vanceg

I wanted to bring everyones attention to a couple of very neat effects devices that are coming out in the near future.
One allows you to run your VST or VSTi Plugins on a pedal board.
http://www.smproaudio.com/index.php?id=75&option=com_content&task=view

And the other lets you actually program your own effects and load them onto a guitar footpedal format box
http://www.howleraudio.com/index.html

Yamaha had a similar device out a few years ago - not nearly as flexible, though.

Just FYI. I thought they might appeal to the VG-99 community. If you think the VG-99 is lacking something - write it yourself ;-)

Vance

jkstraw

 :o  Holy crap I love the V-pedal!  Too bad about the price :-( 

I'd have to sell my vg-99 to grab that in the next 12 months!

Great find - tx for sharing.

vanceg

Quote from: jkstraw on August 27, 2008, 11:27:57 AM
:o  Holy crap I love the V-pedal!  Too bad about the price :-( 

I'd have to sell my vg-99 to grab that in the next 12 months!

Great find - tx for sharing.

Don't get too very excited - It isn't shipping yet and it is, indeed, quite expensive. I sure do wish it had a digital i/o.  their larger effects box will have more I/O.

I was thinking of loading some of my "oddball" effects onto this pedal, maybe even writing some more Windows VSTs specifically to run on this.  Right now I want/need to carry a laptop with me along with the VG-99 - for simple gigs, having the V-Pedal would help a lot in my effort to not carry the laptop.


Vance

Elantric

#3
This is slightly related


Open Stomp Coyote 1 ( $349)

http://www.openstomp.com/index.html


What is it?
   The OpenStompTM Coyote-1 is an open source audio effects processor built for guitar players. With the Coyote-1 users can develop custom audio effects in software (like distortion, echo, chorus etc.), mix multiple effects to build "patches", and exchange those effects and patches with the OpenStompTM community.

A companion Windows application (OpenStompTM Workbench) allows Users to combine effects into patches graphically, and to move patches and effects between the Coyote-1 device and their PC's disk.

The Coyote-1 O/S is open source so users can tweak it to behave any way they like, and the hardware is fully documented so that developers can take control of the whole pedal, dedicating all available system resources toward the implementation of unique custom solutions.

Elantric

https://sourceforge.net/projects/scorchcrafter/
ScorchCrafter Guitar FX DAW Plug-ins with source code

A group of audio DAW plug-ins targeting Windows (VST), Mac (VST/AU), and Linux, mostly for Guitar Amplifier simulation, with the C-120 being the flagship product (which started off long ago as a closed-source VST). Open source, mostly under GPL.



Up to 128-bit (internal) Multi-Stage Guitar Amplifier Layered Distortion, also runs in 64 and 32 bit modes
Native Mac and Linux ports coming soon
Advanced maths for tube-like guitar amplifier distortion, doesn't use cheap waveshaping
Designed with dynamic response that changes according to the input level
--- Much more than just a basic "sample in, sample out"
Up to 12x Internal Oversampling, seperate controls for live/online and off-line render
Multi-Band EQ - low, mid, high, contour, presence
Built-in custom convolution-based cab-mic effect, works with almost any sample rate and/or audio buffer size
New version of C120 has less clutter in GUI, separate page for advanced features
No commercial bloat!
GPL license, but just for the plug-in itself
Any rendered/processed audio is YOURS (any license you want)!
Hand-Coded in C++, pre-fab code or "wizards" were NOT used to build this!
Primarily built with MinGW-w64 and Code::Blocks IDE
NEW Jykwrakker plugin also features custom stereo reverb FX you won't find elsewhere.



Audio Injector Octo Raspberry pi sound card
http://www.audioinjector.net/rpi-octo-hat

https://www.vguitarforums.com/smf/index.php?topic=20678.0


Elantric

http://vi-control.net/portal/

http://vi-control.net/community/

http://www.thegearpage.net/board/index.php?threads/i-want-to-have-a-try-at-vst-making.1741705/#post-22591366
QuoteSourceForge's current site design is garbage. The code is here:
https://sourceforge.net/p/scorchcrafter/code/HEAD/tree/trunk/
There's an SVN checkout link up top, that's probably the easiest way to grab the tree. But I skimmed the code and it is admittedly not simple. I can see where things are happening but oi what a mess.

So I looked around a bit and found this series of tutorials on VST coding:
http://www.martin-finke.de/blog/articles/audio-plugins-001-introduction/
And that seems like a really gentle but solid series covering everything to get started.

http://stackoverflow.com/
http://www.dspguide.com/pdfbook.htm


pasha811

Quote from: Elantric on September 23, 2016, 04:57:44 AM
Faster CPU = Lower MIDI latency

But today each month brings faster embedded CPU single board computers in Raspberry Pi  or Beagle Bone physical size that have the horsepower to support open source linux guitar FX

Thanks.
Do you mean this ? --> http://guitarix.org/

Cheers
Pasha
Listen to my music at :  http://alonetone.com/pasha/

Elantric

Yes -along with other open source guitar FX options open new avenues 

One example of linux guitar FX is here:
https://www.vguitarforums.com/smf/index.php?topic=15860.msg113257#msg113257

Its getting apparent that these fast powerful single board computers pack lot of processing power, many have floating point DSP functions and onboard Stereo A/D DSP D/A at $40 each x three for $120 you can achieve separate string FX and have a open source V-Guitar by using a GK-3 into a Breakout box feeding three $40 single board computers  - the hardware to do this exists today
https://www.vguitarforums.com/smf/index.php?topic=19170.msg137353#msg137353


Just need a few smart cookies to contribute with the Program Code , but each month there are new guitar oriented real time FX that run on these posted at github and source forge

Google search on "open source guitar FX"  each month  - I expect this to be the future, because a few of us might die waiting for Roland to get off their butt and release a VG-99 replacement that may never arrive.

http://bfy.tw/7qm7



carlb

i like where this could go. Roland/Boss no longer supporting 13-pin? No problem. Don't like audio quality shortcuts causing fizziness? Dive-in and make the trade-offs yourself. Feel like trying your hand at pulling apart a 1/4" composite guitar signal? Have at it. Want to include true 13-pin out, after alt-tuning? Just ensure the output DACs are there.

Granted, the guys who make Roland/Boss DSP, Axe-FX DSP, Line-6 DSP have a big lead that would be tough to catch-up with.

Perhaps some crowd-funded open-source development, to help the guys-who-can spend "quality time" working the projects.
ES Les Paul, internal Roland GK
Boss SY-1000, Valeton Coral Amp pedal
Morningstar MC8 & MC6
QSC CP8 powered speaker

Elantric

We might convince Mod Devices to consider a future 6 channel GK 13 pin input version of the popular open source Mod Duo effects processor

https://www.vguitarforums.com/smf/index.php?topic=15860.msg113257#msg113257

Elantric



Elantric





http://amtelectronics.com/new/amt-pangaea-cp-16m-eb/

Our company has begun production of AMT Pangaea CP-16M module. CP-16M – is a built-in digital audio processing module with preinstalled software. AMT Pangaea CP-16 module is designed especially for those who create all sorts of guitar devices: power amplifiers, preamplifiers, guitar effects etc. The CP-16 module is so small that it can easily be integrated into any compact devices – such as "newfangled" mini effect pedals.

AMT PANGAEA CP-16M-EB EVALUATION BOARD

To make the process of getting to know easier and shorten the development time of the final product, AMT Electronics has developed a special AMT Pangaea CP-16M-EB Evaluation Board.

The board has all the necessary interfaces for quickly starting the work with the module. The user can use some circuit designs of the evaluation board for the use in his final product. Many connectors of the evaluation board are duplicated by additional connecting contacts, which can be used by the developer to move the necessary connectors to the locations determined by the final design of the user's device. That is, in cases where the developer does not need to make many instances of the device and, when not constrained by the size of the final design, he can apply the ready AMT Pangaea CP-16M-EB board, possibly making some changes to the circuit.

Elantric





http://amtelectronics.com/new/new-2017-amt-pangaea-cp-16-module/

We are pleased to announce a new device – AMT Pangaea CP-16 module.

AMT Pangaea CP-16 module lets you to emulate any Guitar Cabinet sounding by loading appropriate
Guitar Cabinets' Impulse Responses (IRs). A great amount of different IRs you can easily find in the
Internet (both paid and free).

You can load up to 16 different Guitar Cabinets' IRs in the module's memory and choose the desired
one in the right moment. You can load IRs in the CP-16 memory and control their parameters via USB
or Bluetooth interfaces.

AMT Pangaea CP-16 module is designed specially for those who create all sorts of guitar devices:
power amplifiers, preamplifiers, guitar effects etc. The CP-16 module is so small that it can easily
be integrated in any compact devices – such as "newfangled" mini effect pedals.



http://amtelectronics.com/new/manuals/AMT-Pangaea-CP-16M-ENG.pdf


--

CP-16M Eval Board



http://eshop.amtelectronics.com/new-in-2015/amt-pangaea-cp-16m-eb.html

Our company has begun production of AMT Pangaea CP16M module. CP-16M - is a built-in digital audio processing module with preinstalled software. AMT Pangaea CP-16 module is designed especially for those who create all sorts of guitar devices: power amplifiers, preamplifiers, guitar effects etc. The CP-16 module is so small that it can easily be integrated into any compact devices – such as "newfangled" mini effect pedals.
AMT Pangaea CP-16M module
To apply the module, the user must have some basic knowledge in the field of electronics and possess some computer literacy. For more detailed technical information on the module, read the description of AMT Pangaea CP-16M:
User's Guide for AMT Pangaea CP-16 (module) (ENG)

AMT PANGAEA CP-16M-EB EVALUATION BOARD
To make the process of getting to know easier and shorten the development time of the final product, AMT Electronics has developed a special AMT Pangaea CP-16M-EB Evaluation Board.
The board has all the necessary interfaces for quickly starting the work with the module. The user can use some circuit designs of the evaluation board for the use in his final product. Many connectors of the evaluation board are duplicated by additional connecting contacts, which can be used by the developer to move the necessary connectors to the locations determined by the final design of the user's device. That is, in cases where the developer does not need to make many instances of the device and, when not constrained by the size of the final design, he can apply the ready AMT Pangaea CP-16M-EB board, possibly making some changes to the circuit.


http://amtelectronics.com/new/manuals/AMT-CP-16M-EB-ENG.pdf



admin

http://msp.ucsd.edu/smeck/latest/doc/index.htm

This is very informal documentation for the Smeck guitar processing patch described in the paper, "Patch for guitar" (available as HTML or PDF ) presented at the second Pd convention in Montreal, 2007.

The patch works for guitars having a separated (6-channel) pickup and audio interface so that the computer receives six channels of audio from the guitar. One such interface is the StringPort from Keith McMillen Instruments; this works fine with macintosh computer, and on Linux with a patch to the alsa driver code (write me for that). More do-it-yourself-ish people might want to build their own pre-amp, as I did before the StringPort came out. The patch has two audio outputs.

GETTING AND RUNNING THE PATCH
The patch runs in Pd and should work on linux, macintosh, or windows machines. You can download both Pd and Smeck from http://crca.ucsd.edu/~msp/software.html.

When you download and unpack it, Smeck should appear as two directories, "smeck" and "lib". The "smeck" directory contains the actual patch, "smeck.pd" and supporting files; "lib" is a library of patches and externs used both by Smeck and by the Pd Repertory Project (PDRP), distributed separately. The main patch ("smeck.pd") expects that the "guitar" and "lib" directories should be in the same common directory as they are when first unpacked; if you move "smeck", move "lib" in parallel. (On my machine, the Pd repertory patches are aligned with these; "lib" is included in both distributions. If you have up-to-date copies of both, you can rearrange them that way on your machine too.)

To run the patch you will need to make sure it has the right channel assigments for the 6 guitar strings; this is specified in the file, "locale.txt". The one that's distributed should correspond to the StringPort. The variables, chnl-string1, etc, specify which audio channel corresponds to the six guitar strings. For example, "chnl-string1" specifies the ADC channel corresponding to string 1, and so on (Smeck numbers the strings as E=1 A=2 D=3 G=4 B=5 E=6.)

After seeing to that and plugging your guitar in, start "smeck.pd" and reach for the master volume. This is in dB; I usually set it to 80 or 90. You should then hear a "clean" mixdown of the 6 guitar strings. You can turn on the "tune" toggle to hear tuning tones that correspond to the 6 strings; while tuning up you can verify that the string assignments are right. (If they aren't the patch will still make sound but all the effects will be out of whack, since they're individualy tuned to the "natural" ranges of the strings!)

Then start recalling presets (the 70 buttons that dominate the patch). You can adjust individual parameters by opening "panel t" and mousing around, although you'll have to read the rest of this documentation to understand what they mean.

Various controls on the front panel control the global behavior of the patch. The "spread" control (0-100) controls stereo spread; if 0, both channels get the same signal; if 100, they are maximally different. The strings are each individually spatialized so that some frequency bands are panned left and others right.

The "octave" control (-200 to 100) puts the entire sound between two octaves down, and one up, from the original pitch of the guitar. Three buttons, "octsplit" through "octsplit3", arrange the octaves individually by string in useful ways, either spreading them out or compacting them together.

The "nutso" toggle fixes it so that, each time you pluck a string, its preset changes at random. This is surprisingly interesting to play through.

The "scatsinger" toggle works in tandem with preset 49, "voco". Voco uses a wavetable to make vocal sounds; if scatsinger is turned on this wavetable changes at random on each note.

That should be enough info so that you can play the patch in "music store" mode. What follows is an explanation of how the patch works, which you will need in order to develop your own sounds or extend the patch to do new stuff.

OVERVIEW OF THE PATCH
>P> NOTE: some details have changed from version 1 to version 2 of smeck that are not reflected in this documentation.
Following the principles described in the "patch for guitar" paper mentioned above, each string is processed separately according to the block diagram shown here:


The overall block diagram is at left, and the two boxes at right are details of the "MODULATION" and "FILTERS" stages. For each string, either the "phase vocoder" OR the rest of the patch is turned on (they take roughly equivalent amounts of computation time, and it's not clear anyone would want to use them in tandem anyway). The phase vocoder is used only in two presets, and uses only the four parameters at bottom right in the parameter panels (the "panel" abstractions), ignoring everything else.

When the phase vocoder is turned off, everything else is running. The "reset" values of the parameters set the OCTAVE, FILTER, and PITCHSHIFT modules to pass their inputs through unaltered, and bypasses the LOPASS and MODULATION stages using the bypass gain control, named "thru", that appears at top left in the parameter panels.

What follows is a block-by-block description of what the various stages of the patch are supposed to do.

LOPASS
In this stage, the string signals are low-pass filtered so that, in theory at least, the first harmonic contains most of the energy of the signal; this is so that the modulation step will act according to plan. The filter is fifth-order Butterworth, so there's a 30-dB-per-octave rolloff above the cutoff frequency. Because each string has a different range, the filters' cutoff frequencies are specified relative to the open string's fundamental, in half tones. So if the value is given as 0, each string gets a cutoff at its own open frequency; if set to 12, the cutoff is 12 half-tones higher, so each string's cutoff frequency is set to its own twelveth fret (an octave up). Usually this ranges from about 7 to 19. This parameter is named "bias".
HARMONICS H1-H4
The filtered string sound could theoretically be converted to any wavetable. Here, the four waveshapes are simply sinusoids at the first four harmonics. The first harmonic, in particular, passes the filtered string sound unchanged. The results aren't pure harmonics in reality because the incoming sould isn't sinusoidal, although the string can be filtered to get fairly close to pure harmonics if desired.
TRIANGLE (AKA CLASSIC WAVEFORMS)
Here the phase of the filtered string is used to drive a phased pair of triangle wave generators. There are controls over the relative phase of the two waveforms (called the "duty cycle"), the relative strength of the second generator (between -100% and 100% of the first, called the "symmetry") and the slope of the rising segment of the triangles (called "partials"):

FORMANTS
There are two formant generators. Each one makes a packet of harmonics, whose center frequency, amplitude, and bandwidth all are controlled by envelope generators (triggered by string attacks):


The spectrum of the formant (packet of harmonics) is as shown at bottom right in the diagram. The center frequency is controlled by a six-parameter envelope generator as shown top left. The output of this envelope is in half tones, like the LOPASS cutoff frequency, except that here the half tones are measured from a base frequency that depends on the "cfbias" control. If this is zero, each center frequency is indeed specified relative to the open string. If 20%, the low (fat) 'E' string's formant is specified relative to the 'A' string instead of itself, but the other 5 strings are as before. If 40%, the 'E', 'A', and 'D' are all specified relative to the 'D' string and the rest normally, and so on, until at 100% all six strings' formants are relative to the high (thin) 'E'.

The amplitude is specified in dB (100 being unit gain). The bandwidth is controlled linearly, relative to the string pitch. By the nature of this algorithm, the center frequency and bandwidth rise in parallel as the string is fretted higher up the neck of the guitar.

WAVETABLES
The fourth waveform modification technique works by lookup into wavetables that are generated using the phase bashing technique (the ICMC paper is reprinted as HTML or PDF .) A loose collection of pre-made wavetables is assigned numbers from 10 to 85, inclusive (this is the "vsamp" parameter). In particular, 30-85 is a set of 56 nonsense syllables with 7 leading consonants and 8 following vowels. The "vframes" parameter controls how far into the wavetable to precess over the life of a note, and "vspeed" controls the speed of precession. Finally, since as with formants the spectrum transposes ("chipmunks") up and down with the frequency of the string, a "vfret" parameter selects which fret should correspond to no transposition. If this is at 0, the open string is natural and the 12th fret chipmunks up 2-to-1; if it's 12, the 12th fret is normal but the open string gets a timbre that's transposed down by 2-to-1 instead.

PULSE MODULATION
All the above "modulation" (waveform modification) techniques' outputs are summed and the result is multiplies (amplitude modulated) by a pulse train. The pulse train is controlled by the phase of the string, but a multiplier ("pharm") allows selcting a harmonic above the fundamental frequency. The depth of puls modulation (the thinness of the pulse) is controlled statically by the "pmod" parameter, but further, is controlled by the instantaneous string amplitude multiplied by "penv"; if this parameter is nonzero the modulation depth increases with amplitude.

OCTAVES
All the above "modulation" (waveform modification) techniques' outputs, and the bypass signal, are summed, and this sum goes through the octave-changer, a chain of filters, and a pitch shifter bank. Octave changing is done by cross-fading between four different octaves, from two down to one up. The downward octaves are made by ring modulation, and the upward one with a variable-delay comb filter. If the "octave" parameter is -200, the sound is two octaves down; if -150 the result os a 50-50 mix between two and one octaves down; if -100% it's the pure one-octave-down sound, if -50 a mix between that and the original; if 0 it's the pure original, if 50 a mix between that and the octave-up sound, and if 100 the pure octave-up sound.

FILTERS
The filter stage consists of three filters and a "VCA" (amplitude control unit) in series. The first filter is a two-pole resonant powpass filter whose center frequency, in halftones, is controlled by an envelope generator. As with the formant center frequency, the filter center frequency is given in half tones relative to each string, except that the "vcfbias" control lifts the nominal frequencies of the lower strings progressively toward the higher ones, until at 100% all frequencies are in half tones relative to the high (thin) 'E' string. If "q" is zero the filter has a flat frequency response; at 10-ish one gets a fairly neutral lowpass filter, and at higher values the resonant frequency becomes audible.

The next two are EQ-style "peaking" filters with frequency responses as shown:


Each filter gets a gain (in dB, positive or negative); a bandwidth, and a center frequency. The gain and center frequency are controlled by envelope generators. the center frequency is in half-tomes above the open string, subject to another bias control ("eqbias") which applies to both filters.
PITCHSHIFT
Pitch-shifting is done by cross-fading between variable delay lines. There are two pitch shifters with controllable gains ("amp1" and "amp2"), delays ("delay1", "delay2"), and transpositions ("trans1", "trans2"), and a bypass gain ("amp0"). In the parameter control panels, there are four buttons for calling up reasonable chorus-style settings.


admin

#20
https://www.dream.fr/



Please contact Dream for further information.

Dream® launches SAM5708B

15.02.2016   Dream® introduced a new member of the SAM5000 Series of Digital Audio Processors, the SAM5708B

Main features are:

- DREAM DSP Array of 8 x 24/56-bit DSP cores

- Fast Data/Effect RAM 48kx24 + 16kx24 DSP RAM

- QFP128, pin-to-pin compatible to SAM5704B and SAM5716B



Chicken Systems Translator™ 6 supports Dream® Sound Format

09.10.2015    Chicken Systems Translator™ 6 now supports Dream sound format. It allows conversion from nearly any sound format (e.g. .SF2) to .XDI/.XDB. Please contact Chicken Systems and ask for the "Hi-Tech" Edition, see http://www.chickensys.com/products2/translator/special.html


Dream® launches new member of the SAM5000 series of Digital Audio Processors

03.04.2015   Today Dream® announces the launch of a new member of the SAM5000 Series of Digital Audio Processors, the SAM5504B

Main features are:

            - DREAM DSP Array of 4 x 24/56-bit DSP cores

            - 40k x 24 on chip RAM

            - USB 2.0 High Speed port

            - S/PDIF interface

            - Large library of effect algorithms

            - Small footprint 64-pin LQFP package

The ultimate choice for Effect devices, Speaker processing, USB Audio interfaces, low cost Keyboards, Controller Keyboards




https://www.dream.fr/guitar.html

Guitar




Powerful effects for Guitar amps, pedals and guitar effect units can easily be accomplished using DREAM® Product Development kits, Firmware and reference designs.





Low cost solution:  5504GTFX



Low cost Guitar amplifiers, Guitar effect pedals with  SAM5504B



Evaluation Kit:

5504GTFX Firmware for low cost Guitar amplifier effects module
https://www.dream.fr/pdf/Serie5000/Firmwares/Firm5504GTFX.pdf

5504FX-EK Evaluation Board & Reference Design for lowest cost effects module
https://www.dream.fr/pdf/Serie5000/Boards_Datasheets/5504FX-EK_REV1.pdf


5504GTFX Control Panel Software for easy effects customization
https://www.dream.fr/pdf/Serie5000/Application_Notes/5504GTFX_Control_User_Guide.pdf


Product Development Kit:

5504FX-C-PDK: contains 5504FX-EK + front panel board + SamVS-C development software





admin

#21