Search results

  1. Q

    Teensyduino 1.53 Audio library issues vs 1.51

    I re-ordered things to match what the online generator spits out, but this didn't result in a full fix. Now instead of voices always hanging they do so randomly until the same note is played again. In my code I re-use a voice if the same note is played while the note is active, and I make sure...
  2. Q

    Teensyduino 1.53 Audio library issues vs 1.51

    I'm also creating enveloped before waveforms so it's something to consider. Unfortunately the way I cased my Teensy 3.6 setup precludes being able to keep it plugged into USB and it's major disassembly to get it out, so I'm holding off on serial debugging for the time being. EDIT: I want to...
  3. Q

    Teensyduino 1.53 Audio library issues vs 1.51

    Teensy 3.6, Arduino 1.8.13 on Ubuntu 18.04, Blackaddr audio interface board.
  4. Q

    Teensyduino 1.53 Audio library issues vs 1.51

    I have an Audio library synth project which works fine on 1.51 but on 1.53 has issues with the release phase of envelopes never happening - notes basically get stuck. Attack works fine, and I have decay set to 0.0 and sustain set to 1.0 manually. Has anyone noticed this or other problems with...
  5. Q

    [posted] TSynth - Two Oscillator Polysynth

    Very nice to see how your synth is coming along and of course I am flattered you are using my ensemble chorus code. I have a "string machine" project using the Teensy 3.6 with a Blackaddr interface board. I managed to get lucky drilling holes in a Hammond box and have it cased nicely. String...
  6. Q

    .Can no longer program on Ubuntu 18.04.3 LTS

    uname -a Linux elitebook745 5.0.0-37-generic #40~18.04.1-Ubuntu SMP Thu Nov 14 12:06:39 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
  7. Q

    .Can no longer program on Ubuntu 18.04.3 LTS

    I went to update a Teensy 3.2 proejct recently via my Ubuntu laptop and found that Teensyduino no longer properly talks to the board when programming. I am on Arduino 1.8.10 with Teensyduino 1.48. Arduino error: Teensy did not respond to a USB-based request to enter program mode. Please press...
  8. Q

    Teensy3 String Machine

    demo video Here it is: https://youtu.be/yDEagM8vqhU Audio is just through the phone mic, as at the moment I don't have a convenient stereo-in capture setup. The ensemble effect is stereo and would sound a lot better as such. Everything you hear is from the synth code, including the phaser. I...
  9. Q

    Teensy3 String Machine

    No but I’ll make one.
  10. Q

    Teensy and Mac OSX 10.15

    Changing the setting you suggested does not make the Arduino 1.18.10 plus Teensyduino 1.48 work for me. I get the following in the log console: default 20:06:34.342428-0400 mDNSResponder [R143446] DNSServiceCreateConnection STOP PID[17172](Arduino) default 20:06:34.342485-0400 mDNSResponder...
  11. Q

    Teensy and Mac OSX 10.15

    Unfortunately no. On OSX 10.15 and Arduino 1.8.10, installing the current Teensyduino breaks it. I have a feeling it messes up the way the OS checks for the app wanting to use resources. If you install teensyduino right into a freshly unzipped Arduino.app you get "“Arduino” is damaged and can’t...
  12. Q

    Gain control strategies for poly synths

    As a follow-up, the most gain I could safely get away with is 0.25 on the first two levels of mixers, and then 0.5 on the final two. I have an amp right before the i2s output set to 2.5. I have 32-voices so if you set the release long enough and hit the keys hard enough, you can make it clip if...
  13. Q

    Gain control strategies for poly synths

    I was looking for a toneprint for one of my TC Electronic pedals and saw the specs: 48-bit in, 32-bit out. Might be 64 or 128 bits internally. Makes sense as you don't want to require guitar players to diddle a gain control or watch an overload LED all the time.
  14. Q

    Teensy3 String Machine

    It's working good enough to share so here it is: https://github.com/quarterturn/teensy3-string-machine This is a 32-voice 'string machine' meant for the pjrc.com teensy 3.6 and the blackaddr audio interface. It depends on the Teensy Audio Ensemble Chorus library found here...
  15. Q

    biquad filter as phaser?

    This sounds pretty good: // update the biquad filter frequency if ((micros() - biquadLfoUpdateTimer) >= LFO_PERIOD) { lfoIndex++; if (lfoIndex > BIQUAD_LFO_RANGE) lfoIndex = 0; biquad1.setNotch(0, ((sin((( 2.0 * M_PI) / BIQUAD_LFO_RANGE) * lfoIndex)) * 750) + 1000...
  16. Q

    biquad filter as phaser?

    Here's my first attempt: // 2 millseconds for the sinewave LFO update #define LFO_PERIOD 3000L // 2 seconds for LFO cycle // 2 ms is 500 updates/s // so 1000 would be 2 seconds #define BIQUAD_LFO_RANGE 1500 // biquad filter frequency // sweep up to 5000 Hz #define BIQUAD_MAX 5000 in...
  17. Q

    Gain control strategies for poly synths

    Yeah that seems OK for now. I'll post an update if I figure out a better way.
  18. Q

    biquad filter as phaser?

    Eh it's going to be another deep dive. I'd like to just grab data from a low-frequency sine object to sweep the notch frequency but I don't think that's possible. I'll see if it can be done simply in main() with a micros() polling timer and a sin() function.
  19. Q

    Gain control strategies for poly synths

    I am working on a 32-voice synth project and want to come up with a way to keep levels up while avoiding clipping. Each mixer is 4-to-1, so we have to have tiers of mixers at 32 voices. You could set the first tier to 1/32, the next to 1/8, and the last to 1/2, but that's waaaaay too quiet...
  20. Q

    HOWTO: Convert Adventurekid .wav samples for use with arbitraryWaveform

    Here's my method of converting the samples found in http://www.adventurekid.se/AKRTfiles/AKWF/AKWF.zip or the github https://github.com/KristofferKarlAxelEkstrand/AKWF-FREE These are single-cycle 600 sample wavetables. To use arbitraryWaveform with an AudioSynthWaveform instance we need 256...
  21. Q

    converting .sf2 soundfonts to audio library-compatible files

    I was able to do it using sox and hexdump but with adventure kid’s single-cycle wav files vs a soundfont.
  22. Q

    biquad filter as phaser?

    Anyone try using the biquad filter with four notch stages as a phaser effect? Just sweep them up and down with some sort of equal spacing, right?
  23. Q

    converting .sf2 soundfonts to audio library-compatible files

    I found decoder.py on Paul's github, but I can not seem to get it to output anything. It reads an .sf2 file just fine and parses all the sample sets, but fails when I try to output anything: Traceback (most recent call last): File "../decoder.py", line 519, in <module> main(sys.argv[1:])...
  24. Q

    String Ensemble Chorus Effect created!

    Thanks! I think actually COUNTS_PER_LFO should be 200 to get the slow part of the LFO to be 0.6 Hz and the fast part (which is 20x faster than the slow) to be 6.0 Hz. I just tried it and it does sound more 'correct'. There's a definite sweet spot to get it to do its magic with a sawtooth. Right...
  25. Q

    String Ensemble Chorus Effect created!

    Great! Please share here so I can add it to my repo.
  26. Q

    troubleshooting code which crashes before setup()

    Sigh. Nope it was not the array of pointers. I re-wrote it with case statements and it still doesn't work. OK I will see if my 4-voice code works with 8 voices. I'd be satisfied with that.
  27. Q

    troubleshooting code which crashes before setup()

    I went around commenting-out and bypassing things and couldn't make it work so I went back to my 4-voice synth (which I know works, added in the balibrary.h, swapped in the WM8731, added my ensemble effect - aaaaand it works. So only thing left is my using an array of pointers to audio objects...
  28. Q

    troubleshooting code which crashes before setup()

    I have code here: https://github.com/quarterturn/teensy3-string-machine/tree/master which compiles with no errors on Arduino 1.8.8 yet apparently crashes on my Teensy 3.6. I can't get a Serial.println() or even an LED blink out of it. I'm using the audio library and have an 'ambitious' amount...
  29. Q

    String Ensemble Chorus Effect created!

    Glad you like it! I will change BUFFER_SIZE to something like ENSEMBLE_BUFFER_SIZE. The LFO rate is determined by COUNTS_PER_LFO, which essentially tells the update method how many interrupts to skip when advancing the wavetable index. I can change update so it accepts a value for COUNTS_PER_LFO...
  30. Q

    Envelope Array Problems

    Thanks! It works as above for me, I just had some other mistake upstream which was tripping up the compiler.
  31. Q

    Envelope Array Problems

    Did you ever get this working? I'd like to do 16 voices and would love to not have to use a huge case statement for doing stuff to voices and envelopes. If it works for you, can you please show the relevant variable declarations?
  32. Q

    A Teensy 4.0 demo. Playing the old Stunt Island DOS game. Real time 3D.

    Is there a decent 3D graphics library suitable for the T3/T4? My needs are simple - just wireframe with hidden line removal. I'd be outputting to a vector generator running an XY display.
  33. Q

    String Ensemble Chorus Effect created!

    try just this: // Audio Connections AudioConnection patchIn(i2sIn,0, ensemble, 0); // route the input to the ensemble AudioConnection patchOut0(ensemble, 0, i2sOut, 0); // connect the cab filter to the output. AudioConnection patchOut1(ensemble, 1, i2sOut, 1); // connect the cab...
  34. Q

    String Ensemble Chorus Effect created!

    Yes audio.h just has the include.
  35. Q

    String Ensemble Chorus Effect created!

    Did you replace audio.h? Also double-check the patch settings. You might want to try taking i2sin straight to ensemble and then right to i2sout.
  36. Q

    Modulated Delay: Chorus/Flanger

    OK I have replaced the offset with the float divide by three and tweaked the LFO. I also added "stereo" by shifting the other channel LFO phase by 90 degrees. It sounds VERY lush now! I'm still going to tweak it a bit to see if I can get that last bit of springy phase shift you can hear in a...
  37. Q

    Modulated Delay: Chorus/Flanger

    I tried writing back to the block (having declared it as writeable) but couldn't get it to work, but I'll revisit it. I'm pretty sure it sounded louder with the constant in testing but logically I think you're right about it just creating a DC offset. I will try your suggestion on the audio...
  38. Q

    Modulated Delay: Chorus/Flanger

    1. I'm new to this, saw it elsewhere in an audio lib and it seemed to work. I will look into memset though. 2. Maybe, though I need 512 bytes for the effect and a block is only 128, right? 3. I push each sample readout two bits to the right (divide by four essentially) to make sure they don't...
  39. Q

    Modulated Delay: Chorus/Flanger

    I've got a modulated chorus, it may help to have a look: https://github.com/quarterturn/teensy3-ensemble-chorus. My screwup was failing to wrap around both ways for the index offset of the delay tap readouts. I'd love to have feedback on how to improve mine btw. I need to make it stereo-capable...
  40. Q

    [posted] MAME (Multiple Arcade Machine Emulator) ported to Teensy4.0

    Super! I would love to see some vector games done with the XY data sent to the DACs and maybe Z or RGB sent to a simple 4-bit ladder DAC. Not sure how easy or hard this is, I know I can't do the software side, but I am working on a cheap and usable deflection board for medium-size TVs to turn...
  41. Q

    String Ensemble Chorus Effect created!

    Here's my first working version of a String Ensemble Chorus: https://github.com/quarterturn/teensy3-ensemble-chorus It's an emulation of the triple-delay modulated 120 degrees out of phase with a 6.0 Hz + 0.6 Hz sinewave LFO effect, like in a Roland RS-202 or a Lowrey Organ with "Symphonic...
  42. Q

    getting started with library writing - samples vs blocks and AUDIO_BLOCK_SAMPLES

    Since I'm getting a null, I tried using this code from effect_freeverb.cpp to give it values: block = receiveWritable(0); if (!block) { block = &zeroblock; } This itself works, but I still fail at writing back to the block. So I tried your suggestion, and what the hell...
  43. Q

    getting started with library writing - samples vs blocks and AUDIO_BLOCK_SAMPLES

    Ah yep, it's null. I can take a working example like the one below, substitute 'ensemble' for 'reverb' and get a null /************************************************************************* * This demo uses the BALibrary library to provide enhanced control of * the TGA Pro board. * *...
  44. Q

    getting started with library writing - samples vs blocks and AUDIO_BLOCK_SAMPLES

    It crashes right at the block->data[i] = ... line. I had it surrounded with Serial.print statements and it only printed the one before.
  45. Q

    getting started with library writing - samples vs blocks and AUDIO_BLOCK_SAMPLES

    I've re-written my code and it should be making sense for processing blocks in and out of a ring buffer. Anyhow, not working - I'm going out to lunch when I try to load the combined delay offset data from the buffer into the block. Code's on github but here it is as well: void...
  46. Q

    getting started with library writing - samples vs blocks and AUDIO_BLOCK_SAMPLES

    I don't think my code is right for block processing. I need to study effect_chorus.cpp more.
  47. Q

    getting started with library writing - samples vs blocks and AUDIO_BLOCK_SAMPLES

    Yeah it's an artifact of initially doing it backwards ie. doing the modulation on the input pointer and keeping the output steady. Thanks for pointing it out, I will fix it.
  48. Q

    getting started with library writing - samples vs blocks and AUDIO_BLOCK_SAMPLES

    Welp here's my first attempt: https://github.com/quarterturn/teensy3-ensemble-chorus It does not work. The freeverbs code checks that the input block got something from receiveReadOnly(), so I use that too but fail on both channels. If I comment out the test it just kills the envelope used in...
Back
Top