Giter VIP home page Giter VIP logo

midilab / aciduino Goto Github PK

View Code? Open in Web Editor NEW
216.0 16.0 30.0 108.18 MB

Affordable and DIY, Roland TB-303 and TR-808 step sequencer clone and midi controller. Packed with additional features, specifically designed for musicians and DJs to use on live performances or streamline their studio creative process.

Home Page: http://midilab.co/aciduino

License: MIT License

C 65.75% C++ 34.25%
tb303 music c arduino hardware-designs hardware 303 roland

aciduino's Introduction

Aciduino

The DIY Arduino-based Roland TB303 and TR808 Step Sequencer clone and MIDI Controller. Designed using readily available, inexpensive parts. It can be easily assembled on a protoboard or ordered as PCB.

There are two flavors of aciduino, the first version(v1) is a TB303 sequencer only, the second version(v2) is a TB303 and TR808 sequencer with oled display and step/pattern/mute grid system.

Find out more about at official home page

2 Tracks TB303 sequencer and MIDI Controller.

V1 on PCB

V1 on Protoboard

Up to 16 Tracks TB303/TR808 sequencer with step, pattern and mute automation grid system, MIDI Controller, OLED display and extensible modular design to plug more potentiometers, buttons, MIDI or CV/Gate interfaces.

V2 on Protoboard

V2 on PCB(prototype)

Features

303/808 Step Sequencer clone

Programming bass and drum steps using same analogy of original machines • Save your pattern work on microcontroller EPPROM memory for later live gigs • Use step length and shift to make some unusual sequences • Automation grid system for step edit, pattern navigation and mute tracks • Realtime and Step record modes for MIDI keyboard input(v2 only)

Professional grade Clock

Tight and solid clock system using hardware timers to achieve realtime professional grade tick system • Send or receive clock to keep all your external equipment synced

Generative Engine

Generate new and fresh acid music patterns by pressing a single button and twist some parameters • Harmonizer to force musical harmonic modes for bass lines • Euclidian generator for drum parts

Midi Controller

Controls up to 16 parameters per track of your external synthesizers(bass/drums) • Midi learn(v2 only) • 16 potentiometers modular support to extend aciduino as midi controller(v2 only)

Pattern memory

Store your patterns conveniently on the microcontroller's EEPROM, allowing you to access them effortlessly during live performances.

Easy and fast Assembly

1 or 2 hours assembly time on protoboard.

V1 Assembly

V2 Assembly

aciduino's People

Contributors

2b2a2t2 avatar hugoescalpelo avatar ijnekenamay avatar midilab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aciduino's Issues

Tempo menu => general menu

