|
24 | Arduino SAM
25 |
26 | |
27 |
|
24 | Arduino SAM
25 |
26 | |
27 |
| SAM | |
| Phonetic Mode |
|
24 | Arduino SAM
25 |
26 | |
27 |
This is the complete list of members for PitchedStr, including all inherited members.
70 || pitch (defined in PitchedStr) | PitchedStr | |
| str (defined in PitchedStr) | PitchedStr |
|
24 | Arduino SAM
25 |
26 | |
27 |
|
24 | Arduino SAM
25 |
26 | |
27 |
74 | Files | |
| file | sam_arduino.h [code] |
| Arduino API for SAM. | |
|
24 | Arduino SAM
25 |
26 | |
27 |
| ▼ src | |
| sam_arduino.h | Arduino API for SAM |
| sam_arduino_out.h |
|
24 | Arduino SAM
25 |
26 | |
27 |
|
24 | Arduino SAM
25 |
26 | |
27 |
string and pitch - this can be used to build a song 73 | More...
74 | 75 |#include <sam_arduino.h>
78 | Public Attributes | |
| 80 | int | pitch |
| 83 | char * | str |
string and pitch - this can be used to build a song
88 ||
24 | Arduino SAM
25 |
26 | |
27 |
|
24 | Arduino SAM
25 |
26 | |
27 |
|
24 | Arduino SAM
25 |
26 | |
27 |
| CPitchedStr | String and pitch - this can be used to build a song |
| CSAM | Arduino API for SAM Text to Speach Engine |
| CSAMOutputBase | Base Output Class with common functionality |
| CSAMOutputCallback | Output via Callback method |
| CSAMOutputI2S | Output to I2S for ESP32: This class is obsolete and has been deactivated in the sam_config.h since the related API is not longer supported by Espressif. Use the I2S functionality provided by your core or the AudioTools library instread |
| CSAMOutputStream | Output to Arduino Stream |
| CSAMPrintStream | Write readable string to Arduino Stream |
|
24 | Arduino SAM
25 |
26 | |
27 |
Arduino API for SAM. 77 | More...
78 | 79 |Go to the source code of this file.
80 |82 | Classes | |
| class | SAM |
| Arduino API for SAM Text to Speach Engine. More... | |
| struct | PitchedStr |
| string and pitch - this can be used to build a song More... | |
91 | Functions | |
| 93 | void | printLog (char *msg) |
Arduino API for SAM.
98 | 99 ||
24 | Arduino SAM
25 |
26 | |
27 |
| CPitchedStr | String and pitch - this can be used to build a song |
| CSAM | Arduino API for SAM Text to Speach Engine |
| ▼CSAMOutputBase | Base Output Class with common functionality |
| CSAMOutputCallback | Output via Callback method |
| CSAMOutputI2S | Output to I2S for ESP32: This class is obsolete and has been deactivated in the sam_config.h since the related API is not longer supported by Espressif. Use the I2S functionality provided by your core or the AudioTools library instread |
| ▼CSAMOutputStream | Output to Arduino Stream |
| CSAMPrintStream | Write readable string to Arduino Stream |
|
24 | Arduino SAM
25 |
26 | |
27 |
Sam is a very small Text-To-Speech (TTS) program written in C, that runs on most popular platforms. It is an adaption to C of the speech software SAM (Software Automatic Mouth) for the Commodore C64 published in the year 1982 by Don't Ask Software (now SoftVoice, Inc.). It includes a Text-To-Phoneme converter called reciter and a Phoneme-To-Speech routine for the final output. It is so small that it will work also on embedded computers.
69 |
I created this project with the intention to provide SAM as Arduino Library which supports different output alternatives:
71 |You can download the library as zip and call include Library -> zip library. Or you can git clone this project into the Arduino libraries folder e.g. with
Voices can be defined by setting the speed, pitch, throat and moth parameters:
90 |You can try out some alternative parameter combinations here.
98 |The autput format is as follows:
101 |You can change the channels to 2 by calling sam.setOutputChannels(2);
| Memory Type | Used |
|---|---|
| Progmem | 225'000 |
| Dynamic Memory | 14'000 |
The requirements have been determined by compiling the project with an ESP32. The values are rounded up!
118 |
The software is a reverse-engineered version of a commercial software published more than 30 years ago. The current copyright holder is SoftVoice, Inc. (www.text2speech.com)
122 |Any attempt to contact the company failed. The website was last updated in the year 2009. The status of the original software can therefore best described as Abandonware (http://en.wikipedia.org/wiki/Abandonware)
123 |As long this is the case we cannot put the code under any specific open source software license: Use it at your own risk.
124 ||
24 | Arduino SAM
25 |
26 | |
27 |
This is the complete list of members for SAMOutputBase, including all inherited members.
70 || bits_per_sample (defined in SAMOutputBase) | SAMOutputBase | protected |
| bitsPerSample() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| channel_count (defined in SAMOutputBase) | SAMOutputBase | protected |
| channels() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| close() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| drain() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| is_open (defined in SAMOutputBase) | SAMOutputBase | protected |
| isOpen() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| name()=0 (defined in SAMOutputBase) | SAMOutputBase | pure virtual |
| open() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| sampleRate() (defined in SAMOutputBase) | SAMOutputBase | inlinestatic |
| setChannels(int channels) (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| setSampleRate(uint32_t rate) (defined in SAMOutputBase) | SAMOutputBase | inlinestatic |
| write(byte *buff, int bytes_count)=0 (defined in SAMOutputBase) | SAMOutputBase | pure virtual |
| ~SAMOutputBase() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
|
24 | Arduino SAM
25 |
26 | |
27 |
This is the complete list of members for SAMOutputCallback, including all inherited members.
70 || bits_per_sample (defined in SAMOutputBase) | SAMOutputBase | protected |
| bitsPerSample() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| callback (defined in SAMOutputCallback) | SAMOutputCallback | protected |
| channel_count (defined in SAMOutputBase) | SAMOutputBase | protected |
| channels() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| close() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| drain() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| is_open (defined in SAMOutputBase) | SAMOutputBase | protected |
| isOpen() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| name() (defined in SAMOutputCallback) | SAMOutputCallback | inlinevirtual |
| open() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| SAMOutputCallback(sam_callback cb) (defined in SAMOutputCallback) | SAMOutputCallback | inline |
| sampleRate() (defined in SAMOutputBase) | SAMOutputBase | inlinestatic |
| setChannels(int channels) (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |
| setSampleRate(uint32_t rate) (defined in SAMOutputBase) | SAMOutputBase | inlinestatic |
| write(byte *buffer, int bytes_count) (defined in SAMOutputCallback) | SAMOutputCallback | inlinevirtual |
| ~SAMOutputBase() (defined in SAMOutputBase) | SAMOutputBase | inlinevirtual |