playback of audio files in the queue

Ysmir

New member
Hello to all,

I want to play a WAV audio file from an alarm and store the data read by the Teensy's queue function

However, when I launch my program, I can't display my data.

I put you my program in attachment :

#include "arm_math.h"
#include "string.h"
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>

// GUItool: begin automatically generated code
AudioPlaySdWav playSdWav2; //xy=209.0908966064453,138.0909080505371
AudioInputI2S i2s2; //xy=378.09089279174805,236.09089279174805
AudioMixer4 mixer1; //xy=424.00548553466797,131.00555038452148
AudioRecordQueue queue2; //xy=543.090934753418,201.09089374542236
AudioAnalyzePeak peak1; //xy=635.0909118652344,274.0909118652344
AudioOutputI2S i2s1; //xy=637.0056991577148,75.00562810897827
AudioConnection patchCord1(playSdWav2, 0, mixer1, 0);
AudioConnection patchCord2(playSdWav2, 1, mixer1, 1);
AudioConnection patchCord3(i2s2, 0, queue2, 0);
AudioConnection patchCord4(i2s2, 1, peak1, 0);
AudioConnection patchCord5(mixer1, 0, i2s1, 0);
AudioConnection patchCord6(mixer1, 0, i2s1, 1);
AudioControlSGTL5000 sgtl5000_1; //xy=415.99993324279785,430.99981117248535
// GUItool: end automatically generated code

// GUItool: end automatically generated code

// Broches de la carte SD utilisé sur la Teensy4
#define SDCARD_CS_PIN 10
#define SDCARD_MOSI_PIN 7
#define SDCARD_SCK_PIN 14

int initialisation = 1;

int16_t tableau_verif[10000];
int32_t audio[1024];
int i = 0;
int tot = 0;

void setup() {
// Préparation de la liaison série
Serial.begin(9600);
// Allocation de mémoire de traitement audio pour la Teensy4
AudioMemory(75);
// Activation de la sortie JACK
sgtl5000_1.enable();
// Set du volume
sgtl5000_1.volume(1);

// Set de carte SD en fonction des broches
SPI.setMOSI(SDCARD_MOSI_PIN);
SPI.setSCK(SDCARD_SCK_PIN);
if (!(SD.begin(SDCARD_CS_PIN))) {
// On s'arrête ici si on arrive pas à ouvrir la carte SD et on affiche le message suivant :
while (1) {
Serial.println("Impossible de lire la carte SD");
delay(500);
}
}
}

void loop() {
queue2.begin();
playSdWav2.play("ALARME.WAV");

if(queue2.available() >= 8) {
for (i = 0 ; i < 8; i++) {
memcpy(audio + 128*i, queue2.readBuffer(), 256);
queue2.freeBuffer();
}
tot = 0;

for (i = 0 ; i < 1024; i++) {
Serial.println(audio);{
tot = ((audio)^2) + tot;
}
}
}
}
 
Back
Top