I tested the usb input now also with 48kHz and I fixed a small bug (unrelated to the sampling frequency), that caused sometimes a nearly empty buffer at the beginning of a stream. As far as I can tell, the usb input also works for 48kHz.
No, it was because the NE5532 can only get to within about 2V of its supply rails, and that was the single simplest change I could make! Just a -5V supply to ANA_VMM might do it. I used the NE5532 because it was on the data sheet examples and...
I didn't test different sampling frequencies yet, but I want to try out 48kHz in the next days. I tested different bIntervals by just changing the value AUDIO_POLLING_INTERVAL_480 in usb_desk.h for testing purposes (Manually setting the value is...
It’s slightly easier than that. The output stage is only connected if you fit 4 jumpers to CN3, jumping 1-2, 3-4, 5-6 and 7-8. So just design your analogue out as you see fit, and connect to the odd-numbered pins on CN3 (VOUTn+/-). VCOMAD_B on...
This looks great, I definitely plan to give it a go when I have time to do it properly. I’m understanding from what you say that we should be able to get 8 channels at 96kHz working properly? That needs 1536 bytes/ms, so a bInterval of 0.5ms or 4...
I just placed a 1000uF decoupling cap at the 5V Teensy VIN and voilà, the tikitik is gone :)
Long time with this problem, asking is needed sometimes to get clues and organize thoughts.
Yes, it should, so it’s likely not the writes. You only said “changes” the speed, so I had to guess bigger was slower, as that’s what we saw previously.
Please do bear in mind I'm primarily a software guy who knows just enough about hardware to be dangerous!
My contributions on the audio guestbook thread relating to this issue are around here. Various pieces of evidence seemed to stack up...
Just trying the multi-pin TDM, and it looks as if output_tdm.cpp only has some of the required modifications; the register bit-twiddling code is all in there, but the N-pin setup in begin() isn't, and neither are the changes in isr() or the...
That’s using my buffered play/record library, continueRecording() doesn’t need to do anything because the record object does the SD writes in an event response.
I recall from the audio guestbook thread that power / ground bounce could get into...
You may need to define "easily". And indeed "to a Teensy 4.1", since you mention adding PSRAM to the audio adaptor... And maybe what your goal is would give us a clue, though to be fair that doesn't necessarily make much difference.
For example...
You should be able to use an SD card just fine, I don’t think it clashes with either TDM or TDM2. If you use the Teensy 4.1 built in slot then that’s definitely OK, I’ve tried it.
Note the EasyEDA Teensy footprint uses conventional pin...
THANK YOU SO MUCH! I must have been testing the phone while still plugged into the computer, leaving it in Ready, then unplugging. I called it the reset button because it was then stuck waiting in while (!Serial) {} once I plugged it in and so...
It's NOT a reset button! It's a Program button, and you just told your Teensy to wait for new code to be uploaded. Just power it up and wait for the confirmation beep. And ensure you DON'T have any remaining while (!Serial) {} or similar code...
Not an urgent problem at all, no worries. I just repeated myself as we seemed to have perhaps gone a bit OT!
I did take a look at the manual but it doesn't even mention Conversations that I can see, though there do seem to be mechanisms for...
Speaking as a well-known member in the devboard conversation (or at least one of them) where defragster has included images, I see no such drag+drop option to include images, only the URL field.
Any chance of enabling images and attachments within Conversations? I much prefer to do most discussion on a thread where everyone can benefit, but just occasionally it's appropriate to keep things 1:1
Finally got round to trying the multi-channel USB, in the hope you found something @mcginty and I missed. No such luck, I'm afraid, I still get glitches:
My test code is this:
#include <Audio.h>
#define AUDIO_kHz ((int) AUDIO_SAMPLE_RATE /...
You might want to try increasing the number of buffers and their size in ResamplingSerialFlashReader.h:
#define RESAMPLE_BUFFER_SAMPLE_SIZE 512
#define RESAMPLE_BUFFER_COUNT 7
This might help the "sound goes really bad", could help the...
A few things to note:
the delay time is a float, in milliseconds - obviously an Arduino-style analogRead() is never going to give you fine-tuning here, but potentially worth knowing
there's not much throttling the update speed of your loop(), so...
I've just knocked up a very simple thermistor-based probe, on the basis I probably won't be allowed to keep the work FLIR camera :giggle:
It's not likely to be super accurate unless I can find a way of calibrating it, as the thermistor has ±5%...
Some objective values for "quite warm". Here's a couple of FLIR camera images without a heatsink, after allowing the board to warm up. Ambient is about 20°C, images are top and bottom of board and targeted as best I could at the hottest point...
Nope, but I can't imagine they've done anything too radical, Atmel / Microchip are usually pretty consistent. Of course, it does have to receive updates from your main controller as well as "spit out Fastled data"...
In other news, just for fun...
It should be possible to add the custom code to your libraries, but I think you need to put it "one level down":
I can #include "custom.h" or #include "not-custom.h" in a sketch, and the Arduino search process finds them OK.
The Design Tool GUI...
Glad you got it working.
It’s possibly worth pointing out that you don’t have to assign all 95.1 seconds of EXTMEM to a single delay object, as your sample code does. You can have multiple objects each with their own maximum delay time, up to a...
OK, a few things ...
it's really helpful to post code in the </> code tags, makes it easier to read! Not vital for this short piece of code
I have to assume you're using Teensyduino 1.59 - this is pretty important, a couple (?) of the previous...
Yes. By me, nearly 2 years ago. And nearly merged with the official library, over a year ago. But not...
https://github.com/PaulStoffregen/Audio/pull/433
Yes, though I could probably have made a better job of it, in hindsight. There's copper under the chip on all 4 layers, with top and bottom layers being the pad ground so tied together by the vias in the part's footprint. I'd imagine it might be...
I've added a reset(pin#) function to the AudioControlPCM3168 object - it's pushed to the repo linked in post #1.
Before you call AudioControlPCM3168::enable(), you should call AudioControlPCM3168::reset(pin), using the Teensy pin number you...
That’s about what I’m seeing. It certainly gets pretty warm … I have some thermistors on the way to track it. Though if I can borrow the IR camera from work, that’d be fun!
I seem to recall Paul observed the CS42448 gets quite toasty, too.
Very simply! I think it's quite important, but there's no very good way to force the programmer to use it, because you don't know which pin's in use. The 100ms delay is probably excessive, and certainly should be dealt with much better in proper...
It's pretty much all in the github repo, but...
control_pcm3168.cpp:
/* Audio Library for Teensy 3.X
* Copyright (c) 2014, Paul Stoffregen, paul@pjrc.com
*
* Development of this audio library was funded by PJRC.COM, LLC by sales of
* Teensy...
I'm gonna plug the Pi Pico or similar one more time here ... the ATtiny only has 3k of RAM, so will max out at say 1000 LEDs per strip. I'm assuming you didn't really mean 5 million LEDs per strip, but 5 metres ... so maybe 300 per strip ... but...
If you have the rev D2 audio board, it's usable for channels 1-2 (because the I2S address is fixed). You'll need rev D (with the pads to configure I2C address) for channels 3-4 or channels 1-2.
You definitely can use rev D2 and rev D together...
You might want to look at the RP2040 (Raspberry Pi Pico etc) for a "small" processor. Very cheap, dual cores, reasonable Flash, RAM and speed for the purpose, and it looks like the PIO / DMA can be set up to drive LED strips with very little CPU...
Yes - there's various threads and web pages around which give more-or-less comprehensive information on how to do it. The info pane for the QuadI2S objects in the Design Tool is a good starting point. The Teensy 4.x can comfortably manage 4i4o...
Thanks Mark, good to know. I did find it slightly weird to have just C46 / C47 grounding the VIN- pins: seemed one step away from leaving them floating. But as a software guy who knows just enough about hardware to be dangerous, I'll go with the...
Here you go! The dangly bit at the right is the DC-DC converter, and the DuPont cabling is connecting two differential outputs back to inputs for testing.
I have no idea on C50 and C52, I cribbed them straight from “Figure 60. Buffer and...
Hi folks
I've been playing around with the PCM3168, a near-alternative to the CS42448 which is now shown as discontinued on Cirrus Logic's website. From a functionality point of view, the PCM3168 doesn't have the ability to add another pair of...
Just found this one, after a lot of head-scratching. I've done PR#472 for it. The copy from the 16 incoming audio blocks to the output buffer was copying twice as much as it should have, so the second half (presumably garbage) was overwriting...