本系统可实现多个ESP32进行语音对讲,语音传输,采用udp,espnow协议设计,代码部分采用Arduino IDE开发。

展示视频

基于esp32语音门铃系统设计语音对讲机无线音频采集传输物联网定制设计语音呼叫_哔哩哔哩_bilibili

传输部分代码:

void EspNowTransport::send()

{
  esp_err_t result = esp_now_send(broadcastAddress, m_buffer, m_index + m_header_size);

if (result != ESP_OK)

{
    Serial.printf("Failed to send: %s\n", esp_err_to_name(result));

}

}

采集部分代码

#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3

ADCSampler::ADCSampler(adc_unit_t adcUnit, adc1_channel_t adcChannel, const i2s_config_t &i2s_config) : I2SSampler(I2S_NUM_0, i2s_config)

{
    m_adcUnit = adcUnit;

m_adcChannel = adcChannel;

}

void ADCSampler::configureI2S()

{
    //init ADC pad

i2s_set_adc_mode(m_adcUnit, m_adcChannel);

// enable the adc

i2s_adc_enable(m_i2sPort);

}

int ADCSampler::read(int16_t *samples, int count)

{
    // read from i2s

size_t bytes_read = 0;

i2s_read(m_i2sPort, samples, sizeof(int16_t) * count, &bytes_read, portMAX_DELAY);

int samples_read = bytes_read / sizeof(int16_t);

for (int i = 0; i < samples_read; i++)

{
        samples[i] = (2048 - (uint16_t(samples[i]) & 0xfff)) * 15;

}

return samples_read;

}

void I2SMEMSSampler::configureI2S()

{
    if (m_fixSPH0645)

{
        // FIXES for SPH0645

#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3

REG_SET_BIT(I2S_TIMING_REG(m_i2sPort), BIT(9));

REG_SET_BIT(I2S_CONF_REG(m_i2sPort), I2S_RX_MSB_SHIFT);

#endif

}

i2s_set_pin(m_i2sPort, &m_i2sPins);

}

int I2SMEMSSampler::read(int16_t *samples, int count)

{
    // read from i2s

size_t bytes_read = 0;

if (count>m_raw_samples_size)

{
        count = m_raw_samples_size; // Buffer is too small

}

i2s_read(m_i2sPort, m_raw_samples, sizeof(int32_t) * count, &bytes_read, portMAX_DELAY);

int samples_read = bytes_read / sizeof(int32_t);

for (int i = 0; i < samples_read; i++)

{
        int32_t temp = m_raw_samples[i] >> 11;

samples[i] = (temp > INT16_MAX) ? INT16_MAX : (temp < -INT16_MAX) ? -INT16_MAX : (int16_t)temp;

}

return samples_read;

}

