问题标签 [i2s]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 用于 NodeJs 中实时 PCM 音频数据的音频可视化器
我有 16 位 PCM 数据流传入我的节点服务器。任何人都可以建议任何 API 来实时可视化这个传入的流。
memory - 启用 PSRAM 的 ESP-ADF I2S 记录断断续续
首先; 我将 ESP-IDF 4.2 与 ESP-ADF 一起使用,并且有两个 CMM4030D 麦克风连接到定制板上的 ESP32-WROVER-E。这些麦克风应将 wav 文件录制到 SPI 连接的 SD 卡中。
这完美无瑕!但不是在启用 PSRAM 时,应该在启动时初始化(它会这样做)并且可以使用 heap_caps_alloc() 进行分配。PSRAM 和 SPI Flash 的频率设置为 80MHz,引脚 16 和 17 没有任何连接。
SDK 配置很可能不是问题,因为我以 wifi-ble 共存示例的配置为基础。
所以,总结一下;当 PSRAM 被启用(启动时启动并且可以使用 heap_caps_alloc 分配)时,记录是不稳定的,但是当它被禁用时(但仍然运行相同的代码)它工作正常......到底是什么原因导致这个问题?
亲切的问候,
困惑的约赫姆
arduino - 将 I2S 库与 Adafruit Feather Huzzah ESP8266 一起使用的问题
我有一个非常令人沮丧的问题,因为它看起来简单而琐碎。我尝试使用带有 Arduino IDE 1.8.15 的 adafruit 分线板“Adafruit I2S MEMS Microphone Breakout”和“Adafruit Feather Huzzah ESP8266”。我安装了 esp8266 板,我可以上传简单的草图。但我想使用上面提到的麦克风来查看 Arduino IDE 串行监视器上的输出(比如这里https://www.youtube.com/watch?v=m8LwPNXqK9o)。
1.) 但是如果我尝试在“没有这样的文件或目录”中包含“#include <driver/I2S.h>”,则草图已经崩溃。我无法在线找到驱动程序文件夹应该在哪里的答案,如果库应该在那里以及如何修复它。2.) 如果我只是做一个像“#include <I2S.h>”这样的包含,IDE 找不到它应该知道的变量类型。
1.) 草图:
错误:
2.)
草图:
错误:
esp32 - nanoFramework 中的 ESP32 I2S
我正在尝试复制我发现的一个 C++ 项目,用于使用 I2S 对 ESP32 上的声音数据进行采样,但使用 C# 和 nanoFramework。
在 ADCSampler.cpp 文件中,加载了以下标头
nanoframework 具有命名空间Windows.Devices.Adc,我理解它或多或少与driver/adc.h
.
但是我找不到任何与 I2S 相同的东西,有一个I2C库
我正在努力的具体代码是:
我发现您可以在 nanoFramework 中配置 ADC,如下所示:
并获得 ADC 通道
但这大约是我能想到的。
我对微控制器和 ESP32 平台还很陌生,所以仍然学到很多东西。
我错过了什么还是仍在进行中?
是否有其他选项可以代替 I2S?
c - STM32:使用 DMA 时 I2S 输入不起作用
我正在尝试在单声道设置中将“STM32F401RET6 Nucleo-64”微控制器与Adafruit I2S 麦克风连接起来。为了完成这项任务,我想启用 DMA。
我使用 STM32 Cube IDE 中的设备配置工具使用以下参数激活 I2S3:
I2S3
- 全双工主控
- 传输模式:模式主接收;
- 通信标准:MSB First(左对齐);
- 数据和帧格式:32 位帧上的 24 位数据;
- 所选音频频率:48 kHz;
- 时钟源:I2S PLL 时钟;
- 时钟极性:低;
- 主时钟输出禁用。
DMA
- SPI_RX3,DMA 1 Stream 2,外设到内存,高优先级;
- FIFO,阈值 = 满,数据宽度 = 半字,突发大小 = 单;
- 在 NVIC 设置中,DMA 1 Stream 2 和 SPI3 都启用了中断。
接下来,使用代码生成器工具自动生成起始代码。对此起始代码进行了一些更改:
- 设置 GPIO_PULL_DOWN 使三态始终读入 0;
我已经使用示波器绘制了来自麦克风的数字数据波形。这似乎是正确的,即声音触发了麦克风,这在最高有效位中是可见的。如果我是正确的,这使得错误在于将数据读入正确的格式。要执行单声道测量,数据表规定应该使用 100k Ohm 电阻器,我的设置中有该电阻器。
在我的 main.c 程序中,我使用 HAL 函数“ HAL_I2S_Receive_DMA ”来尝试填充我的 500 个样本数组。
主.c:
当我调试代码并在“main.c”的第 34 行设置断点时,微控制器内存不会相应地更新其值。所有值都保持为零。两个 DMA 状态标志都设置为 1。我猜这个问题与时间有关,但直到现在我才能解决这个问题。
链接到 GitHub 上的 HAL_I2S_Receive_DMA 函数
提前致谢。
stm32 - 如何将 stm32f4 板与麦克风阵列模块链接?
全部
我计划使用 stm32f411Re 板来采样声音。
现在,我有一个有 7 个引脚的麦克风阵列模块:V3.3、GND、CLK、Data1、Data2、Data3 和 Data4。我通过 CubeMX 生成项目代码。
我已经分别通过 I2S、PDM2PCM 测试了每个数据通道。一切正常。但是我不知道如何同时接收 4 个路径数据。
我可以使用 CubeMX 轻松配置此需求吗?
谢谢,
索拉
device-driver - I2S 输入配置 Beaglebone ALSA
我正在尝试从Beaglebone AI 中的圆形麦克风板 ( TIDA-01454 ) 捕获声音。我已经通过 I2C 成功配置了 CMB 的 ADC,并检查了 I2S 输出与外部 DAC 是否正常工作。
然而,我的下一步是将这个 I2S 捕获到我的 Beaglebone AI 中,以便以后进行处理。我想我已经按照本指南和本文档正确配置了引脚。所以我的显示引脚是这样的:
我的 DTS 文件是这样的:
但是我认为它不会将其检测为捕获设备。由于 grep 和 arecord 命令返回以下内容:
我认为 ALSA 配置可能存在问题,但我是新手,我不知道该怎么做。
我的 ALSA 版本是:Advanced Linux Sound Architecture Driver Version k4.14.108-ti-r143.
我的声卡是:
所以没有检测到卡?是ALSA还是驱动问题?我该怎么做?
javascript - 使用 ESP32-audioI2S 库在 ESP32 上播放使用 MediaRecorder 录制的 MP3/WAV 文件时出现标头丢失错误
我正在尝试在网页上使用MediaRecorder Javascript 库录制 .mp3 和 .wav,并使用ESP32-audioI2S库在 ESP32 上播放。我可以使用 Audacity 播放器/Windows 播放器在 PC 上播放录制的 MP3 和 WAV 文件。但是 ESP32 没有使用库播放相同的 MP3/WAV。我得到WAV 文件缺少 RIFF 标头和 MP3 文件缺少标头。我附上了用于使用 MediaRecorder 进行录制的代码、用于播放录制和下载的音频文件的代码以及我收到的错误消息。用于录制音频的代码有什么问题吗?还是我在图书馆里缺少什么?在此先感谢您的帮助。
使用的板子:ESP32 开发模块
UDA1334A(Adafruit I2S 立体声解码器分线板)用于播放音频。
代码:
- 用于播放音频(相当简单)
- 用于录制 - 公开的 js、html 和 css 文件(可能只有 js 文件就可以了)
错误信息:
wav 文件:
mp3 文件: