Add on-device tex-to-speech (TTS) demo for HarmonyOS (#1590)

This commit is contained in:
Fangjun Kuang
2024-12-04 14:27:12 +08:00
committed by GitHub
parent 47a2dd4cf8
commit 74a8735f7a
61 changed files with 1930 additions and 117 deletions

View File

@@ -22,8 +22,14 @@ CircularBuffer::CircularBuffer(int32_t capacity) {
void CircularBuffer::Resize(int32_t new_capacity) {
int32_t capacity = static_cast<int32_t>(buffer_.size());
if (new_capacity <= capacity) {
#if __OHOS__
SHERPA_ONNX_LOGE(
"new_capacity (%{public}d) <= original capacity (%{public}d). Skip it.",
new_capacity, capacity);
#else
SHERPA_ONNX_LOGE("new_capacity (%d) <= original capacity (%d). Skip it.",
new_capacity, capacity);
#endif
return;
}
@@ -90,10 +96,18 @@ void CircularBuffer::Push(const float *p, int32_t n) {
int32_t size = Size();
if (n + size > capacity) {
int32_t new_capacity = std::max(capacity * 2, n + size);
#if __OHOS__
SHERPA_ONNX_LOGE(
"Overflow! n: %{public}d, size: %{public}d, n+size: %{public}d, "
"capacity: %{public}d. Increase "
"capacity to: %{public}d. (Original data is copied. No data loss!)",
n, size, n + size, capacity, new_capacity);
#else
SHERPA_ONNX_LOGE(
"Overflow! n: %d, size: %d, n+size: %d, capacity: %d. Increase "
"capacity to: %d",
"capacity to: %d. (Original data is copied. No data loss!)",
n, size, n + size, capacity, new_capacity);
#endif
Resize(new_capacity);
capacity = new_capacity;