Search results

  1. bmillier

    Improving a Simple Teensy LC and 4051 Muxing Arrangement

    This is how I would wire the MUX chips Without writing out all the code, here is how to do it (this is not the full program) int MUXCHIPNUM = channelNumber/8; int MUXCHANNEL =channelNumber % 8; //To select the proper mux chip // deselect all 4 MUX chips DigitalWrite(GPIO4,HIGH)...
  2. bmillier

    Improving a Simple Teensy LC and 4051 Muxing Arrangement

    If only certain pots affect the others, it’s possible your program is inadvertently activating more than one 4051 at a time. The 4051 Inhibit line has to be high to disable the 4051. So, when you switch among the various pots, you should first write a 1 to all 4 GPIO pins that drive the 4051...
  3. bmillier

    Question About Encoders: Making Mackie Controller Knob - Possibly Wifi

    Hi. The banggood encoder is BG404113352. Costs about 35 canadian dollars. I really liked the large knurled knob and spinner. Reminds me of high end ham radio transceiver frequency dials. The review on the BG site with the canadian flag is mine.
  4. bmillier

    Question About Encoders: Making Mackie Controller Knob - Possibly Wifi

    hello. You didn’t mention if size and price was important. I find that the small Bourns REs, while they have detents, you can’t feel them. But, they are only $2 and noisy. The teensy encoder library will read them OK, but I suspect you couldn’t move them too quickly and get good readings. I have...
  5. bmillier

    AudioSDR - A single Audio block SDR (software defined radio) processor/demodulator

    Hi Jan: I gather you are also interested in other MCUs beyond the Teensys. Are you saying that you have gotten line in and line out working simultaneously. That is what I couldn't achieve and there were forum posts saying something about needing a separate I2S channel for line in and line...
  6. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Amensch: The convolution filtering that DD4WH and I worked on use FFT routines from the CMSIS DSP library. The relevant CMSIS library is now part of the build process for the Teensy 4.x, so these routines can be used without much trouble with Teensy 4.x. The inverse FFT is actually performed...
  7. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: Please disregard my last post. I have written a program that takes those IRx.h files, converts them into format needed for a WAV file, and writes them out to a WAV file on SD card. Best regards Brian
  8. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Impulse WAV files Hi Frank- I'm just getting back to the partitioned FFT routine that you wrote, and which I ported to an Audio library. I want to be able to load different impulse files into Teensy via SD card. I've done this successfully with a few open-source cabinet simulation files that...
  9. bmillier

    AudioSDR - A single Audio block SDR (software defined radio) processor/demodulator

    Hi Frank: Thanks for setting me straight on this. That's how I had remembered things- it was only when I saw another post that I thought differently. Seems like the dedicated ADC (PCM1808) is better than codecs in this regard. I was interested to see you had also used various STM32 MCUs with SDR...
  10. bmillier

    AudioSDR - A single Audio block SDR (software defined radio) processor/demodulator

    Frank- I see where I mistakenly thought you were Frank DD4WH again. Sorry for the confusion.
  11. bmillier

    AudioSDR - A single Audio block SDR (software defined radio) processor/demodulator

    Hi Frank: I was just re-quoting an earlier post in this thread- I only have the SGTL5000 on the Teensy Audio board and I certainly had the problem using that codec. If you don't get it with the T.I. -Burr-Brown PCM1808 then the MCU's I2S hardware must be fine. But, I am still interested to see...
  12. bmillier

    AudioSDR - A single Audio block SDR (software defined radio) processor/demodulator

    Hi Ron: Are you saying that you have both the Teensy and the Audio adapter mounted separately and hooked up with wires or are they stacked? If the former, the earlier Audio adapter will work fine with the newer T4.x as long as you change a few wires to reflect the fact that the T4.0/1 use...
  13. bmillier

    AudioSDR - A single Audio block SDR (software defined radio) processor/demodulator

    Hi Derek (and Frank) : Excellent work on this advanced SDR Audio object for Teensy. Frank (DD4WH) and I had a string of posts about the "twin peaks" problem a year back. While we knew it was a random dropping of a sample in one channel, at the time I think we blamed it on the SGTL5000, where it...
  14. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @ Keith: My part in all of this was to port DD4WH's work from his inline-sketch code into a PJRC Audio library function. I'm not an expert on filter math. So, I can't help with the Hilbert question. But, for the segmented FFT, you have to tell Matlab, (for instance) to generate minimum-phase...
  15. bmillier

    Formant Isolation

    Thanks Chip. That's what I figured. I am using the T4.1 and could see that the full F.P. audio library wasn't adapted to T4.x yet. DD4WH and I have written floating point Convolution FIR filters using (FFT/iFFT) including segmented FFT routines that have very low latencies even on FIR tap...
  16. bmillier

    Formant Isolation

    Chip: pardon me for butting in on this thread- following is an issue I opened on the OpenAudio GitHub site: Great work on this F.P. audio library, Chip. I'm using Arduino 1.8.9 and Teensyduino 1.52. Until I remove the #include "DSP_Teensyduino_32.h" line from the TestEqualizer1 example, it won't...
  17. bmillier

    Dual channel 16bit dac PT8211

    Good to hear. Its an easy mistake to make, since the SGTL5000 codec on the Teensy Audio shield has its I2S pins labelled incorrectly. i.e. input to the SGTL5000 goes to its TX pin, and data out of the chip goes out from the RX pin. So , Paul made the Teensy audio shield labels to match that odd...
  18. bmillier

    Dual channel 16bit dac PT8211

    @manatee. I know that I've had the PT8211 working with Teensy 4 using the Audio lib's PT8211 output object. I am not at my computer, but try putting the PT8211's Din on Teensy io pin 7, not 8. IO07 is labelled as OUT1A, which I believe is what is needed to drive PT8211's Din pin. Cheers
  19. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @Pete: Good observation. I modified this demo program from Frank DD4WHs original program. In it he defines BUFFER_SIZE = partition size, which is 128. For some reason I removed that line- probably because my older "filter_convolution.h" file has the line #define BUFFER_SIZE 128 . However...
  20. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @ Frank. Thank you- I'm pleased it ran nicely for you too. I couldn't find the mods mentioned above on my Github site, under Pull requests or Issues. Then I went to your site and found them. The Serial while command is better your way. I usually just leave it out since both the Arduino and VM...
  21. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @ Frank. Thank you- I'm pleased it ran nicely for you too. I couldn't find the mods mentioned above on my Github site, under Pull requests or Issues. Then I went to your site and found them. The Serial while command is better your way. I usually just leave it out since both the Arduino and VM...
  22. bmillier

    Dual channel 16bit dac PT8211

    @manatee. Thanks. For those uses I think you’ll be fine. I bought 10 of the PT8211 from China for just a few dollars- before I realized i could get the little PT8211 board from Paul at PJRC.
  23. bmillier

    Dual channel 16bit dac PT8211

    @ manatee. I use the PT8211 in some audio projects, but I haven't had time to re-program the Teensy to try DC out to be sure. However, I am sure they will work fine for LFO use. Looking at the PT8211 data sheet, they are an R-2R ladder DAC. So, there is no reason to use an FIR filter with that...
  24. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Thanks Frank. I saw the minimal phase FIR filters in your example code, but didn't know if you needed a lot of computing power on an external PC to generate them. I'll look forward to your comments after testing Cheers
  25. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Library Code for the uniformly-partitioned FFT convolution filter/cabinet simulator Hi Frank: I have uploaded this library code to my Github site, in its own folder: https://github.com/bmillier/FFT-Convolution-Filter-Uniformly-partitioned/blob/master/README.md I took your demo program, and...
  26. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: I just replaced all of the code inside the "i" loop in my complex multiply routine by the following: ptr1 = ptr_fftout + k512; ptr2 = ptr_fmask + j512; arm_cmplx_mult_cmplx_f32(ptr1, ptr2, ac2, 256); // ac2 is a temporary holding array for (int q = 0; q < 512; q=q+8)...
  27. bmillier

    Visual Studio 2017+Visual Micro+Teensyduino+Teensy 4.0 warns: "EMIT not typename"

    @Led. Here is something I've had to do at times when things go astray. In the sketch folder, delete everything but the .ino file, including those _vm and release folders and VMs project files. Then, restart VM, and open the arduino project again. On compile, it will do all of the building over...
  28. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @ Frank. You may be right. But I am doing the same 8 operations at once in the "i" loop. The difference is that you do this accum[i2] += fftout[k][2 * i + 0] * fmask[j][2 * i + 0] - fftout[k][2 * i + 1] * fmask[j][2 * i + 1]; and I do ptr1 = ptr_fftout + kc; // pointer calc...
  29. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @ Frank. Thanks. I have made more progress. I now declare the fftout array in the main program, as DMAMEM, and just pass a pointer into the audio library. So, I can now make the impulse longer, like yours. But, in the audio update routine, where all the calculations take place, I now have only a...
  30. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @ highly Neither Frank nor I are using TDM I/O. We're both using the standard (stereo) I2S interface- in his case a PCM1808 ADC and separate DAC, and I'm just using the Audio shield. When I run Franks code, I get no artifacts with my Audio shield. I've converted his code into a Teensy audio...
  31. bmillier

    Visual Studio 2017+Visual Micro+Teensyduino+Teensy 4.0 warns: "EMIT not typename"

    @LEd Have you posted this on the Visual Micro forum? Whenever I have had an issue where the Arduino IDE/Teensyduino would compile a program properly, and VM wouldn't (usually after a VM and/or teensyduino update) , I have posted it there. Tim Leek, the VM creator is very prompt at addressing...
  32. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: Over the weekend I adapted your U.P. convolution code into a Teensy Audio library. It seems to work identically. However, in class libraries, you can't declare an array in DMAMEM. Also, in your program, depending upon what (fixed) impulse you choose, the compiler is able to declare the...
  33. bmillier

    Visual Studio 2017+Visual Micro+Teensyduino+Teensy 4.0 warns: "EMIT not typename"

    For what it's worth, I am using VS2019 16.3.5 VM 1909.27.0 Arduino 1.8.9 Teensyduino 1.47 and everything works fine with both T3.6 and T4. I doubt the problem crops up due to your using VS 2017 and my using 2019. You are basically one update version ahead of me in terms of VM/Arduino and...
  34. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: You're very welcome! It would seem like you must have a bad Teensy Audio shield. It definitely should work with the audio shield mounted directly onto the T3.6 via short headers. I assume you are testing it with something simple like the audio pass-through demo, thus eliminating any...
  35. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: Since I wasn't the one who wrote the code, I neglected to think about 1) the filter mask has to be the same size, mono or stereo and 2) that the memory was in 2 distinct blocks (although I only finished my Soundfont synthesizer project a month ago, and had to do the same juggling to...
  36. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: Yes, I thought you were really interested in the SDR filters, and was a bit surprised when you drifted into the guitar cabinet simulation aspect of it. The fact that the guitar IR files were min. latency did help you make progress with the routine, which was a nice coincidence. For the...
  37. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @Frank. Congratulations- looks like you solved all of the issues, except the one you need for SDR. I wondered if you were planning on embedding this routine into a Teensy Audio library object, like I did with your older routine? Cheers
  38. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: You've been busy! I loaded your program, using the default IR file and adding a few lines to handle the SGTL5000 that I use. The measured latency is 15 ms, which is perfectly fine for an 8192 tap filter. There is 7 ms latency inherent in the audio library/SGTL5000 at 44100 SR . I can...
  39. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: That explains a lot. I'm not sure that the sample guitar IR file that I have will work as a minimum phase IR. If it does, I'm wondering why it would have worked with the conventional filter algorithm that we were using before. I'm sure that file is the raw IR file- you still have to...
  40. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: Did you get my Conv. filter routine from me directly (or thru forum) or did you get it from my Github page? There is one sample impulse file on the github page. It is in the standard IR file format i.e. a WAV file with 16-bit integers. I don't have the numbers in a C array format...
  41. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: Yes- you get one or the other. Looks like with no shifting you get great results- just like I do with my original convolution library object. However, when I use my latest routine (code which I last sent you) using the 4 audio block circular buffer to feed the filter once per 128 audio...
  42. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: Pls ignore my last comment about my signal generator providing a better sine wave source than the Sinewave object. It does, of course, but by the time it goes through the SGTL5000 ADC at 44100 SR, it won't look any different than the values that the Sinewave Audio lib puts out...
  43. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: 1) I tried the 7-term B-H mask. It may have changed things but I couldn't detect any difference. 2) I was wondering why you were interested in higher # of taps, as I thought you were focused on SDR, and as you say, filters > 2048 are not really needed. I got into this when challenged...
  44. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @Frank: I decided to hook up my test equipment and try out your new routine. The latency is 16.4 ms @ SR 48000 - regardless of the FFT size, as you mentioned. To compare directly against my routines, I reduced SR to 44100, as that is what I use. At 44100, the latency is 17.9 ms, which is what...
  45. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @ Frank: Congratulations! That didn't take you too long to "zero in" on the right code. Speaking of zeros, it's funny how we sometimes forget that, in general, arrays use zero-based indexing! The 32 made sense logically, but I forgot to subtract one to match the zero-based array. I will try it...
  46. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Frank- thanks for the prompt response. I hadn't yet examined your new code, so its good that you mentioned that you've re-written it to handle two discrete channels. While I understand the basic FFT/iFFT concept well enough to have written my library object, that uniformly partitioned scheme is...
  47. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    @Frank: I must have accidentally "unsubscribed from this thread, as I didn't get any email alerts and just happened to run across your newest posts today. Before commenting on your remarks, I'll mention that I modified my convolution library object a few weeks back. Rather than accumulating 4...
  48. bmillier

    Fast Convolution Filtering with Teensy 4.0 and audio board

    Hi Frank: You are welcome! Some on the forum are really good at math, some at programming. I'm good at circuit design, and I have a 'scope! Good to see that you solved the crackling problem. I see you used a Vector board. I use these for all of my projects that don't end up on a custom PCB. I...
  49. bmillier

    T4- Is is possible to use more than the 1/2 of the SRAM that is tightly coupled?

    Yes- I didn't change the wavetable audio object's code. I just point the routine to my SRAM array instead of the constant array in Flash that the object normally uses (in the examples). While the update routine uses DMA to move buffers around a lot, the wavetable array only gets loaded when one...
  50. bmillier

    T4- Is is possible to use more than the 1/2 of the SRAM that is tightly coupled?

    @ KURTE Re your post #4. That came in while I was writing the post above. But no, these wavetables are NOT fixed. They are totally different depending upon which voice I load in from the SD CARD. The original Teensy wavetable object in the audio library was using fixed wavetables (in FLASH), but...
Back
Top