音视频频
wenluderen
我为人人人人为我
展开
-
音频-从零开始创建一个wave 文件,并且写入硬盘(版本2)
前面写了一个,今天更新一下主要更新内容如下:1)增加注释,简化程序2)实现音频数据自身频率的变化。实现类似扫频的效果***// CreateWaveWriteDisk.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include <cmath>#include<cstdint>#include<fstream>#include<iomanip>原创 2022-03-18 11:33:10 · 328 阅读 · 0 评论 -
音频-基于Core Audio技术采集音频(版本3)
进一步 简化程序,做到语法简单, 结构简单。减少函数数量。(后续是增加内存映射,就不在此处讨论了)// WindowsAudioSession.cpp// 基本的利用WAS采集音频的demo#include <MMDeviceAPI.h>#include <AudioClient.h>#include <iostream>#include <stdio.h>#include <windows.h> using name..原创 2022-02-21 10:47:54 · 1004 阅读 · 2 评论 -
音频-wave格式,展开讨论
之前简单的以为 format数据块里面的AudioFormat 的值=1 表示PCM但是没有展开说明,今天展开表述一下首先复杂程度,远远超过想象。**********************wFormatTag = WAVE _ format _ pcmwFormatTag = WAVE _ format _ ieee _ floatWAVE_FORMAT_ALAWWAVE_FORMAT_MULAWWAVE_FORMAT_EXTENSIBLE*******..原创 2022-02-19 11:25:01 · 1747 阅读 · 0 评论 -
音频-基于Core Audio技术采集音频(版本2)
上一个版本有个严重的问题,就是 Format-size的值 竟然是40个字节诡异啊奇怪啊不应该是16 或者18吗怎么会是40呢??按理说是16 ,表示一个纯粹的FOTMAT块,如果是18 表述有附加信息块,但是这个40 是个什么鬼按下不表,后续解决这个问题 10进制 16进值 RIFF区块 0 0 R .原创 2022-02-19 09:44:55 · 477 阅读 · 0 评论 -
音频-基于Core Audio技术采集音频(版本1)
(这个是第一次版本优化,优化是简单易懂)**代码// WindowsAudioSession.cpp// 基本的利用WAS采集音频的demo#include <MMDeviceAPI.h>#include <AudioClient.h>#include <iostream>using namespace std;// ns(nanosecond) : 纳秒,时间单位。一秒的十亿分之一// 1秒=1000毫秒; 1毫秒=1000微秒; 1微秒原创 2022-02-17 17:55:46 · 1393 阅读 · 3 评论 -
音频-从零开始创建一个wave 文件,并且写入硬盘(版本1)
我最初的目的就是将来自声卡的数据保存到wave文件,所以这个Demo似乎更有价值。***// wave_read_001.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include <cmath>#include<cstdint>#include<fstream>#include<iomanip>using namespace std;uint3原创 2022-02-17 11:06:39 · 1113 阅读 · 0 评论 -
音频 -读写一个wave文件
折腾这么久,终于可以正常从硬盘读取wave文件了上代码// read_write_wave.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<fstream>#include<iomanip>#include <string.h> using namespace std;struct WAV_Chunk_RIFF{ char ChunkID原创 2022-02-17 10:16:03 · 1243 阅读 · 0 评论 -
音频-WAV数据格式(补充)
之前的帖子:音频-WAV数据格式_wenluderen的专栏-CSDN博客不严谨我实测一个文件:在硬盘大小:46,444,747占用空间:46,448,640***RIFF 区域大小:12个字节FMT区域大小:24个data-ID =4data-size=4震动数据字节数目:46444544整个文件长度=46444588=46444544+44发现一个问题:理论值46444588 和实际值46,444,747 不符合我用imhex.exe 打开了 我的原创 2022-02-16 17:08:19 · 493 阅读 · 0 评论 -
音频-WAV 文件的C++结构体
struct WAV_Chunk_RIFF{ char ChunkID[4]; //理论上内容应该是:'RIFF' (0x52494646) uint32_t ChunkSize; // 36 + Subchunk2Size Size是整个文件的长度减去ID和Size的长度 char Format[4]; //理论上内容应该是:'WAVE'(0x57415645) WAV_Chunk_RIFF()//结构体也可以有构造函数,在里面可以对成员变量 赋值 ..原创 2022-02-16 13:27:13 · 300 阅读 · 0 评论 -
音频-从硬盘读取wav文件
读取原创 2022-02-15 19:53:08 · 573 阅读 · 0 评论 -
音频-WAV数据格式
(转:https://www.jianshu.com/p/947528f3dff8)(转多媒体文件格式(五):PCM / WAV 格式 - 灰色飘零 - 博客园)1.概述Waveform Audio File Format(WAVE,又或者是因为WAV后缀而被大众所知的),它采用RIFF(Resource Interchange File Format)文件格式结构。通常用来保存PCM格式的原始音频数据,所以通常被称为无损音频。但是严格意义上来讲,WAV也可以存储其它压缩格式的音频数据。原创 2022-02-15 11:38:57 · 1686 阅读 · 0 评论 -
音频-DSD-Delta-Sigma
那个啥,DSD是一种编码格式,更专业是表述是:Delta-Sigma。这个东西和PCM编码格式是同一作用,都是将模拟量转成数字量的方法,业内简称AD转换。××××PCM这种AD转换方式 网上很多资料, 但是DSD(Delta-Sigma)这种转换方式,网上资料极少。××不论是PCM还是 DSD都是硬件层面的事情,是电子电路范畴的东西,软件只是配合。××【EEvlog】#27 有关Δ-Σ(Delta-Sigma)型调制器(模数转换器)结构以及其原理的简单讨论_哔哩哔哩_bilibi原创 2022-02-12 11:55:33 · 1152 阅读 · 0 评论 -
音频-什么是PCM编码格式?
PCM中文称脉冲编码调制(PulseCodeModulation),是70年代末发展起来的,记录媒体之一的CD,在80年代初由飞利浦和索尼公司共同推出。脉码调制的音频格式也被DVD-A所采用,它支持立体声和5.1环绕声,1999年由DVD讨论会发布和推出的。脉冲编码调制的比特率,从14-bit发展到16-bit、18-bit、20-bit直到24-bit;采样频率从44.1kHz发展到192kHz。PCM脉码调制这项技术可以改善和提高的方面则越来越来小。只是简单的增加PCM脉码调制...原创 2022-02-11 20:03:18 · 9562 阅读 · 0 评论