Commit Graph

332 Commits

Author SHA1 Message Date
ChuckMash b837e7d36a
Stop output on OOM in MP3 (#658) 2024-04-25 17:53:07 -07:00
Infinity 51a584c2b7
Update AudioGeneratorRTTTL.cpp for dotted length (#668) 2024-04-25 17:51:42 -07:00
Earle F. Philhower, III 492a5beba4
Update GH CI actions to latest (#681) 2024-04-17 10:22:17 -07:00
Earle F. Philhower, III 89a5a07712
Get ESP32 CI builds working again (#680) 2024-04-17 10:11:03 -07:00
Earle F. Philhower, III b3c41668a2
Fix GCC12.3 new warnings for RP2040 (#679)
* Fix GCC12.3 new warnings for RP2040

* Remove OPUS encoder, not supported on embedded
2024-04-16 16:32:16 -07:00
Earle F. Philhower, III 139fba4116
Update opusfile.c (#678) 2024-04-16 15:14:14 -07:00
Earle F. Philhower, III b7d89058dd
Update polyphase.c 2024-04-16 15:11:31 -07:00
Earle F. Philhower, III e306df208c
Update AudioOutputSPDIF.h 2024-04-16 15:10:49 -07:00
Earle F. Philhower, III f6c0d562f8
Update AudioOutputSPDIF.cpp (#677) 2024-04-16 15:10:24 -07:00
KDM 60b93433d8
Update README.md (#675)
Corrected format to formant.
2024-04-16 14:55:52 -07:00
Nils Trubkin 0abcf71012
Add ability to SwapClocks(bool) on I2S. rp2040 only. (#639)
Fixes #638
2023-06-30 11:02:49 -07:00
Earle F. Philhower, III 12131e9826
Update README.md 2023-01-28 14:32:54 -08:00
Sylwester 4ba7df1928
Add support for I2S MCLK. (#594) 2023-01-04 09:46:05 -08:00
Earle F. Philhower, III 0b5da0e9dd
Add PWMAudio support for the RP2040 (#597)
Uses the RP2040 HW PWM generator to provide a stereo audio signal.
2023-01-03 17:08:56 -08:00
lovyan03 46b36574ed
fix: Invalid data is assigned to the right channel when playing a mono MP3. (#559) 2022-09-04 13:27:05 -07:00
FedericoBusero f95f15fcb3
I2S: register I2S object to platform failed (#568)
ESP32: When calling destructor after stop, and then create a new object, then an error is shown "I2S: register I2S object to platform failed" because i2s_driver_uninstall had not been called.
ESP8266 : i2s_end is not called when stopping, but i2sOn is false, resulting in new call i2s_rxtx_begin
2022-09-01 12:16:14 -07:00
Earle F. Philhower, III 72ed4f76dd
Update pr-or-master-push.yml 2022-09-01 12:15:29 -07:00
Earle F. Philhower, III a323627243
Update pr-or-master-push.yml 2022-08-31 10:54:49 -07:00
刘帅 93c4e3a15a
Fix build support gcc8 for other arch (#567) 2022-08-31 10:54:19 -07:00
Earle F. Philhower, III bf31f0f8be
Update macros.h 2022-08-31 10:52:24 -07:00
FedericoBusero e24223e3d5
ESP32: Fix compilation of I2S in Arduino ESP32 core 1.0.6 (#565) 2022-08-24 12:49:24 -07:00
Torrentero 6d3b8665f4
sketch_utils.sh now uses flags and breaks current functionality (#555)
Co-authored-by: Edgar <edgar.coria@xema.tech>
2022-07-16 18:05:28 -07:00
Earle F. Philhower, III 02225bcaa9
Fix overflow with x256 oversampling in I2SNoDAC (#543)
Fixes #542
2022-06-14 08:23:22 -07:00
Earle F. Philhower, III c4bf70bccf
Fix typo in README (#541)
Fixes #540
2022-06-13 08:32:18 -07:00
Torrentero 3b329b8201
fixed: tmpSourceSamplePositionF32P32 jumping to incorrect position causing distorted sound (#539)
Co-authored-by: Edgar <edgar.coria@xema.tech>
2022-06-10 17:57:53 -07:00
Earle F. Philhower, III c2adbdcf88
Enable Werror for ESP32 (#536)
The ESP32 core now builds without warnings, so at Werror back
2022-06-01 02:44:13 -07:00
Earle F. Philhower, III b987ca3540
Update library.properties 2022-05-31 09:37:03 -07:00
Earle F. Philhower, III 19f802923d
Update library.json 2022-05-31 09:36:45 -07:00
Earle F. Philhower, III 9a9e030d90
Add more tests to host testing in CI (#534)
Add more tests to host testing in CI
Fix FLAC potential 1st sample output oddity
2022-05-19 17:17:21 -07:00
Earle F. Philhower, III 879fe48b78
Clean up ESP32 I2S interface undefineds (#533) 2022-05-19 13:17:07 -07:00
Earle F. Philhower, III b9666d3652
Get ESP32 CI running again (#532)
Get ESP32 CI running again
ESP32 lacks separable CI stuff
ESP32 has broken GCC 8, don't build MIDI examples
2022-05-19 10:48:24 -07:00
Earle F. Philhower, III a6f1eda9a2
Get ESP8266 CI running again (#531)
Add LWIP to ESP8266 builds
New build step on ESP8266
Fix warnings, quiet get.py
Ack SPIFFS deprecation
Example fix
Clean up overzealous pragmas
Fix server.accept() deprecation
2022-05-18 22:12:33 -07:00
Earle F. Philhower, III 2069060574
Add RP2040 build (#530)
Fix examples to build on RP2040
Clean up generator warnings
No SPDIF on RP2040 (yet)
Add back C sources for AAC on ARM
No WiFi streaming on RP2040
No webradio on RP2040
No talking clock (NTP) on RP2040 either
2022-05-18 21:03:37 -07:00
Earle F. Philhower, III be8b8efbf2
Clean ESP32 build (#529) 2022-05-18 18:43:50 -07:00
Earle F. Philhower, III 9384bb0f3d
Update for RP2040 core v2.0 new I2S (#528)
The I2S subsystem was rewritten in the RP2040 core V2.0, so update to
use the new object and calls.

Also clean up some code warnings and remove SPIFFS from the RP2040\
2022-05-18 17:37:34 -07:00
Raphael Rott 76235d0e3f
fix typos in readme (#513) 2022-04-25 09:02:45 -07:00
Wouter van der Put c87b662cb6
Fix typo (#504) 2022-03-15 17:59:40 -07:00
Martin-Laclaustra 9ffb8a503a
Do not compile AudioGeneratorMIDI if GCC is 8 (compiler bug) (#502) 2022-03-10 09:14:10 -08:00
Maximilian Gerhardt 8b4010bf84
Fix PlatformIO library search mode (#500)
* Set default library mode to "deep"

* Increase version analog to library.json
2022-02-17 20:40:21 -08:00
Earle F. Philhower, III 20943870a9
Fix #define protection macro name 2022-02-09 08:33:23 -08:00
Frank 73a1821aba
Flush MOD output after normal end of playback (#482)
small oops in my previous PR - output->flush was not called after normal "end of song".
2022-01-10 14:27:02 -08:00
smischny d5dea4f20c
AudioOutputI2SNoDAC not working for RP2040 due to constructor differences with AudioOutputI2S (parent class) (#477)
Updated code to correctly call the parent classes constructor for the RP2040.
Changed the code for the RP2040 to correctly call the parent classes constructor.
2022-01-09 08:57:54 -08:00
Frank 7a82ba2ab3
AudiogeneratorMOD: use full 16bit with slightly better accuracy (#479)
* Fix a tricky bug that causes delays in playback

... this bug was already present in stellaplayer. Obviously "effectNumber" must be checked, because "effectParameterX" just holds the "upper nibble" of effectParameter

* fix for issue #474

- do channel mixing in 32bit, to avoid noise from over/underflow
- write audio output as "signed int" (not unsigned)
- add int16 saturation check ("clipping")

* avoid crash when MOD file has to many CHANNELS

- avoid guru meditation, by logging an error and refusing playback in case MOD.numberOfChannels > CHANNELS
- correct small typo

* internal DAC: avoid possible overflow in conversion int16 -> uint16

* update constants

.. we can do 16bit and 8 channels, so let's do it ;-)

This adds some debugging code to better understand what is going on inside the mixer code (AudioGeneratorMOD::GetSample). And it also prints out some usefull information from the MOD file.

Only active when do_MIXER_DEBUG is defined.

* MOD generator: 12 bits of "real" resolution (instead of 10)

With this change, we gain 2 additional bits of "real resolution" from the sample interpolation step.
Still need some testing to be sure that nothing get "lost" at the same time.

* limit to 4 channels on ESP8266

As discussed in https://github.com/earlephilhower/ESP8266Audio/pull/479#issuecomment-1007708703
2022-01-09 08:39:34 -08:00
Frank c55d240ade
Fix for issue #474, and a few other bugs in MODGenerator (#478)
Fixes #474

This bug was already present in stellaplayer. Obviously "effectNumber" must be checked, because "effectParameterX" just holds the "upper nibble" of effectParameter

- do channel mixing in 32bit, to avoid noise from over/underflow
- write audio output as "signed int" (not unsigned)
- add int16 saturation check ("clipping")
* avoid crash when MOD file has to many CHANNELS
- avoid guru meditation, by logging an error and refusing playback in case MOD.numberOfChannels > CHANNELS
2022-01-05 08:25:26 -08:00
FedericoBusero fe7a1f7951
Fix RTTTL stop on ESP32 (#473)
Fixes #327 
Fixes #471
2021-12-27 08:12:33 -08:00
FedericoBusero 4971e5ce68
Increase I2S buffer size (#472)
Increase I2S buffer size from 64 samples/ block to 128 samples/block. 
Thus fixes sound artifacts described in issue https://github.com/earlephilhower/ESP8266Audio/issues/442

Fixes #442
2021-12-26 09:29:09 -08:00
FedericoBusero 29e5e016af
AAC playback on RISC-V processor (ESP32C3) (#466)
The library produces white noise when playing AAC streams because of a little/big endian issue.
2021-12-19 14:02:45 -08:00
Earle F. Philhower, III dca33f80c7
Update library.properties 2021-12-17 19:32:45 -08:00
Earle F. Philhower, III faa8b094c9
Update library.json 2021-12-17 19:32:29 -08:00
FedericoBusero 7ac86f015f
I2S Fix Builtin DAC&PDM on ESP32 & compiling warning ESP32-C3 (#461)
* Update AudioOutputI2S.cpp

* Update AudioOutputSPDIF.cpp

* Fix PDM & DAC mode ESP32

The code for enabling compatibility with ESP32C3 had broken DAC builtin and PDM mode on ESP32. This should fix it again

* Update AudioOutputI2S.cpp
2021-12-17 19:31:49 -08:00