会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
FBshark
博客园
首页
新随笔
联系
订阅
管理
2025年10月31日
【CI130x 离在线】音频的原始码率和输出码率的区别
摘要: 案例:mp3是16k采样率,16bit深度的,那么码率不应该是32kBps吗,为什么可以选16kbps 这是一个非常好的问题,它触及了数字音频编码的核心概念:原始数据量和压缩编码之间的区别。 你的计算完全正确,但只适用于未经压缩的原始音频。 1. 你的计算:未经压缩的音频(如WAV文件) 对于一个未
阅读全文
posted @ 2025-10-31 03:16 FBshark
阅读(4)
评论(0)
推荐(0)
2025年10月29日
【ESP32 在线语音】 待写 TTS
摘要: 链接:https://blog.csdn.net/vor234/article/details/138387195?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522dac311b95071f02fedec5ea5a048fdf6%252
阅读全文
posted @ 2025-10-29 03:08 FBshark
阅读(6)
评论(0)
推荐(0)
【ESP32 在线语音】音频接收的缓存机制和网络发送分包机制
摘要: 首先是初始化 I2S 设备中,可能用到了缓存 //初始化 I2S 设备 INMP441 Serial.println("Setup I2S ..."); i2s_install(); i2s_setpin(); esp_err_t err = i2s_start(I2S_PORT_0); 其中的 i
阅读全文
posted @ 2025-10-29 01:19 FBshark
阅读(5)
评论(0)
推荐(0)
2025年10月28日
【CI130x 离在线】语音芯片如何判断TTS音频播放完毕?
摘要: 这个函数通过以下几个条件来综合判定TTS播放结束: 主要判定逻辑: 1. 缓冲区数据检查 c #if NET_AUDIO_PLAY_BY_MP3 if (xStreamBufferBytesAvailable(mp3_player) == 0) // 播放完成 #elif NET_AUDIO_PLA
阅读全文
posted @ 2025-10-28 12:10 FBshark
阅读(3)
评论(0)
推荐(0)
【CI130x 离在线】FreeRTOS 的消息队列
摘要: Queue 在 FreeRTOS 中的专指 是的,在 FreeRTOS 的语境下,Queue 这个词绝大多数时候是特指“消息队列”(Message Queue)。当API函数、数据类型或文档中提到 "Queue" 时,它们指的就是这个用于任务间通信的核心机制。 但这引出了一个更深层次的问题:为什么它
阅读全文
posted @ 2025-10-28 12:04 FBshark
阅读(7)
评论(0)
推荐(0)
【ESP32 在线语音】ESP32的I2S音频数据开发
摘要: 实验:https://www.bilibili.com/opus/1126928057651691553 INMP441 数据手册:https://www.digikey.cn/htmldatasheets/production/1431884/0/0/1/inmp441-datasheet.htm
阅读全文
posted @ 2025-10-28 02:13 FBshark
阅读(17)
评论(0)
推荐(0)
【ESP32 在线语音】C++中constexpr 修饰词的科普
摘要: 在C++中,const类型的变量默认具有内部链接性,因此可以安全地定义在.h文件中被多个.cpp文件包含。 基本用法 cpp 复制 下载 // constants.h const int MAX_SIZE = 100; const double PI = 3.14159; const std::st
阅读全文
posted @ 2025-10-28 01:49 FBshark
阅读(12)
评论(0)
推荐(0)
【ESP32 在线语音】Base64编码的科普
摘要: 一、Base64的编码规则 Base64编码的核心目标是将二进制数据转换成由64个可打印ASCII字符组成的文本。 这64个字符是: 26个大写字母: A-Z 26个小写字母: a-z 10个数字: 0-9 2个符号: + 和 / 填充符: = (用于末尾填充,不属于64个字符之内) 编码步骤如下:
阅读全文
posted @ 2025-10-28 01:34 FBshark
阅读(10)
评论(0)
推荐(0)
2025年10月27日
【ESP32 在线语音】讯飞星火语音识别功能(听写流式API)文档阅读
摘要: 接口要求 集成语音听写流式API时,需按照以下要求。 内容 说明 请求协议 ws[s](为提高安全性,强烈推荐wss) 请求地址 中英文(推荐使用):ws[s]: //iat-api.xfyun.cn/v2/iat中英文:ws[s]: //ws-api.xfyun.cn/v2/iat (上面这两有啥
阅读全文
posted @ 2025-10-27 23:57 FBshark
阅读(14)
评论(0)
推荐(0)
【ESP32 在线语音】讯飞星火在线语音识别(ASR)功能
摘要: 【ESP32S3接入讯飞在线语音识别】 1. 前言 1.1 步骤概括 1.2 硬件介绍 1.3 接线 2. 操作流程 2.1 创建语音识别应用 2.2 记录API秘钥 3. JSON语音接入api 3.1 JSON格式 3.2 交互流程 3.2 ESP32S3 Sense接入代码 1. 核心功能 2
阅读全文
posted @ 2025-10-27 23:12 FBshark
阅读(31)
评论(0)
推荐(0)
【ESP32 在线语音】如何运行 curl 脚本以及星火模型的调用测试
摘要: 在各种大模型的API文档中,经常会用到 curl 工具,那么——如何运行 curl 脚本呢? 在Linux平台 对于复杂的代码,建议创建脚本文件: # 创建脚本文件 nano myscript.sh 然后执行以下指令 # 在文件中粘贴代码,然后保存退出 chmod +x myscript.sh #
阅读全文
posted @ 2025-10-27 20:06 FBshark
阅读(11)
评论(0)
推荐(0)
cias_voice_plyer_handle.c 解析
摘要: #if VOICE_PLAY_BY_UART /**************** * 播报器参数初始化 * * * * **/ void audio_player_param_init() { outside_init_stream(&mp3_player, &mp3_player_end, IOT
阅读全文
posted @ 2025-10-27 00:09 FBshark
阅读(5)
评论(0)
推荐(0)
【CI130x 离在线】FreeRTOS的流缓冲(StreamBuffer)
摘要: FreeRTOS StreamBuffer 详解 概述 StreamBuffer(流缓冲区)是 FreeRTOS 提供的一种轻量级数据流传输机制,用于在任务间或中断与任务间高效传输字节流数据。 基本特性 1. 数据结构 字节流存储: 以 FIFO 方式存储字节数据 单读写者: 设计为单生产者单消费者
阅读全文
posted @ 2025-10-27 00:04 FBshark
阅读(8)
评论(0)
推荐(0)
2025年10月26日
【CI130x-离在线】FreeRTOS的信号量
摘要: CI130x ALG SDK库中的audio_play_os_state_t audio_play_semaphore_give(audio_play_os_sem_t xSemaphore)函数是对 FreeRTOS 内置函数 xSemaphoreGive()的简单封装 /** * @brief
阅读全文
posted @ 2025-10-26 21:57 FBshark
阅读(7)
评论(0)
推荐(0)
【CI130x 离在线】音频传输的数据结构——FreeRTOS的消息队列
摘要: 一句话概括 xQueueCreate 是 FreeRTOS 实时操作系统中用于动态创建消息队列的函数。它负责分配内存并返回一个可以用于发送和接收数据的队列句柄。 详细解释 1. 什么是消息队列? 在深入函数本身之前,理解“队列”的概念至关重要。你可以把它想象成一个管道或传送带: 生产者:任务或中断服
阅读全文
posted @ 2025-10-26 21:34 FBshark
阅读(11)
评论(0)
推荐(0)
下一页
公告