Search results

  1. B

    FM synthesis - 808 drumkit

    Yeah, all MIT license. Knock yourself out. I was reluctant to put the cymbal generator into the library because it requires a bunch of external modules to be useful - biquad filters, envelopes, etc. Life got busy with other stuff, and those designs haven't moved much from there. -BGJ
  2. B

    How to synthesize a chord or multiple notes at the same time.

    There are a couple of approaches. You're describing a form of polyphonic voice allocation. It's how analog polysynths like Prophets or Junos do it - they only have so many voice circuits, so they figured out how to share them. If you have DSP resources for n voices, you assign those voices to...
  3. B

    FM synthesis - 808 drumkit

    You might want to look over what I was doing on the Teensyboom a couple years ago. It was informed by some of the analyses of 808 circuits that are floating around. Here's a demo video: And here's the writeup with links to source code, schematics, and related materials...
  4. B

    Drum Synth clicking

    If you've got a command line shell, you can use the patch utility to apply the diff to the files. This one is small enough that you can do it manually. Go to the files it mentions, find the line/column numbers listed, and make the changes listed. Insert the parts that start with +, and remove...
  5. B

    Drum Synth clicking

    So adding a noteOff() routine solves the clicking on repeated triggers. But then it clicks when noteOff is called. Feel free to give it a try diff --git a/synth_simple_drum.cpp b/synth_simple_drum.cpp index 54510ce..219bab4 100644 --- a/synth_simple_drum.cpp +++ b/synth_simple_drum.cpp @@...
  6. B

    Simple_drum

    To get squares instead of sines, replace the sine lookup & interpolation with a check of the MSB of the `wav_phasor` member. Around line 170 of synth_simple_drum.cpp, it might look something like: if(wav_phasor & 0x40000000) interp = 0x4000; else interp = -0x4000; Repeat for...
  7. B

    FreeRTOS and Audio Library - does it work?

    I had no luck, but didn't have time to get very deep. I think they might compete for IRQs.
  8. B

    Audio Tutorial and gain/clipping

    Some of this takes careful reading, as the tutorial is using similar notation (IE: "1.0") to express both signal levels and mixer gain factors. If a signal is already at maximum, a mixer won't add clipping if: The channel gain is 1.0 or less. There are no other channels being added to cause...
  9. B

    Teensy 3.1 FFT Adafruit AGC Electret Microphone - first two bins not zeroing out

    (Ellepsis mine) That sounds like it could be a side effect of the AGC. Does the time it takes change if you pull the A/D pin to ground or VCC?
  10. B

    Audio Latency

    A total guess: 128 16-bit samples * 2 for stereo == 512 bytes == one sector on an SD card.
  11. B

    High frequency response of the State Variable (Chamberlin) Filter

    OK, that's reasonable. My concern was that there's more than meets the eye going on when you press the button on the teensy itself - it'll invoke the bootloader and reflash the board if you've got the loader app running. That implicates the mixer, rather than the codec. Can you try two more...
  12. B

    High frequency response of the State Variable (Chamberlin) Filter

    A couple of quick questions: When you say "reboot," exactly what steps are you taking? Also, when the you see the HF droop, is it on both channels? If the channel that's direct input->output experiences it, it would seem to exonerate the mixer. If that's true, a guess would be that the codec...
  13. B

    High frequency response of the State Variable (Chamberlin) Filter

    If there's a chance that you changed the program, but it didn't upload, then the previous one would still be active. It's very unlikely that if you changed it, and the upload was complete, that there's somehow "old code" hanging around. Actually, there's one other place that old code might...
  14. B

    High frequency response of the State Variable (Chamberlin) Filter

    That almost rings a bell. I have faint memories of the Chamberlin SVF being unstable above fs/4. I just leafed through Hal's book, but I'm not finding it right now. There's a link in the source file to a Music DSP thread: http://www.musicdsp.org/showArchiveComment.php?ArchiveID=92 Where...
  15. B

    Changing Delay time without distortion

    The overall intent was always to release these as MIT-licensed, I've just been slack about putting it in the files. I just updated the files in that directory with the license block. Have at 'em. I can't make any promises about getting the files back to the mainline audio library - pull...
  16. B

    Changing Delay time without distortion

    I'm just using the internal processor memory. This algorithm doesn't translate to the external SPI memory very well, because those devices are optimized for sequential reading, but the modulated delay line doesn't guarantee that extraction is sequential. I just tried building using your...
  17. B

    Changing Delay time without distortion

    You should be able to use mine without too much hassle. If you grab all the files in that directory, and put them in a folder with the same name as the *.ino file, they should complie. There are a couple changes you'd need to make the the *.ino file, to match your system. First, take a look...
  18. B

    Changing Delay time without distortion

    If you want to be able to change the delay time wile it's running, it requires a slightly different algorithm. You can read more about the algorithm here: https://ccrma.stanford.edu/~dattorro/EffectDesignPart2.pdf I've taken a stab at a variation of it here...
  19. B

    Audio Shield line out - quick question

    It's also worth mentioning a trick I've used: The headphone volume control has fairly fine granularity, while the line out amplitude is constrained to a somewhat small set of stepped values. If you want fine grained control over both, throw a multiply block in front of your output, and use it...
  20. B

    MIDI Lfo with audio lib

    If you use the queue object, you can get the waveform output data back to the sketch. http://www.pjrc.com/teensy/gui/?info=AudioRecordQueue Keep in mind that the audio information is updated much more quickly than the MIDI baud rate. MIDI would only have time to send a handful of values...
  21. B

    Audio Object intercommunications

    The extern allows your object to know about the mixer, but it only works when there's a mixer with that name, and the same input is connected to the same channel. There are a couple of more flexible variations you might consider. The first would be to add a method to your analyze object that...
  22. B

    Play samples at different pitches by MIDI

    For pitched playback, check out the thread where they were discussing granular playback. It's not exactly an easy problem to solve. https://forum.pjrc.com/threads/29275-Granular-Synthesis-with-Teensy-and-Audio-Adaptor The pot is tied to A1. Your sketch can read it, and apply it to whatever...
  23. B

    Pins Available on Teensy 3.2 with Audio Board

    I have a copy of the postcard that I've marked up. X's are pins used by the I2S interface. Squares are the SPI interface. The dashed X's are for the onboard trimpot Digital 0 through 5, 8, 16, 17, 20 and 21 are all available. If you're not using the extra memory or SD slot, you can also...
  24. B

    stymied by a bug in my teensy audio object ...

    It sounds like it could be a buffer exhauation problem. A few things to check: How many buffers are you allocating with AudioMemory() in steup()? Are you calling transmit() and release() on the block? You can check the number of buffers that have been used simultaneously with...
  25. B

    Adjust teensy clock speed with a knob?

    It's both. It's good enough that I'm using it for stuff, but it could also use some improvement, which may or may not ever actually happen. If you're using the audio adapter board, you're most of the way there. The important parameteric work is in param_update(), which you might have to adapt...
  26. B

    Adjust teensy clock speed with a knob?

    For PT2399 emulation, I think what you're really looking for is a modulated delay line. I've got a sketch using one here: https://github.com/Jacquot-SFE/Synth-drum/tree/master/teensy-based/fx/cosmic-delay-sketch It's got a bunch of other stuff in it as well - highpass and lowpass filters on...
  27. B

    Question about audio board line in

    In the order you're asking: 1. Yes, the line in and out are analog voltage. 2. The maximum voltage range is about 3.3V peak to peak. 3. Try it and see. The first stage of amplification is actually within the codec on the audio board - take a look at the "lineInLevel" and "lineOutLevel" methods...
  28. B

    chorus ?

    Looking over the source, yeah, that looks like a set of static comb filters. Something like the multi-tap delay line followed by a mixer. Take a look at the Flanger class. It has sinusoid modulation and interpolation. Flange with slow modulation and overall delay of 25-ish milliseconds moves...
  29. B

    teensy + audio shield messing with sound system

    Many of the ground-loop documents are written from a more generic electrical perspective. Here's one that covers them as related to sound systems: http://www.jensen-transformers.com/wp-content/uploads/2014/08/an004.pdf And to repeat an important question: are you using the headphone...
  30. B

    teensy + audio shield messing with sound system

    Can you walk us through how you've connected the Audio board to the sound system? Are you using the headphone connector on the Audio board, or the line in/outs?
Back
Top