基于esp32/8266语音门铃对讲机系统设计语音传输实时udp,espnow传输图像相关推荐

  1. 基于ESP32的智能台灯-PWM网页调光-实时时间-OLED显示-语音闹钟-WEB远程操控

    具体的项目,我免费分享在我的项目里,供大家参考学习: chenyuhan1997/ESP32-SMART-WIFI-PWM-LED-ALARM-CLOCK: Desk lamp with PWM ad ...

  2. 基于esp32/8266利用c语言、micropython、lua、编写的寝室网络门禁系统

    前言 本章所有代码均已上传至github https://github.com/Adancurusul/Bedroom_iot/tree/master/door/mqtt 感觉学习网络模块已经有一段时 ...

  3. 基于 ESP32 的高级气象站,带有 BME280 和实时天气数据

    在这个项目中,我们将学习如何创建一个气象站,它将在网络服务器中显示来自 BME280 模块的读数和来自 OpenWeatherMap API 的实时天气数据.该设备将从 BME280 传感器获取温度. ...

  4. 基于SVM的语音情感识别系统设计

    基于SVM的语音情感识别系统设计 目录 基于SVM的语音情感识别系统设计 1  引言 2  情感语音信号的采集 3. 特征参数 §3.1 基音频率参数 §3.3 能量参数 4  语音情感的识别 §4. ...

  5. 语音数字信号处理系统设计(含matlab程序)

    目录 1 概述 1.1.设计目的 1.2.设计要求 1.3.功能描述 1.3.1数字语音信号采集 1.3.2时域分析与频谱分析 1.3.3叠加噪声 1.3.4小波去噪 1.3.5数字滤波器处理 1.3 ...

  6. asterisk通话无声音_对讲机的语音通话间距到底有多远?对讲机的常见问题?

    对讲机的语音通话间距到底有多远?对讲机的常见问题? 相当长一段时间,甚至于是以后的相当长的时间段内,会有许多用户在选购对讲系统时明确提出一个疑惑:我的这个对讲机语音通话间距有多远?这个问题么,今天小编 ...

  7. 百度ai文字转语音并下载php源码,一种基于百度AI的网页版在线语音包转文字的方法与流程...

    本发明涉及语音识别技术领域,特别涉及一种基于百度AI的网页版在线语音包转文字的方法. 背景技术: 语音识别技术,也被称为自动语音识别Automatic Speech Recognit1n, (ASR) ...

  8. 基于双门限法的语音端点检测及语音分割

    voice_activity_detection Audio Split 基于双门限法的语音端点检测及语音分割 代码在我的github上voice_activity_detection 如果您觉得有一 ...

  9. 基于汉宁窗FIR滤波器实现语音信号的去噪处理

    基于汉宁窗FIR滤波器实现语音信号的去噪处理 在语音通信中,由于种种原因,常常存在着各种噪声,这些噪声会极大地影响语音信号的质量和清晰度.为了解决这个问题,我们可以采用基于汉宁窗FIR滤波器的方法来对 ...

最新文章

  1. 时间序列(二)数据重采样
  2. 005_JDK的Date类对Comparable接口的实现
  3. ext store 数据修改_Go 数据存储篇(一):基于内存存储实现数据增删改查功能...
  4. SnapKit 源码解读(五):Models
  5. 疯狂涨知识!Java多态实现原理技术总监都拍手叫好
  6. MATLAB仿真TSC在哪里找,-bash:tsc:找不到命令
  7. creator2.0.2 native游戏截屏微信分享
  8. 记一次Springboot启动异常
  9. 从零开始学习编程_如何开始学习编程
  10. Null对象模式的用法
  11. axi dma 寄存器配置_STM32 ADC多通道转换的DMA传输示例
  12. [转]Hexo博客插入自定义不渲染页面
  13. Firefox扩展插件开发extension代码调试方法
  14. 【基本办公软件】万彩办公大师教程丨二维条码制作工具
  15. 推荐系统笔记(二):常用数据集Movielens学习
  16. 小象学院 零基础Python入门 案例四 52周存钱挑战v_4.0
  17. 苹果服务器 显示器,苹果M1芯片的Mac可以外接什么显示器 显示器最高支持多少分辨率...
  18. 利用Python画直方图
  19. 基于深度学习的语义分割
  20. elasticsearch篇之mapping

热门文章

  1. ASO优化之应用商店关键词的实现
  2. VS2015: warning MSB8012: TargetPath问题的解决
  3. 华为发布“5G最佳网络”解决方案,已获91个5G商用合同
  4. 数加|引领服装企业|解决行业问题
  5. 亚马逊加入微软和谷歌的竞赛,推出生成式AI全家桶!
  6. 论文阅读:Data Platform for Machine Learning
  7. 2022年全球市场宠物美容总体规模、主要生产商、主要地区、产品和应用细分研究报告
  8. 二、Neo4j源码研究系列 - 单步调试
  9. ise怎么更改编辑器_ISE更改内置的编辑器
  10. 天天叨叨云原生,你知道云原生是啥么?