I guess, I have to setup the hardware to test further
can you confirm T3.6 and 2 I2S micros?
Yes T3.6. Two I2S mics (ICS43434). Filtering cap/resistor on power lines and source resistors (22 ohm) on other lines to account for longer wiring (~8cm).
An update
I'm working on it
There seems nothing wrong with detector in mProcess.h (even if I'm modifying it a little bit)
BUT I found this
processing data (snippets detection) is in parallel to simply delaying.Code:#include "mProcess.h" mProcess process1(&snipParameters); AudioConnection patchCord1(acq,0, process1,0); AudioConnection patchCord2(acq,1, process1,1); // #if MDEL <0 AudioConnection patchCord3(acq,0, queue[0],0); AudioConnection patchCord4(acq,1, queue[1],0); #else AudioConnection patchCord3(acq,0, delay1,0); AudioConnection patchCord4(acq,1, delay1,1); AudioConnection patchCord5(delay1,0, queue[0],0); AudioConnection patchCord6(delay1,1, queue[1],0); #endif
I will change this
Reason for this bug is, IIRC, microSoundRecorder was derived from an Event Recorder, but never really used as event recorder.
So, this was really not tested.
if process is disabled then bug was not visible.
Last edited by WMXZ; 10-10-2020 at 02:45 PM.
I cleaned up the code to get event driven logger working
It turned out that the code in #179 could work:
In order to allow pre-trigger delay the trigger process has to run in parallel.
However, it was wrong that trigger process was queuing data also to recording queue.
I updated the Github.
For the time being the two modes time-based recording and event-based recording are exclusive
For MDEL <0 , code for time-based recording is compiled allowing hibernating
For MDEL>=0, code for event-based recording is compiled, without possibility of hibernating
Awesome! I will have to try it out today. Just to make sure I am understanding you correctly. When MDEL>=0 the teensy will never hibernate even if the time settings dictate that it should not be recording?
Yes, for the time being, there are #if MDEL<0 ....#endif around the calls to checkDutyCycle()
But this is only to see if event-driven recording is working as expected.
On the bench here it was working, but with real data, you have to tell us.
In future I may activate hibernation again, as it can easily be controlled with acqParameters. But now it is de-activated.
Success! I can now confirm that the audio triggered recording is working. I tested it in my office and with very high threshold values (>1000) it would almost never record a file and if it did it would be less than a second long. I turned it down to a more reasonable 150 and placed it outside for a few hours. The files were of varying size and all had legitimate things to be recorded. We have a highway about a 0.5 km away so I got a recording each time traffic came by but also got recordings of crows and other birds. It took breaks from recording as anticipated during quieter times. I noticed the debugging data is now not very accurate to what the HW is actually doing (debugging does not always seem to show file close/open events). This is not overly important for me except that I was thinking to fine tune the settings it would be nice to have it record the debugging data to the SD card so I could compare the audio files to the triggering data for the audio file.
Hi to all and thank you for this amazing library,
I am new to audio logging, and I am trying to understand if it is possible to record audio on the SD card using only a Teensy without the Audio Board. Does microSoundRecorder need an Audio Board? I am reading the microSoundRecorder wiki and to my understanding, there are no references to the Audio Board. But in this forum, there are frequent references to the latter. In any case, can this library be modified to work for Teensy 4.1 paired with a single ICS43434?
I'd appreciate any thoughts or comments.
No audioboard is needed, just edit config.h
e.g. modify #define ACQ _I2S_32 // selected acquisition interface //<<<======>>>
e.g #define ACQ _I2S_32_MONO
and verify the microphone is connected correctly.
If you have problems, please provide config.h and list on how you connected the microphone
and what the Config.txt file on the uSD disk looks like
Hi Walter,
after a long time, I tried to upload the software to a newly built recorder.
However, it does not work any more.
* it seems the triggered recording mode is always enabled
* it is not possible to make time-scheduled recordings any more
* I am using I2S mic ICS43434
Is there any clue how that could be repaired?
@DD4WH
maybe a consequence of the work for redscott
Will have a look
Thanks a lot, Walter, for your quick response and the clarification!
I misunderstood the MDEL parameter, which seems to be a compile time define and not (as I wrongly assumed) a parameter that is given over to the recorder by the confog.txt on the SD card.
So, I will investigate with the new version and the right compile time defines. However, I have to carefully test the new Teensyduino version, because the recent SD lib changes could potentially break all my other scripts. So it will need some careful work.
Will keep you up-to-date on my advances!
All the best,
Frank DD4WH
in order not to change too much I only changed the include from SdFat-beta.h to SdFat.h so I access the SdFat library directly and not via SD interface.
Maybe in the future I will change to SD interface.
With new Teensyduino, you need to remove the SdFat-beta from the local library to avoid potential conflicts. with makefile I can control the libraries access directly
Good evening
I am new to Teensy. I use Arduino and ESP32.
Now i like to use this project for some testing for my Mems microphones.
My Software:
Windows 10
Arduino 1.8.13
Teensyduino from website
Last project from Github
Hardware Teensy 4.1
When i compile the microSound recorder i get a bounch of errors.
audio_mods.h:120: error: 'F_BUS' was not declared in this scope
PDB_period = F_BUS/fsamp -1;
float A=F_PLL/2.0f/i3/((float)nbits*fsamp);
audio_hibernate.h:62: error: 'LLWU_F3' was not declared in this scope
LLWU_F3 |= LLWU_F3_MWUF5_MASK; // clear source in LLWU Flag register
'IRQ_LLWU' was not declared in this scope
'LLWU_PE1' was not declared in this scope
'LLWU_PE2' was not declared in this scope
'LLWU_PE3' was not declared in this scope
'LLWU_PE4' was not declared in this scope
'LLWU_ME' was not declared in this scope
INTERNAl is not declared.
Maybe someone can help me what i missed to install.
Thanks
Yes, you need a Teensy microcontroller - it does not work on a Esp32
Hello
I am interested in recording a 24bit 96k stereo i2s audio stream to uSD card -- nothing else like temperature or environmental data. This is an attempt to get close to high quality recording from some of the good audio adc's like akm 557x, cs5381, etc.