matlab输出pcm格式文件
用cooledit打开的话,要用matlab输出为PCM格式。
在matlab中输出pcm格式要怎么做呢?
用法: fwrite(fileid,参数,格式);
为了用cooledit正确地打开,我们应该要用二进制输出。
要如何输出和你的源文件有关,请仔细阅读下文。很短的。
我的这个文件的格式是:
是一个wav文件,
用audioread读取。
filename='10.wav';%这个声音文件在该程序根目录
[signal,fs] = audioread(filename);%读取wav文件,读完是去除了文件头的采样点,而且归一化了,是浮点数。
info=audioinfo(filename)%看这个文件的信息。
whos signal%显示name size bytes class 等等
如果希望看原来的数值,就用
[signal,fs] = audioread(filename,‘native’);
这里的native就是表示按照原格式读取。
读完之后如何写呢。
%% 保存raw文件
temp=x_speech.*65536/2;%这里是把归一化信号还原,如果是native读取,就不用了/
fid=fopen('D:\lab1\10.pcm','wb');%存为raw,也就是pcm格式
fwrite(fid,temp,'int16');%我这里是按照int16读取的,所以是int16.
%想看自己读完是什么格式,可以在调试的时候点开signal数组看。
audiowrite('D:\lab1\10new.wav', x_speech,fs);%这是存成wav格式的
fclose(fid);
最后可以看到这样的一个文件:
用cooledit打开的话,是正常的。
如果语音是杂音,或者乱七八糟的声音,
那么肯定是没有按照二进制输出,请检查
您的matlab代码中
fid=fopen(‘D:\lab1\10.pcm’,‘wb’);%存为raw,也就是pcm格式
fwrite(fid,temp,‘int16’);%我这里是按照int16读取的,所以是int16.
加重部分是否出现了错误。
喜欢的话,或者解决了您的问题的话请帮忙点个赞或者留言,
您的支持是我写文的动力,谢谢!!!?
matlab输出pcm格式文件相关推荐
- 1.Matlab 画图输出 EPS 格式文件中文出现乱码
今天遇到一个问题,当我用Matlab输出eps格式的图片时,中文会出现乱码. 好啦,鼓捣一个晚上总算是搞定了...以下是解决方案,接好不谢! 解决方法: 网上说先输出PDF文件,在转成EPS文件. 往 ...
- Matlab之netCDF格式文件读取方法
Matlab之netCDF格式文件读取方法 目录 一.netCDF格式文件 1.简介 2.NetCDF的数据结构 二.Matlab读取netCDF使用到的函数 1.ncdisp() 2.ncinfo( ...
- AAC文件解码成PCM格式文件
上一篇写到PCM格式文件编码成AAC格式文件,这一步的原因是有利于传输.可以将PCM文件做了很大的压缩力度,使得包变得更小,便于传输.我使用播放器播放了AAC文件听到的是音速明显变快了,声音也变得尖锐 ...
- 使用FFmpeg转换mp3或wav文件为pcm格式文件
使用FFmpeg转换mp3或wav文件为pcm格式文件 由于项目开发中需要验证pcm格式音频的播放,可以使用FFmpeg进行转换 安装时这里推荐一个便捷方式,sudo apt install smpl ...
- 模拟输入H.264流,输出封装格式文件(API版)
每次从H.264文件读入一定数据量的数据,模拟输入H.264流,最终输出封装格式文件. //H264ToContainer_Win32.h extern "C" {//@param ...
- 利用FFmpeg将H.264文件读入内存,再输出封装格式文件
/***先将H.264文件读入内存,*再输出封装格式文件.*/ #include "stdafx.h"#define __STDC_CONSTANT_MACROSextern &q ...
- 模拟输入H.264流,输出封装格式文件
/***每次从H.264文件读取IO_BUFFER_SIZE字节的数据,*模拟输入H.264流,最终输出封装格式文件.*/ #include "stdafx.h"#define _ ...
- 利用matlab将.mat格式文件转换成wav文件
利用matlab将.mat格式文件转换成wav文件 clc; clear all; clear all;filenames = dir('f16.mat') n = numel(filenames)f ...
- matlab读取.mat格式文件
matlab读取.mat格式文件 13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存.导入和文件打开. 13.1.1 文件的存储 MATLAB支持工作区的保存.用户可以将工作区或工作区中 ...
最新文章
- WCF入门(一)——简单的示例
- 自己写的一个tomcat发布脚本
- [Python]架设python虚拟环境以及部署PythonWeb服务
- WGAN-div:默默无闻的WGAN填坑者 | 附开源代码
- 程序人生:入门程序员最容易踩的 7 个坑!
- ssh_exchange_identification: Connection closed by remote host解决方法
- 二分法(三):采用二分法解决“最大化最小值问题”
- dns提供商主机名_在 Kubernetes 中使用 DNS 和 Headless Service 发现运行中的 Pod
- [leetcode]240. 搜索二维矩阵 II
- 流氓软件清除,周期性出现流氓软件
- Android NDK开发之 ARM与NEON指令说明
- 图的最短路径-----------Dijkstra算法详解(TjuOj2870_The Kth City)
- 新概念系列之《Part 1 Lesson 137 A pleasant dream》
- CISCO 5510 ASDM的实战总结
- 一个B站下载视频的网站
- 前端开发 20 年变迁史
- 浪潮云服务器安装win7系统,WIN7旗舰版操作系统中浪潮ERP_GS5.2安装说明.doc
- C++语言程序设计(郑莉)02 C++基本数据类型和表达式
- 一个程序员的多年珍藏--收藏
- java如何将图片转为pdf