小档案经过RIR,归一化后,合成大档案

[Web3] 基础第5篇: 共识算法与 P2P 通信协议 CometBFT 采用Tentmint 共识,一种易于理解、基本异步的 BFT 共识算法。该算法遵循一个简单的状态机,如下所示:上图展示了 Tendermint BFT 共识流程,描述了一个区块从提议(Propose)到最终提交(Commit)的完整过程。Tendermint 共识采用三阶段投票机制(Prevote、Precommit、Commit) 来确保区块最终性。三阶段投票机制(Prevote → Precommit → Commit)需要 2/3 以上的投票支持 才能进入下一阶段。 阅读详情

import random
import os
import glob
import numpy as np
import scipy.io.wavfile as wav
import soundfile as sf
import librosa
from scipy import signal

import scipy.io as scio
dataFile = 'rir.mat'
rir = scio.loadmat(dataFile)

def merge_files(path_read_folder, path_write_wav_file):
    #
    files = os.listdir(path_read_folder)
    merged_signal = []
    cnt = 0
#     for filename in glob.glob(os.path.join(path_read_folder, '*.wav')):
    for filename in glob.glob(os.path.join(path_read_folder, '*.wav')):
        clean,sr = librosa.load(filename,  sr=32000)
        ran = random.randint(0,2999)
        reverb_speech = signal.fftconvolve(clean, rir['h'][ran,:], mode="full")
        clean = clean/ max(abs(clean)) *32000 #* random.randint(4500,32000)
        merged_signal.append(clean)
        
    merged_signal=np.hstack(merged_signal)
    merged_signal = np.asarray(merged_signal, dtype=np.int16)
    wav.write(path_write_wav_file, 32000, merged_signal)


# for i in range (1):
#     path_read_folder    = "/Users/anker/Documents/1_AI/99_RIR/noise"
#     path_write_wav_file = "/Users/anker/Documents/1_AI/99_RIR/noise" + str(i) + ".wav"
#     merge_files(path_read_folder, path_write_wav_file)   

path_read_folder    = "/Volumes/Speech/语料/chinese1/"
path_write_wav_file = "/Volumes/Speech/语料/chinese1.wav"
merge_files(path_read_folder, path_write_wav_file)   


 