Would be an idea if the combination shift + left button allowed to acces a general setting menu (tempo, swing, track engine type and MIDI channel

Quel dossier pour pcb

Bonjour c quel dossier pour faire faire un vrai pcb je suis néophyte donc merci d avance

Audi out

Juste cannot see where it is...

How do potentionmeters connect exactly?

Hi,

Really think this is a cool project, but having difficulty finishing putting it together specifically with regards to the potentionmeters.

Can someone give me locations on the board where the connecting pieces go? E.g. J3.

The potentionmeters in the picture on the repo don't indicate where the connectors go.

The screenshot below from the video doesn't indicate where to connect exactly.
Screen Shot 2020-08-31 at 08 46 52

Any help with this would be amazing. Thanks.

unable to compile with the Arduino-IDE

testet on archlinux with arduino-ide_2.0.4_Linux_64bit.AppImage:

/home/diego/develop/aciduino/v2/AciduinoV2/AciduinoV2/AciduinoV2.ino:61:10: fatal error: src/uClock/src/uClock.h: No such file or directory
   61 | #include "src/uClock/src/uClock.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

exit status 1

Compilation error: src/uClock/src/uClock.h: No such file or directory

How to reproduce:
:$ git clone https://github.com/midilab/aciduino.git
:$ cd aciduino/
:$ git submodule update --init --recursive

then open the main file from "AciduinoV2.ino" with the arduino-ide

UONE presentation ?

What is this secret weapon that looks so attractive and that you display everywhere, are the PCB ready ? for sale somewhere ? can we create one of our own waiting for this to be available ? the code seems to imply multiplexing touch pins with a 4067, can we have some more details ? wiring diagram ? workflow ?

Step sequencer button/led array support

Hello !
Would there be a simple way to add (in the setup file for example) a physical support for the 16 step sequencer (using a 4067 mux or several MPR121), we could declare an array for the step buttons independently of the hardware ?
the same for LEDs could we use WS2812 (one more cable per LED but uses only one GPIO pin)
thanks !

3D printed Case

Is it possible to join as collaborator?

I designed a 3D printed case for perforated prototyping PCB and I want to collaborate.

Also, I'm designing a dedicated PCB for Aciduino V2 and in the next weeks I'm also designing a 3D printed case for that circuit.

extended controls

without modifying the V2.0 liteboard, could some extended controls be accessed directly with UP+DOWN or RIGHT+LEFT shortcuts ? (to access probabiblity settings for E.G. or a global mixer page to manage MUTES or tracks volume... maybe a LFO, CV/Gate settings, )

USB-MIDI settings

Which are the baud, data bits, parity and stop bits of USB-MIDI in Aciduino V2?

I built an Aciduino V2 for protoboard with an ESP32 DevKit, the only change I've made to the code was set the GPIO34 because my model does not have GPIO0 external. I am trying connect it to Ableton Live in Windows. For this I use hairless-midi-serial and loopMIDI.

It kinda sounds at baudrate:19200, databits:8, parity:none, stop bits:1, flow contorl:none and send this error: +7.473 - Warning: got a status byte when we were expecting 1 more data bytes, sending possibly incomplete MIDI message 0x82.

I tried default settings, clearing all notes and then leaving just a simple pattern of 8 notes in 303, and playing the same pattern as the videos, but not good results.

I tried to read all code and documentation from V1 to usb-midi definitions for uCtrl but didnt understand enough.

Please, help.

V2 Beta 05 Navigation issue

Hello,
I'm having a strange behaviour on SEQR page 1 (left page), controls seem to be in the wrong order :

tune | transpose


[°°°°[°°°°[°°°°[°°°°
lenght | shift

I also cannot switch from tune to transpose or from lenght to shift, previous and next buttons act like up and down, they are only efficient in the bar or sequence item

It's the same in both 303 and 808 engines.

Generative "feature"

Hello, enjoying this V2.0.0Beta 4 so far... except this little feature or bug :

if I use the generate button in one voice of one 808 engine, the generate settings are recorded so if I switch voice I still keep the last generate setting for this voice (I always inherit the previous fill, accent and roll setting if switch tho).

if I use the generate button in a 303 engine, the other 303 track only keeps the 1st setting page and the second page inherits from the previous track settings, so each time I change Track I lose all the fill, accent, slide, tie, tones, octave and octaves settings.

That being said, I like when switching to new 303 engine, the scale is kept from the previous and the length is reset to default

Would it be possible to increase the number of physical knobs like on V1 for a faster tweaking control ? I saw the code include encoders... Could I open a case for each question I have ? I don't want to pollute your project tho !

cheers

Midi clock loss

Hello,
using V2B03
I was able to reproduce the issue several times, using different pluggins, tweaking the resonance CC makes the aciduino crash, interface and sequencer are still running, controls are responding, but the DAW says the MIDI connection was lost, and my MIDI monitor does not receive information anymore from the aciduino.

Compilation errors for Teensy 3.2

Hi!
I'm filing issue after discussing it with author.
I tried to verify the code in Arduino IDE 1.8.19, Teensyduino 1.58, Teensy 3.2 board - it outputs the same errors no matter if i switch Serial, MIDI, MIDI + Serial modes. I used master branch, then Aciduino v2 rc1 - no big difference.
Main PC - Fedora 37, Kernel: 6.3.8-100.fc37.x86_64 , Arduino 1.8.19, Teensyduino 1.58. (compilation logs attached)
Windows laptop - got the same errors on Windows 8.1, Arduino 1.8.19, Teensyduino 1.58. (windows log attached)

error_midi_mode.log
error_midi-serial_mode.log
windows8.1_compilation.log

Steps to reproduce: open v2 rc1 project, connect the board and choose MIDI or MIDI + Serial USB mode, Teensy board is detected by default, choose Teensy port and press "Verify" button in Arduino IDE.

I'm ready to provide extra info if needed.

Nano

hi, I'm really interested in building this, but would be great if it could run on a Nano instead of the mega. Is this possible?

V2 MidiExternalSync

Hi,

has anyone managed to get MIDI_STANDARD(0) working in version 2, so not USB_MIDI but MIDI for use with 5 pin connector? Or even better, has anyone manage to add a CV/Gate output code to Aciduino? I would appreciate any help!

PS: I'm trying to get Aciduino working with a VCO. I have a Midi to CV module ready to convert the midi signals as well.

Thanks in advance.

Best,

Aciduino V1 in Leonardo

Hi and sorry for asking something probably obvious but, I've read everything about midilab GH and still can't find a way. Is it possible to use a Leonardo for V1? And V2? Or a UNO?

.

.

System Freeze in Seqr Page 2

had the problem with every beta so far...
if the src/sequencer/setup, when the pattern length is modified for something above 64 steps, the second page UI is not designed for such a long pattern and makes the teensy unresponsive. Could a security implementation prevent from switching to the second page ?

Aciduino v2 build question

Hello, @midilab ! It was great to know that somebody is making such cool stuff. Some time ago I wanted to build a handy "toy" with real pots and buttons to make some acid fun, like playing 2 basslines along with drums. I thought that I would find something more or less ready, but nope. Okay , guys all over the net have written a lot of DSP code: filters, delays, reverbs etc. So I tried to make it play on two cores of esp32. For the time being I have it working on a esp32 wrover with 4mb psram and an external DAC, and gonna make it available to public. It's midi driven, and could be a perfect pair for the aciduino2 (ok, not perfect, as it's far from 303 + 808 sound yet, but still fun). So the question is: how can I build Aciduino v2 for an Avr or ESP ? I am not a real coder, and #include <functional> makes me scared )

Hardware ideas

to get some better feedback and fewer wires, could some lite neopixel (or FASTLED) support be implemented to your library ?
Maybe this is stupid : switching for a SPI screen would free the I2C bus a bit and allow the use of MCP23017 so you can ideally link up to 8 of these and get 128 CV/triggers ?

Pot question... or encoders

Could there be a way to get 5-6 pots from V1 to match with on screen parameters ? or even better, encoder so we don't have value "jumps" when changing page/layer/engine ?

Seqr Page V2Beta10

The second SEQR page when in a 808 engine is now a live play page ? I cannot move the select step box with arrows but I see the moving box, and pushing the on/off button for this step will only activate the step under the running box.
IT'S NOT A BUG IT'S A FEATURE !
this is actually simpler and quicker than navigating to the desired step, but a deletion would be a great implementation too !!

ESP32s2

Hello, @midilab , I'm trying now to run it on the ESP32S2 board, how do I set pins for OLED SDA and SCL?
Please, note that ESP32, ESP32S2, ESP32S3 and ESP32C3 are VERY different boards. They need different settings for cores and for pins...
Say, ESP32S2 only has just one core, has no FPU, has WiFi, but no BT, has just 2 UARTS, but has native USB support, including USB-OTG, while ESP32 has 2 cores, has FPU, has 3 UARTS, has WiFi+BT, but no built-in USB etc...

CC motion track

Since you are moving from Teensy LC, you may have a lot more memory in a 3.2+, an automated CC track could be a really nice implementation (recorded CC pattern or generated pattern or LFO controlled CC).

Encoder acceleration

Hello !
Having a lot of fun with my aciduino, I wanted to upgrade. I found 2*4051, I built a Pot16 module and selected
#define USE_CUSTOM_PINOUT
//#define USE_PROTOBOARD_PINOUT

changed the modules.h page
//#define USE_CHANGER_POT
#define USE_CHANGER_ENCODER

uncommented
#define USE_POT_16

i get data from the pots, but if I disconnect the pot16 module, all 16 MIDI CC values get crazy (because the muxs are not connnected).
So i went back to the code and commented //#define USE_POT_16...

Could there be an option so we can switch pot16 on/off onboard ?
Also I now have both CHANGER_POT and CHANGER_ENCODER hooked on the device since the encoder is not really usable when the pot16 is not connected, it is much more convenient when tweaking options but MIDI CCs are so slow it reminds me of an Arturia's controller ;p !
Could you implement an acceleration setting for the encoder ?

PS : Also something weird : "Aciduino" is now "Teensy MIDI"... and I promise I didn't change name.c

Stuck in the programming part

I'm really interested in that sequencer but I haven't used arduino before. Now I'm finished the hardware part and don't know what to do next.Could you make a step-list about how to install? Little bit confused because the software part are too many files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.