Skip to content

Commit

Permalink
Improved SAMD support. Release 1.3.1.
Browse files Browse the repository at this point in the history
  • Loading branch information
ArminJo committed May 22, 2021
1 parent dbc73b8 commit 070d942
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 7 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ The 8 kHz interrupt handling requires **8
# Revision History
### Version 1.3.1
- Updated _1_Voltmeter example and renamed example names.
- Improved SAMD support.

### Version 1.3.0
- Removed blocking wait for ATmega32U4 Serial in examples.
Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version=1.3.1
author=Peter Knight, Armin Joachimsmeyer
maintainer=Armin Joachimsmeyer <[email protected]>
sentence=Speech library for Arduino. Generates speech from a fixed vocabulary encoded with LPC.
paragraph=Talkie comes with over 1000 words of speech data that can be included in your projects. It is a software implementation of the Texas Instruments speech synthesis architecture (Linear Predictive Coding) from the late 1970s / early 1980s. The voice is familiar from Texas Instruments Speak & Spell family of educational products.<br/>Copyright 2011 Peter Knight.<br/>This library is a reworked version which includes <b>8 MHz operation and non blocking capabilities</b> as well as a few utilities.<br/>The code for the queued non blocking version is based on the fork of Paul Stoffregen. https://github.com/PaulStoffregen/Talkie<br/><br/><b>New: </b>Renamed examples.<br/>
paragraph=Talkie comes with over 1000 words of speech data that can be included in your projects. It is a software implementation of the Texas Instruments speech synthesis architecture (Linear Predictive Coding) from the late 1970s / early 1980s. The voice is familiar from Texas Instruments Speak & Spell family of educational products.<br/>Copyright 2011 Peter Knight.<br/>This library is a reworked version which includes <b>8 MHz operation and non blocking capabilities</b> as well as a few utilities.<br/>The code for the queued non blocking version is based on the fork of Paul Stoffregen. https://github.com/PaulStoffregen/Talkie<br/><br/><b>New: </b>Improved SAMD support. Renamed examples.<br/>
category=Signal Input/Output
url=https://github.com/ArminJo/Talkie
architectures=avr,megaavr,samd,esp32,stm32,STM32F1
Expand Down
12 changes: 8 additions & 4 deletions src/Talkie.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
*
* C to avoid clicks Low pass 1600 Hz DC decoupling (optional)
* _____
* D3 >------||-------| 10k |---+-----------||-------> to Power amplifier
* 100nF ----- | 10nF
* D3 >------||-------|_____|---+-----------||-------> to Power amplifier
* 100nF 10k | 10nF
* ---
* --- 10 nF
* |
Expand All @@ -44,7 +44,7 @@
* Leonardo 9/PB5 10/PB6 1 4
* ProMicro 5/PC6 % 1 4 - or Adafruit Circuit Playground Classic
* Esplora 6/PD7 % 1 4
* Zero (SAMD) A0 % TC5 DAC0
* Zero (SAMD) A0 % TC5 A0/DAC0
* ESP32 25 % hw_timer_t DAC0
* BluePill 3 % timer3 analogWrite Roger Clarks core
* BluePill PA3 % timer4 analogWrite STM core
Expand Down Expand Up @@ -278,7 +278,11 @@ void Talkie::initializeHardware() {

#elif defined(ARDUINO_ARCH_SAMD) // Zero
#define _10_BIT_OUTPUT // 10-bit, 350 ksps Digital-to-Analog Converter (DAC)
#define DAC_PIN DAC0 // pin 14/A0 for Zero. PA02 + DAC1 on due
#if defined DAC0
#define DAC_PIN DAC0 // pin 14/A0 for Zero. PA02 + DAC1 on DUE
#else
#define DAC_PIN A0 // On some SAMD boards DAC0 definition is missing
#endif
#define PWM_OUTPUT_FUNCTION(nextPwm) analogWrite(sPointerToTalkieForISR->NonInvertedOutputPin, nextPwm)
# ifdef ARDUINO_SAMD_CIRCUITPLAYGROUND_EXPRESS
static const int CPLAY_SPEAKER_SHUTDOWN= 11;
Expand Down
9 changes: 7 additions & 2 deletions src/Talkie.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,13 @@ class Talkie {
};

/*
* Version 1.2.1
* - Removed blocking wait for ATmega32U4 Serial in examples.
* Version 1.3.1
* - Improved SAMD support.
*
* Version 1.3.0
* - 10 bit Coefficients are working now, but they do not sound better :-(.
* - Tested on an ESP32.
* - Tested on a BluePill.
*
* Version 1.2.0 - 8/2020
* - Corrected wrong function name doNotUseUseInvertedOutput().
Expand Down

0 comments on commit 070d942

Please sign in to comment.