3

我正在用 arduino、LM35 和 16*2 LCD 显示器构建一个温度监控单元。现在我将通过 SIM900A GSM/GPRS 模块集成此单元,并通过 SMS 获取温度读数。

现在我的问题是,我可以通过语音呼叫获得这些值吗?如果我打电话给 GSM 调制解调器,它可以告诉温度读数吗?

4

2 回答 2

2

您需要将所有可能的值添加为 .amr 文件,或者您可以打破它们并使用 at 命令播放适当的文件。像 35 一样,您可以播放声音“三十”,然后播放“五”。

按照此处提供的 AMR 播放应用说明

于 2016-05-24T11:14:47.627 回答
2

除了在 PCM 文件中包含所有消息外,还可以使用TTS (文本到语音)有适合 Arduino 端口的小型紧凑型TTS引擎。这是我使用的两个(使用 AVR32):

  1. stan 1901 的微型语音合成器

    只需将其移植到您的arduino(删除waveout的东西,只需将缓冲区用作PCM)。它真正需要的唯一库是math.hfor sin,cos。它可能需要更多的工作才能使其更易于理解,但在调整频率时它并没有那么糟糕......它floats大量使用但我认为移植到整数数学也是可能的......

  2. ATMEGA 的 KECAL 1.0 端口

    它的旧 TTS 引擎最初来自 ZX Spectrum,但它有点不太容易理解,特别是对于低质量的再现器(如蜂鸣器)......但 id 不需要 PWM 或 DAC......

我不知道任何最新的 OpenSource TTS 引擎对于 MCU 平台来说足够紧凑,我所知道的都太大或在 SAPI、.NET 或其他 OS 集成的东西上中继使它们无用。

#1很简单,并且有足够的评论来改进音素。#2 针对速度和尺寸进行了高度优化(它在 ~4MHz Z80 上运行),因此无法提高那里的质量。

顺便说一句,那里还有用于 TTS 的 IC,所以这可能是更好的选择......

[编辑1]

看看这个:

除此之外,我还补充说,质量非常好,CPU 需求低的 TTS 引擎从 Z80 asm 移植到 C++ 中,可以直接被 MCU 使用......

于 2018-10-22T18:21:34.647 回答