Skip to content

Commit e1a2fcc

Browse files
authored
Merge pull request #14 from IDC-Dragon/master
high resolution for I2S input/output, added S/PDIF input/output with configurable sample rate and 24 bit
2 parents a609fa8 + d9efa31 commit e1a2fcc

12 files changed

+1273
-56
lines changed

AudioConvert_F32.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class AudioConvert_I16toF32 : public AudioStream_F32 //receive Int and transmits
3636

3737
static void convertAudio_I16toF32(audio_block_t *in, audio_block_f32_t *out, int len) {
3838
//WEA Method. Should look at CMSIS arm_q15_to_float instead: https://www.keil.com/pack/doc/CMSIS/DSP/html/group__q15__to__x.html#gaf8b0d2324de273fc430b0e61ad4e9eb2
39-
const float MAX_INT = 32678.0;
39+
const float MAX_INT = 32768.0;
4040
for (int i = 0; i < len; i++) out->data[i] = (float)(in->data[i]);
4141
arm_scale_f32(out->data, 1.0/MAX_INT, out->data, out->length); //divide by 32678 to get -1.0 to +1.0
4242
}

AudioSettings_F32.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
2+
#include <Arduino.h>
33
#include "AudioSettings_F32.h"
44
#include "AudioStream_F32.h"
55

AudioSettings_F32.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
#ifndef _AudioSettings_F32_
33
#define _AudioSettings_F32_
44

5+
#include <AudioStream.h> // for AUDIO_SAMPLE_RATE_EXACT, AUDIO_BLOCK_SAMPLES
6+
57
class AudioSettings_F32 {
68
public:
7-
AudioSettings_F32(float fs_Hz, int block_size) :
9+
AudioSettings_F32(float fs_Hz=AUDIO_SAMPLE_RATE_EXACT, int block_size=AUDIO_BLOCK_SAMPLES) :
810
sample_rate_Hz(fs_Hz), audio_block_samples(block_size) {}
911
const float sample_rate_Hz;
1012
const int audio_block_samples;

OpenAudio_ArduinoLibrary.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@
2222
#include "AudioMultiply_F32.h"
2323
#include "AudioSettings_F32.h"
2424
#include "input_i2s_f32.h"
25+
#include "input_spdif3_F32.h"
26+
#include "async_input_spdif3_F32.h"
2527
#include "output_i2s_f32.h"
28+
#include "output_spdif3_F32.h"
2629
#include "play_queue_f32.h"
2730
#include "record_queue_f32.h"
2831
#include "synth_pinknoise_f32.h"

0 commit comments

Comments
 (0)