python 生成24bit音频数据实例解析

一 概念

24 bit 是指音频文件的 采样深度 (bit depth)。 它代表了每个采样点的数据精度,也就是音频每个样本所使用的比特数。 24 bit 的采样深度相较于 16 bit 提供了更高的动态范围和更精确的音频信息表示。 动态范围:24 bit 的动态范围大约为 144 dB,而 16 bit 的动态范围约为 96 dB。 目前,24bit音频数据成为了很多硬件的标配。

二 源码

直接上源码:

复制代码
import wave, struct, math, random
import serial
import numpy as np
import struct
import operator
import binascii

sampleRate = 96000.0 # hertz
obj = wave.open('sound_96k_b.wav','w')
obj.setnchannels(1) # mono
obj.setsampwidth(3)
obj.setframerate(sampleRate)

fp = open("test.bin",'rb')
def bin_file_process(fp):
    cnt=0
    while True:
            data=fp.read(1)
            if data == b'':
                break

            if data == b'\xff':
                    data_next=fp.read(1)
                    #print("hello world")
                    if data_next == b'\xff':
                        cnt += 1
                        data_lens=fp.read(2)
                        print("read data_cnt is:",cnt)
                        data_audio=fp.read(1920)
                        count=len(data_audio)
                        for idx in range(0,len(data_audio),3):
                            raw_data = data_audio[idx:idx+3]
                            obj.writeframes(struct.pack('B',raw_data[0]))
                            obj.writeframes(struct.pack('B',raw_data[1]))
                            obj.writeframes(struct.pack('B',raw_data[2]))



if __name__ == '__main__':
    bin_file_process(fp)
相关推荐
第九序言T7 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路7 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003967 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_7 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
龙亘川8 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人8 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
quantdash_cc8 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl8 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
Raas1008 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
云和数据.ChenGuang9 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain