003: A Teensy Synth

Поделиться
HTML-код
  • Опубликовано: 16 сен 2024

Комментарии • 38

  • @ChrisBallProjects
    @ChrisBallProjects  3 года назад +6

    For future visitors, all my code, gerbers & SVGs for this project is now online at github.com/ChrisBall/003_Synth

  • @carltopkin2141
    @carltopkin2141 2 года назад +1

    Excellent work Chris, thanks for sharing!

  • @harrykaradimas857
    @harrykaradimas857 2 года назад

    Wow what an impressive demo !

  • @alexandercincuk271
    @alexandercincuk271 3 месяца назад

    Einfach Cooooool

  • @facehugger4567
    @facehugger4567 3 года назад +1

    Omg this is the dream

  • @AlbertNystrom
    @AlbertNystrom 2 года назад +2

    Great project, sounds really good!
    I´m currently working a teensy synth myself and was wondering if you could give me some info how you made the preset function.
    Are you able to save/edit the presets, or are they pre-programmed?
    Are you using the EEPROM or some other method?
    Any help would be very appreciated.
    Thanks!

    • @ChrisBallProjects
      @ChrisBallProjects  2 года назад +1

      Hi! I'm saving presets as text files to an SD card, using the slot that's built into the audio board. Each preset is saved as a numbered text file, with each line containing the value of that controller, stored as plain text. Relevant code here:
      github.com/ChrisBall/003_Synth/blob/main/code/003_synth_main/SD.ino
      It's limited to 128 presets (0-127), but only because I wanted to keep it simple. I've used about 40-50 so far!

  • @TheNormalUniverse
    @TheNormalUniverse 3 года назад +1

    Sounds awesome! I'm making a teensy synth too. Do you have any learning resources you recommend?

    • @ChrisBallProjects
      @ChrisBallProjects  3 года назад +2

      I used this as a reference when I was thinking about how to structure my voice & voiceManager classes: www.martin-finke.de/blog/articles/audio-plugins-016-polyphony/
      PJRC forums are also invaluable.
      Other than that, the teensy audio tutorial should be a good first watch! ruclips.net/video/wqt55OAabVs/видео.html

    • @TheNormalUniverse
      @TheNormalUniverse 3 года назад

      @@ChrisBallProjects Awesome! Thanks for the tips. I also am bumping into the complexity that comes with polyphony.

    • @copernicus1984
      @copernicus1984 3 года назад

      @@TheNormalUniverse the voice stealing I ended up implementing can be summarised as "if no voices are free, use the oldest released voice" - where released means in the R portion of ADSR.

  • @System-1541
    @System-1541 2 года назад

    There appears to be a little latency. Is the video just out of sync with the audio or does your synth have noticeable latency?

    • @ChrisBallProjects
      @ChrisBallProjects  Год назад

      No appreciable latency in person, so it's likely the video is out of sync. That said, how much latency are you talking about? I've never tested how much there is, and there will be some.

  • @brianharper9798
    @brianharper9798 3 года назад +1

    Nice project Chris,
    Can I just ask the reason for a separate controller for the pots and display? Surly the teensy 4 has enough processing power to read the controls and drive a display, or is it just the limited pins on the teensy 4. I have a teensy 3.6 synth using 2x 16 channel analog multiplexers, so 32 controls. Anyway great job sounds awesome....

    • @ChrisBallProjects
      @ChrisBallProjects  3 года назад +1

      Hi Brian - no one reason, I was just keen on a controller-agnostic approach, probably because I'm used to working with far less powerful MCUs. I'm pretty sure the teensy 4 could read all 48 and drive the display too. Perhaps I'll link it up sometime.

  • @joshuaknight197
    @joshuaknight197 2 года назад +1

    This is amazing! Is there a reason you can’t read the pots from the teensy directly? Why did you need the arduino?

    • @ChrisBallProjects
      @ChrisBallProjects  2 года назад

      Hi Joshua - Lots of people have asked this!
      There are a few reasons, but the main one was a desire to keep the synth part and controller part separate. When I started making this I didn't have access to the control hardware (it wasn't even designed), so the synth was controlled by a computer via MIDI during the design of the audio system. This means the synth can exist in different forms, rather than being tied to a set layout/hardware. If someone can't afford 48 pots, and would rather build the controller with 4 pots that are on 12 "pages" they can, or even just have some simple hardware (one push encoder and one pushbutton) controlling presets that are designed in advance.
      It should be easily adapted to reading the pots directly, if someone wants to do so.

  • @treennumbers
    @treennumbers Год назад

    Hi Chris, I can't open your .brd or .sch files in KiCad and there is no BOM. Is there another application I should use? Also, is it a 2 layer board?

    • @ChrisBallProjects
      @ChrisBallProjects  Год назад

      Yep - those are Eagle files. You should be able to open those in Fusion360 now. It's a 2 layer board.

  • @avogaster
    @avogaster 3 года назад +1

    Are you going to publish code and instrucyions? It is great!!

    • @ChrisBallProjects
      @ChrisBallProjects  3 года назад

      Code and files yes, instructions no - I don't have time to write them out! github.com/ChrisBall/003_Synth

  • @WillWinder
    @WillWinder 3 года назад +1

    Looks and sounds amazing. Is the source code published anywhere? I've been playing with a TSynth which is another teensy polysynth, seeing your implementation would be really helpful.

    • @ChrisBallProjects
      @ChrisBallProjects  3 года назад

      It's not published anywhere - yet. Mostly because it's not perfect, and I'm fairly self conscious about my code. Some weird stuff still happens with the arpeggiator, there's clicking when many parameters change, etc. If you don't mind it being a bit of work to set up, send me a message on github: github.com/ChrisBall
      One benefit is that it's controller agnostic, so hardware-wise you just need a teensy 4.0+ and audio board to begin using it.

  • @EricBalcon
    @EricBalcon 3 года назад

    Wow, really impressive, you have pushed really far in the programmation. I am only at the first steps to get midi and produce a basic sound. Well done. How does your tape works, I can't see any modules in the designer to do this effect ? or is it delay ...

    • @ChrisBallProjects
      @ChrisBallProjects  3 года назад +2

      Thanks! I wrote my own digital tape delay for this one. Perhaps I should try to get it added to the audio lib?

    • @floretan
      @floretan 3 года назад +1

      @@ChrisBallProjects having this in the audio library would be great, or just publishing the code on github would be great. I would definitely use it!

    • @ChrisBallProjects
      @ChrisBallProjects  3 года назад +1

      @@floretan github.com/ChrisBall/003_Synth

    • @floretan
      @floretan 3 года назад +1

      Thank you, I look forward to trying out the tape delay!

  • @learnspanishwithhenry
    @learnspanishwithhenry Год назад

    This thing sounds great! And you show it off nicely with your playing. Is the code available for anyone interested in learning to build a diy Teensy synth?

    • @ChrisBallProjects
      @ChrisBallProjects  Год назад +1

      Code's available, but not very well documented! Link in comments.

  • @harmlammers1794
    @harmlammers1794 2 года назад +1

    Thank you Chris for sharing this! Since I would like to learn how to program a polyphonic synth using the Teensy Audio library, I started by looking into your code to try to understand your approach. However, if I just compile it and upload it to a Teensy with an audio board, I don’t get any sound, while the serial monitor shows that it is receiving midi. Is there anything you’re aware of that could cause it not to produce any output (on the headphone out of the Teensy audio board), out of the box?

    • @ChrisBallProjects
      @ChrisBallProjects  2 года назад

      Hi Harm! Yep, unfortunately you'll need to send it some MIDI CC messages to get it doing something - the default startup makes no sound (probably something I should fix). From memory you'll just need to set the master volume (CC 44), and you should get a sin-like sound. What are you using to control it?
      I'd be happy to help you troubleshoot on a call - you're the first person to test this AFAIK.

    • @harmlammers1794
      @harmlammers1794 2 года назад +1

      @@ChrisBallProjects thank you for your swift reply and the hit: it was indeed a matter of increasing CC 44.
      I have no MIDI controller with 48 knobs to test with, so I quickly rebuilt your front panel in Ctrlr (I could share the panel file if you’d like).
      Now I have another issue: the effects don’t seem to do anything. I’ve set both SYN FX IN and FX MIX to 127 and tried all the effects, but I’m not hearing any difference. What could be the issue?

    • @ChrisBallProjects
      @ChrisBallProjects  2 года назад

      @@harmlammers1794 Again, this is another quirk. The two distortion sections don't "pass-through" unless the SHAPE is at 0 and GAIN at 127. This is something I need to work on! Does that help?

    • @ChrisBallProjects
      @ChrisBallProjects  2 года назад

      @@harmlammers1794 Oh and feel free to send me the ctrlr file! I didn't know about ctrlr, looks really useful.

    • @harmlammers1794
      @harmlammers1794 2 года назад +1

      @@ChrisBallProjects that solved it. Actually, it seems it’s mostly about the GAIN setting.

  • @Omer-kp4fe
    @Omer-kp4fe 2 года назад +1

    Great!
    Did you use the Teensy Audio Adapted Board?