File tree Expand file tree Collapse file tree 1 file changed +53
-0
lines changed
examples/examples-tts/streams-talkie-a2dp Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change
1
+ /* *
2
+ * @file streams-talkie-a2dp.ino
3
+ * @author Phil Schatzmann
4
+ * @copyright GPLv3
5
+ * Using TalkiePCM to generate audio to be sent to a Bluetooth Speaker
6
+ */
7
+
8
+ #include " AudioTools.h"
9
+ #include " AudioTools/AudioCodecs/CodecMP3Helix.h"
10
+ #include " AudioTools/AudioLibs/A2DPStream.h"
11
+ #include " TalkiePCM.h" // https://github.com/pschatzmann/TalkiePCM
12
+ #include " Vocab_US_Large.h"
13
+
14
+ const char * name = " LEXON MINO L" ; // Replace with your device name
15
+
16
+ AudioInfo from (8000 , 2 , 16 ); // TTS
17
+ AudioInfo to (44100 , 2 , 16 ); // A2DP
18
+
19
+ A2DPStream a2dp;
20
+ FormatConverterStream out (a2dp);
21
+ BufferedStream bs (1024 , out);
22
+ TalkiePCM voice (bs, from.channels);
23
+
24
+ void setup () {
25
+ Serial.begin (115200 );
26
+ AudioLogger::instance ().begin (Serial, AudioLogger::Info);
27
+ Serial.println (" Starting..." );
28
+
29
+ // setup conversion to provide stereo at 44100hz
30
+ out.begin (from, to);
31
+
32
+ // setup a2dp
33
+ auto cfg = a2dp.defaultConfig (TX_MODE);
34
+ cfg.name = name;
35
+ cfg.silence_on_nodata = true ; // allow delays with silence
36
+ a2dp.begin (cfg);
37
+ a2dp.setVolume (0.3 );
38
+
39
+ Serial.println (" A2DP Started" );
40
+ }
41
+
42
+ void loop () {
43
+ voice.say (sp2_DANGER);
44
+ voice.say (sp2_DANGER);
45
+ voice.say (sp2_RED);
46
+ voice.say (sp2_ALERT);
47
+ voice.say (sp2_MOTOR);
48
+ voice.say (sp2_IS);
49
+ voice.say (sp2_ON);
50
+ voice.say (sp2_FIRE);
51
+ bs.flush ();
52
+ voice.silence (1000 );
53
+ }
You can’t perform that action at this time.
0 commit comments