mo-thunderz / lfo Goto Github PK
View Code? Open in Web Editor NEWLFO for Arduino that can be free-running, or synced to a master-clock.
License: MIT License
LFO for Arduino that can be free-running, or synced to a master-clock.
License: MIT License
Hi,
First of all: thank you very much for this library!
I use it for a vibrato feature for an eurorack keyboard
it works perfectly for sine
and square
wave but i did not manage to get saw
and triangle
applied to my note pitch.
Disclaimer: i am not an electronic engineer nor an expert C++ programmer. I just play around with informations i find in the web.
in my cuircuit i have an Arduino Uno
with a MCP4821 (12-Bit Single Output DAC with SPI)
based on this line i assume that it's DACSIZE is 4096
for sending 0V
to 5V
when i use lfo lfo_class(4096);
your lfo gets perfectly added to my base note pitch for waves sine
& square
but nothing gets added for waves saw
nor triangle
in your instructions i found
Reduce the DACSIZE to 256
when i use lfo lfo_class(256);
your lfo works perfectly for all 4 waves. but unfortunately my other code for sending the "base pitch" (the lfo should oscillate around) does not work at all.
do you think i have to find the reason in my code or is it possible that you have some kind of limitation in your library (saw+triangle not compatlble to DACSIZE 4096)?
Hi,
This line refers to see _freq_array
which does not exist.
After some playing around i finally figured out how to get the desired tempo division in case sync mode is set to BPM locked.
The unit for the argument of setMode1Rate(float l_mode1_rate)
is quarter notes
this means if you want a lfo cycle duration of 1 bar
you need to pass 1/4
or 0.25
as argument.
argument | lfo cycle duration
---------------------------------
.125| 2 bars
.25 | 1 bar
.5 | half note
1 | quarter note
2 | 1/8 note
3 | 1/12 note
4 | 1/16 note
5 | 1/20 note
6 | 1/24 note
7 | 1/28 note
8 | 1/32 note
9 | 1/36 note
10 | 1/40 note
11 | 1/44 note
12 | 1/48 note
13 | 1/52 note
14 | 1/56 note
15 | 1/60 note
16 | 1/64 note
consider to update the documentation
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.