已知文件名取文件所在目录                                                                           何志丹已知文件名,如何取文件所在目录?最简单的方法是从后向前找"//".但有时,文件名中没有"//",这时要先转化一下.具体代码如下:CString GetPathName(const CString strPathFileName){ //取 阅读详情

相关推荐

应用程序向导

应用程序向导  何志丹            使用应用程序向导可以快速生成程序框架。选择菜单“File→New”命令,此时会弹出“New”对话框,下面对该对话框中的常用选项进行逐一说明。1.文件(Files)属性页 单击“Files”标签,打开“Files”属性页,如图1-3所示。图1-3  文件属性页文件类型虽然多,但常用的只有两种:C/C++ Header Fi

闻缺陷则喜何志丹 3699

音频去除前后静音以及音量归一化

音频去除前后静音以及音量归一化

2713

STM32Cubemx+CanFestival:从零到一的CANopen移植实战

本文详细介绍了如何使用STM32CubeMX和CanFestival实现CANopen协议栈的移植,从开发环境搭建到核心配置步骤,再到调试与问题排查。通过实战经验分享,帮助开发者快速掌握STM32与CANopen的结合应用,提升嵌入式系统开发效率。

weixin_42558093的博客 420

两台内网机器直接对话:EasyNTS上云网关平台P2P互联规则怎么配

再决定是否选择“允许服务中继”兜底。

AI与流媒体视频技术 183

【AI落地】AI生成测试用例,claude or gpt?(提效至少 50%)

gpt生成测试用例?当然好使啦,用好了提效50%+,用不好就让他变好!

青禾tester 1969

离散数学期末考试试卷(两套)-熟悉题型

3.设集合A={a,b,c,d}上有自反关系R={,,,,},对称关系S={,,,}。6.设集合A={1,2,3},B={u,v,w},C={a,b,c},f是集合A到集合B上的映射,g是集合B到集合C上的映射,f={, , },g={},则复合函数g。5. 设集合A={a,b,c,d,e},下列选项中哪一个集合不是A的划分( )。

muse3159546973的博客 6957

从异地组网到内网穿透:一套 P2P 直连架构如何演进成远程访问工具

同样是从外网访问家里的 NAS,有的方案装完就能用,有的折腾半天端口映射、公网 IP,最后还是连不上。其实不是,差在底层架构。

jiedianxiaobao的博客 312

Part03 数据结构

本文介绍了CSP-S初赛中常见的高级数据结构及其实现,包括: 线性结构:双端栈、双端队列、单调队列、优先队列和ST表,重点分析了它们的特点、时间复杂度及典型应用场景。 集合与森林:并查集(带路径压缩和按秩合并)和树的孩子兄弟表示法,展示了多叉树转化为二叉树存储的方法。 特殊树结构:包括二叉堆、树状数组、线段树和字典树,详细说明了它们的构建、查询和更新操作,特别强调了线段树的递归实现和字典树的前缀匹配特性。 每种数据结构都配有核心C++代码实现,涉及数组模拟、动态规划和树形结构等编程技巧,适合算法竞赛选手快速

weixin_43863957的博客 1181

快捷键与热键有何异同?

本文对比了热键与快捷键在“粘贴”操作中的异同:用户层面,热键需按Alt+字母组合,快捷键则直接Ctrl+V;开发者层面,修改热键仅需调整菜单标题,而修改快捷键需编辑资源文件中的加速器设置。文章强调专业分工的重要性,并推荐相关排样优化与工具箱技术博文。

闻缺陷则喜何志丹 1746

京东联盟API实战:5分钟搞定商品返利链接生成(附Python代码)

本文详细介绍了如何利用京东联盟API快速构建自动化商品返利链接生成系统。通过Python代码实战,从API申请、环境配置到核心功能封装,手把手教你实现批量商品信息查询与推广链接生成,帮助内容创作者和开发者大幅提升电商推广效率。

weixin_29216957的博客 674

2021.11.23 Covins 多机器人单目协同建图 跑Euroc数据集 更新

近日,一直在调试如何使用Covins跑通数据集,因为是初学者,所以很多bug出来的时候原理都不懂,只能复制——百度——尝试解决的过程。 现分享一下近日的结果以及与Covins作者帮助解答的一些问题。 使用代码行跑依次跑Euroc多数据集 这里的意思是使用作者提供的covins_examples文件夹中的euroc_examples_mh123_vigba.sh文件,这个文件是将三个Euroc数据集依次运行,跑完第一个数据集,第二个数据集运行的时候在第一个数据集生成地图的基础上继续绘制,由于我只下载了两个数据

qq_42614598的博客 2475

同接 2.4GHz Wi-Fi,Cast+ 投屏却卡在 P2P 建组:一次选频问题的定位与修复

两台设备连接同一个 2.4GHz Wi-Fi,Cast+ 投屏失败。日志里本端 STA 明明工作在 2412MHz,Wi-Fi 服务却推荐了 5GHz 的 149 信道,软总线最终按 5745MHz 请求建组,紧接着 P2P_GROUP_ADD command failed。 这篇文章完整还原从失败日志到源码链路、再到"方案A"补丁的过程,并说明这套修复的适用边界——它解决的是"选频选错了",不是"芯片不支持双频并发"。

Excalibur6的博客 378

内存优化--LOGBACK导致内存告警

一.故事背景 由于开辟新市场需要,开发了新的项部署在海外平台,其中最消耗内存的功能是消费kafka消息(最开始预计一天有1千万的量),部署完之后运行一段时间发现出现内存告警问题。 二.分析问题 出现内存告警,(新项目是低配置机器 2C4G * 2台)第一个念头是去查看堆空间设置的情况,看到jvm启动命令中堆空间都是直接指定大小,说明问题不是出在堆空间 -Xmx3g -Xms3g 先不管这些,去查看总的内存使用情况,发现总的内存空间使用将近有92% = 3.68G,那么这多出来使用的0.6

qq_33199919的博客 6052

为什么要把父类的析构函数定义成虚函数?

问:为什么要把父类的析构函数定义成虚函数?答:否则子类的析构函数可以未被调用,具体代码如下:class A {public: A(){TRACE("A()/n");}; ~A(){TRACE("~A()/n");}; };class B : public A {public: B(){TRACE("B()/n");}; ~B(){TRACE("~B()/n");};};void CEgDl

闻缺陷则喜何志丹 1522

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

p2pdma呢 和dmabuf区别

。

zly8865372的博客 288

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

按Ctrl键会引发几次按键消息

                                                                           何志丹(一),新建一个单文档工程CtrlEg。(二),为CCtrlEgView的WM_KEYDOWN消息和WM_KEYUP消息添加响应函数。具体代码如下:void CCtrlEgView::OnKeyDown(UINT nChar, UINT nRe

闻缺陷则喜何志丹 1797

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

两台内网机器直接对话:上云网关/端口穿透/设备上云EasyNTS上云网关平台P2P互联规则怎么配

再决定是否选择“允许服务中继”兜底。

EasyCVR视频融合云平台的技术博客 194

【计算机网络篇|第二篇】深度解析TCP三次握手

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它在通信双方之间建立一条逻辑连接,保证数据按序到达、不丢失、不重复,并提供流量控制和拥塞控制能力。HTTP、FTP、SSH 等大量应用层协议都构建在 TCP 之上。由于 TCP 是面向连接的协议,通信双方在传输数据之前必须先建立连接,而建立连接的过程就是著名的「三次握手」。

wuzhihua66的博客 512

计算机网络篇19:传输层——套接字在内核的对象链,从 fd 到 tcp_sock 的四层嵌套

fd 是下标,是房间;钩住 socket,网络挂进文件体系,read/write 走统一入口。

2502_94387000的博客 538

【计算机网络篇|第七篇】TCP为什么需要四次挥手

TCP 需要四次挥手,本质上是全双工协议下两个方向必须独立关闭的必然结果:一方发 FIN 表示自己不再发送,另一方先 ACK 确认,等自己的数据发完后再发 FIN,最后再被 ACK 确认。理解这一点,也就能理解半关闭状态、CLOSE_WAIT 堆积和 TIME_WAIT 存在的意义。

wuzhihua66的博客 490

【计算机网络】断点续传是怎么做到的:从 Range 请求到分片上传的完整机制

断点续传在下载侧靠的是 HTTP 现成的 Range 协议,Content-Range 保证偏移对得上,If-Range 防止文件变更导致的错误拼接;上传侧没有标准,需要自己设计 init/part/complete 三段式交互,核心是让服务端记住“哪些块已经收下”,从而把失败粒度从整个文件降到单个分片。 这套机制可以迁移到任何长耗时操作的设计上。判断方法很简单:先问失败粒度是多少。如果一次操作失败就得从头再来,那它迟早会在生产环境里出问题——传输、批量导入、数据迁移、长事务,都是同一个道理。把大操作切成

2503_94545876的博客 540

第15篇:UDP 深度解析--为什么 HTTP3 要抛弃 TCP?(附 Wireshark 实战抓包)

本文系统解析UDP与QUIC的核心原理与应用场景。UDP以极简无连接、不可靠传输为特点,适用于DNS、直播等对延迟敏感的场景;而QUIC在UDP基础上自建可靠传输,实现0-RTT握手、多路复用、连接迁移与强制加密,彻底解决TCP队头阻塞与协议僵化问题,成为HTTP/3基石。通过实验与抓包验证,深入揭示其底层机制,展现从传统网络向智能算网演进的关键路径。

cyf31的专栏 376

从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制

本文围绕TCP连接建立、关闭与状态管理展开,解释三次握手如何确认双方收发能力,以及SYN与ACK如何建立连接。接着分析四次挥手、半关闭状态及ACK与FIN合并发送的条件,结合CLOSE_WAIT说明未及时关闭连接带来的资源占用,并介绍shutdown接口的作用。针对服务器重启后的端口绑定问题,讲解TIME_WAIT、2MSL等待与SO_REUSEADDR的适用边界,分析历史报文干扰与随机初始序列号的作用。最后梳理客户端和服务端的TCP状态转换,理解连接管理底层机制与常见故障。

沫漓的博客 227

使用官方的 Echo例程lwip--tcp--udp--跑通测试--deepseek

跑通官方的 Echo Server 例子,已跑通,可是我一点不知道内部发生了啥;恭喜你!从你的截图来看,。Ping 通了,串口打印出了 IP 地址,网络调试助手也成功收到了回显(),这说明你的 Zynq 硬件、网络物理链路、lwIP 协议栈底层机制。你觉得“不知道内部发生了啥”,这太正常了。官方的 Echo 例子把很多底层的初始化封装成了几个函数,小白一开始确实容易“知其然而不知其所以然”。下面我先用大白话帮你把“内部发生了啥”理清楚,然后手把手带你写一个。

AlibabaApple的博客 238

Linux网络编程:UDP网络协议

UDP(User Datagram Protocol,用户数据报协议)是传输层的一种无连接协议,定义在 RFC 768 中,全文只有三页,是 TCP/IP 协议族中最简单的协议之一。它的核心设计哲学是:只做最少的事,UDP 只负责把应用层交下来的数据封装成数据报,加上端口号后交给网络层发送,不保证送达、不保证顺序、不保证不重复,也不做流量控制和拥塞控制。所以需要注意udp是用户数据报协议数据报1.数据与数据之间有边界2.发送和接收的次数要对应3.没有写阻塞。发送太快,会导致数据丢失。

qianrushixinshou的博客 386
上一篇: model.fit_generator
下一篇: 大音频档案拆小
funkidd
博客等级 码龄11年 25粉丝 95原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值