Search results

  1. G

    USB interface for multi channel outputs, not just stereo

    Does this mean that multichannel USB audio is going to be part of the new 1.61 release? If so that's huge! What is the interface that is planned for this? Will there be 4x4 and 8x8 usb audio objects in the Audio Library?
  2. G

    Teensy 3.6 - CS42448 Codec Object Broken On New IDE - Wire Not Found Error

    Hi, I need to revive an old project for Teensy 3.6, and with the new IDE version I am finding some audio objects that were previously working appear to be broken. The error I am getting seems to be in regards to CS42448 codec control, it throws an error saying Wire can't be found. Does anyone...
  3. G

    Updated 8x8 and 16x16 audio

    How does 16x16 mode work with the I2C multiplexing? It seems like each codec chip needs its own multiplexer channel and there are currently only 4? Do you use a different I2C line or set it up with a different multiplexer?
  4. G

    Updated 8x8 and 16x16 audio

    Thank you for sharing! Interesting, I would have figured there would be some sort of daisy chain configuration for the codecs but it appears TDM is wired to all the chips in parallel. How is that working in software? By what mechanism are the codecs assigned which part of the TDM data they...
  5. G

    Regulator and Ferrite Bead Components for SGTL5000 Design

    Ty for component rec, this is very helpful! So for Ferrite bead the 600 refers to 600 ohm at 100MHz?
  6. G

    Regulator and Ferrite Bead Components for SGTL5000 Design

    Yah this is why! I've always been confused as to why so many of these open source audio designs leave out the ground reference 🤔
  7. G

    Updated 8x8 and 16x16 audio

    Very cool! Is the full schematic / layout online anywhere to take a look? I notice the resistors and caps around the codec chips are pretty spaced out, is that done for any signal integrity reason or just aesthetic? Would be interested in ordering a board directly or from JLC whenever that...
  8. G

    Regulator and Ferrite Bead Components for SGTL5000 Design

    Hi, I am incorporating an SGTL5000 codec into a larger PCB design. I'm basing my schematic and layout on the SGTL5000 breakout board: https://www.pjrc.com/store/teensy3_audio.html I wanted to share my schematic to confirm I got the design correct and also ask for advice on selecting 2...
  9. G

    Daisy Chain SPI Shift Register Control with Teensy 4.1

    There probably is a way to make the SPI process faster by using DMA instead of an interrupt. Some complexity there because I need CS written low to high right on a sample downbeat rather than after any SPI processing. Interrupt worked well enough for the time being and did what I needed so never...
  10. G

    Daisy Chain SPI Shift Register Control with Teensy 4.1

    What I mean is would I get 1 word clock per sample? And one sample written out at a time at audio rate? It sounds like this is the case. I am just making sure TDM isn't writing out a buffer of several consecutive samples at a time. The actual audio processing / synthesis is done with the audio...
  11. G

    Daisy Chain SPI Shift Register Control with Teensy 4.1

    Also this is more in the category of general project advice, but does the differential transmitter / receiver + Shielded CAT6 and Schmitt trigger setup seem reasonable for sending signal between PCBs? CAT6 runs will mostly be < 12" at most < 36"
  12. G

    Daisy Chain SPI Shift Register Control with Teensy 4.1

    So I guess the idea would be to write TDM data out once per sample and use the TDM word clock as the "chip select"? Could the TDM data outputs could share one word and bit clock output? What is the maximum number of data pins for TDM on the Teensy 4.1? Would it be possible to run TDM at a...
  13. G

    Daisy Chain SPI Shift Register Control with Teensy 4.1

    Sorry I mispoke, 88.2 kHz interrupt
  14. G

    Daisy Chain SPI Shift Register Control with Teensy 4.1

    It's audio like, essentially a bunch of 1-bit / square wave audio channels. The project is for musical robotics. Used the 64 channel version to build this if you're interested: https://emmettpalaima.com/CATHEDRAL-64 Because the shift registers have a latch / storage feature the outputs update...
  15. G

    Daisy Chain SPI Shift Register Control with Teensy 4.1

    I thought they could be run faster if you configure the clock outside of the library function? For FlexIO, can that be controllable via DMA? And can the pin assignment be the same as the regular SPI port?
  16. G

    Daisy Chain SPI Shift Register Control with Teensy 4.1

    Hi, I'm working on a project where I need to control a large number of shift register outputs updated at 44.1kHz audio rate. I built a board in the past that worked well for controlling 64 outputs (8 shift registers), I'm now working to expand it to more outputs for a different application. To...
  17. G

    Updated 8x8 and 16x16 audio

    Keep us posted, we're all rooting for you! 🙏✨
  18. G

    Updated 8x8 and 16x16 audio

    All good! Is there a git repo with the progress so far?
  19. G

    Updated 8x8 and 16x16 audio

    How is this going? Is there a repo for the PCB design and audio library code? I've made extensive use of a design based on the original CS42448 8x8 audio board from the hackable post but looking to update for more channels and future compatibility now that CS42448 is obsolete. Would love to...
  20. G

    i2c_t3 compile error

    As far as I recall this was an issue during initial development as well. The Audio library called Wire and left no good method for resolving the conflicts this created with the i2c_t3 library. Doesn't matter whether or not any audio objects I was using actually used the Wire library, since Wire...
  21. G

    i2c_t3 compile error

    To solve this I had to find the default Wire library and modify it as I believe that gets included by the Teensy Audio library. Commenting out these lines in WireKinetis.cpp // #ifdef WIRE_IMPLEMENT_WIRE // constexpr uintptr_t i2c0_addr = KINETIS_I2C0_ADDRESS; // TwoWire Wire(i2c0_addr...
  22. G

    i2c_t3 compile error

    IS31_I2C.h is the first code section. This code section is included in main as IS31_I2C.h
  23. G

    i2c_t3 compile error

    Hi, I am recompiling an old sketch using i2c_t3 on the new Arduino IDE and it no longer builds. I get a library error saying that Wire and Wire1 have multiple definitions like the original Wire library is getting defined somewhere. How do I fix this? I also tried on an older Teensyduino IDE...
  24. G

    Replacement for CS42448

    Hi, I've done a lot of work with the Teensy Audio library and the CS42448 codec. I see now the part has been obsolesced, would definitely rather not have to redesign all the infrastructure I've built to support this. A lot of this has been based on Paul's original codec PCB design on OSH Park...
  25. G

    Where is Audio Library Located in the New Arduino 2.0 IDE?

    That is it! Thank you! For reference the issue I was having is related to an optimization where synth objects don't generate an output buffer if their amplitude is set to 0: void AudioSynthWaveform::update(void) { audio_block_t *block; int16_t *bp, *end; int32_t val1, val2...
  26. G

    Where is Audio Library Located in the New Arduino 2.0 IDE?

    Hi, I need to find where the audio library is installed on the new Arduino IDE (2.3.2). I used to be able to find it easily when using teensyduino, but cannot find where the folder referenced by the new ide install is located. I can even open the files as read only, but cannot get the ide to...
  27. G

    Fast SD Playback for Multichannel Audio File

    This worked for me, just had to make two additional changes to the update function to maintain position tracking and allowing the file to read additional data past the end of the filesize when looping (this data now comes from the beginning of the file): // also, don't play past end of data...
  28. G

    Fast SD Playback for Multichannel Audio File

    Was able to test this class finally and it's working for basic 8 channel playback using the new Arduino IDE and including the files I mentioned in the last post manually in the sketch folder: AudioBuffer.cpp AudioBuffer.h play_wav_buffered.cpp play_wav_buffered.h In regards to looping, I have...
  29. G

    Fast SD Playback for Multichannel Audio File

    Thanks for the very thorough reply! Seems to be compiling after an IDE update to Arduino 2.2.1 just by including the following files: AudioBuffer.cpp AudioBuffer.h play_wav_buffered.cpp play_wav_buffered.h Away from the bench atm so just doing this headlesss, but hopefully will be able to...
  30. G

    Fast SD Playback for Multichannel Audio File

    Okay, thanks, started checking it out today. It seems like this is part of a much larger overhaul of the Teensy codebase, and there are a lot of overlapping dependencies that this relies on which do not live in the same place. 1. Is there a way to try this without having to set up / install...
  31. G

    Fast SD Playback for Multichannel Audio File

    Awesome, is there an example you recommend from this branch for getting started with just reading an 8 channel wav file from the SD?
  32. G

    Fast SD Playback for Multichannel Audio File

    Thanks! This thread looks very helpful I will check it out. Is the basic idea here just to read the entire file into internal memory before playing it back? Or to do so in large sections at a time such that the read operation is more efficient? When I say fast I just mean fast enough to work...
  33. G

    Fast SD Playback for Multichannel Audio File

    Hi, I am working on a project using the Teensy 4.1 to play back spatial audio via the CS42448 codec. I'd like the project to be able to play back recorded spatial files from the SD reader, and I wrote a modified version of the SD file player object for this purpose. However, I'm hitting a...
  34. G

    Phase Value to Set Sine Output to 1

    Hi, I’m working on an audio project where I’d like to use the sine oscillator as a tremolo modulation source alongside the multiply object. When I turn off the modulation I need this to rest at a static value of 1, for full volume no tremolo. To accomplish this I’m thinking I’ll set the...
  35. G

    Teensy USB Power Supply Fighting with Linear Voltage Regulator

    Hi, I recently made a PCB for a Teensy project that uses a linear voltage regulator to step down 12V used for some analog audio circuitry to 5V to power the teensy. This is working well, except that when I plug in the USB for programming I notice the linear regulator starts getting pretty hot...
  36. G

    Where is AudioStream.h in the Github Repo?

    Thanks y'all! Maybe worth adding this to the readme, on the audio library building your own object tutorial page, or as a comment somewhere in the audio library files? Felt very cryptic otherwise, and would have expected to be able to find this out from at least one of those sources...
  37. G

    Where is AudioStream.h in the Github Repo?

    Hi. I am studying the audio library structure for the purpose of writing my own custom objects. They all reference a parent class named AudioStream, and include AudioStream.h but it appears the file AudioStream.h is not actually included in the repo. Maybe I'm missing something, but it's not in...
  38. G

    PT8211 ~2kHZ Noise On Output - Teensy 4.1

    To be clear, this issue happens with the code I posted just using a Teensy 4.1 (powered via USB) and a breakout board I got directly from PJRC: https://www.pjrc.com/store/pt8211_kit.html. It's not related to my hardware. You can recreate this using the Teensy 4.1, a breakout kit, and the code I...
  39. G

    PT8211 ~2kHZ Noise On Output - Teensy 4.1

    PWR_FLAG is not a net, it's a marker that lets KiCAD know that the net it's connected to is a power plane. It's a design rules thing. Don't worry about VDD or VCC, those are used for an analog portion of the circuit that is disabled at present. In fact, don't worry about my design at all. As...
  40. G

    PT8211 ~2kHZ Noise On Output - Teensy 4.1

    I find this is also happening on a PT8211 breakout purchased from PJRC, with the audio library example code edited to zero the output. Definitely something wrong here... #include <Audio.h> #include <Wire.h> #include <SPI.h> #include <SD.h> #include <SerialFlash.h> // GUItool: begin...
  41. G

    PT8211 ~2kHZ Noise On Output - Teensy 4.1

    Looking at this further on my scope, I am seeing an equivalent signal at the DIN pin (seems a little odd this is anything other than zero, since I am writing a zero output in code, but figure this might be some configuration or address bits). Seems like noise from the digital side of the chip is...
  42. G

    PT8211 ~2kHZ Noise On Output - Teensy 4.1

    Hi, I am working on a project using the PT8211, and running into an issue where I am seeing a pronounced ~2kHz noise on the output of the chip. This happens even when I write super stripped down audio code that completely zeros the output, and disable all other electronic functionality on my...
  43. G

    Is it possible to program a Teensy with NXP IDE and a Debugger?

    Hi, I was wondering if it was possible to working with the teensy hardware using the NXP IDE and debugger rather than Arduino IDE with the USB Serial port. I love the Teensy's processing power and flexibility, but having to do all the debugging with print statements is a huge drawback when...
  44. G

    Proper Use of Optimized DSPInt Functions

    Hi, I am experimenting with writing my own audio library objects. Look a build a harmonic distortion algorithm and thought I'd try and use the optimized integer math functions the audio library provides. My harmonic distortion is a transfer function represented by: y = x - x^2 * x2c - x^3 *...
  45. G

    Integer Math SQRT for Equal Power Scaling in Surround Panner Object

    Hi, I'm writing a surround panner object for use with the Teensy and the CS42448 8ch codec. It accepts an audio input and a -1 to 1 control input, sending the input to one of 8 outputs. I'm wondering how I can accomplish equal power scaling using audio library integer math. Is there any sort of...
  46. G

    ReceiveWritable, ReceiveReadOnly returning NULL blocks

    Hi, I am experimenting with writing a surround panner object for the Teensy Audio Library. This reads a single input channel and applies panning gain to 8 output channels. I notice I'm getting some weird behavior with the receive blocks functions. Paired things down to the bare minimum and I'm...
  47. G

    Longer Values for Envelope Object

    Hi, I'm working on a project where I could use a really long envelope, was looking at maybe modifying the envelope object to incorporate longer times. Wanted to ask first if there was any particular reason the number 11880ms was picked for the maximum value for the phases. Seems oddly specific...
  48. G

    Errors Using Wire Library Alongside Audio on Teensy 4.1

    Actually looks like I figured it out by adding an additional coupling cap to the 5V line entering the IS31 IC. No longer getting I2C errors with the additional filtering present. Maybe worth noting however that T3.2 worked whether the coupling cap was present or not, whereas with T4 they need to...
  49. G

    Errors Using Wire Library Alongside Audio on Teensy 4.1

    For now it’s just powered via USB 5V. I’ve also tried providing 5V from an external supply but it doesn’t make a difference.
Back
Top