跪求用matlab分别录制一段男声、女声信号,进行音频信号的读取与播放,画出其波形
声卡采集声音信号的数据采集过程可以分为四步:
初始化。
配置。
采样。启动设备对象,开始采集数据
终止。停止对象并删除对象。
如果是想将声音信号录制到matlab里面,则可以使用以下的函数。R = audiorecorder( 44100, 16 ,2 ) 。
声卡也叫音频卡(港台称之为声效卡):声卡是多媒体技术中最基本的组成部分,是实现声波/数字信号相互转换的一种硬件。
声卡的基本功能是把来自话筒、磁带、光盘的原始声音信号加以转换,输出到耳机、扬声器、扩音机、录音机等声响设备,或通过音乐设备数字接口(MIDI)使乐器发出美妙的声音。
声卡发展至今,主要分为板卡式、集成式和外置式三种接口类型,以适用不同用户的需求,三种类型的产品各有优缺点。
matlab能处理的音频文件为(.wav)格式,并且处理的文件不超过1M。
fileName='E:\Matlab语音分析\降噪后.wav';%注:将需要读取的文件名赋值给fileName[y fs nbits]=wavread(fileName);%读取该文件 加入matlab中进行分析
sound(y,fs);%播放该文件
plot(y);%画出波形图
如果要用matlab录制音频的话 用以下函数wavrecord进行录制 然后用 wavwrite保存到电脑中
wavwrite(y,Fs,'E:\Matlab语音分析\Record1.wav'); %FS自己定义 比如8000
QQ:344731766
录制、读写:
%%写进去
WAVWRITE(Y,FS,WAVEFILE) %自动生成WAV
%读出来
[filename,pathname]=uigetfile({'*.wav'},'select WAV); %手动插入WAV
str=[pathname filename];
y=wavread(str);
播放 :
wavplay(y); % wav函数
sound(y,FS); % =wavplay(y); % 类似于PLAY implay
你有多少财富啊?
用matlab求分段函数程序
出错的原因应该是 你的函数名字起的太简单了,可能与别的g.m函数冲突,引起调用错误,不过也可能是matlab抽风了,你重启试试。我的解决办法是:把函数名字改为gg.m 然后放到当前工作目录中,函数内容的代码是:function y=gg(x)if x>2 y=x^2+2;elseif 0<x<=2 y=3*x;elseif x<=0...
如何用matlab进行图像分割
在MATLAB中进行图像分割涉及到多种算法和方法,取决于特定的应用场景和目标。以下是基于阈值分割的一个简单示例,它是图像分割中常用的一种方法:1、读取图像:首先,你需要读取待处理的图像。img = imread('your_image_path.jpg'); % 替换为你的图片路径 2、预处理图像(可选):有时候,你可能需要...
如何用matlab三角矩阵分解?
Ax=B,改写成Ly=B,Ux=y的方程组。就相当于将A=LU分解成了两个矩阵。称为矩阵A的三角分解,或LU分解。如果L为单位下三角阵,则叫Doolittle分解,若U为单位上三角阵,则叫Crout分解。只要A的各顺序主子式不为零,则A可唯一分解成一个单位下三角阵L与一个上三角阵U的乘积。•设Ax=b,A...
用matlab编写一个函数来计算分段函数
首先,建立自定义分段函数,即piecewise。m function y=piecewise(x) %piecewise function 分段函数 n=length(x); Pomax=9; for i=1:n if x(i)>=0 & x(i)150 & x(i)> piecewise(4) ans = 7.5992
用matlab求积分
求解此类积分题,可以这样来解决。>> syms x t >> yt=exp(-0.8*t*abs(t));>> sx=int(yt,0,x)>> x=0:0.1:10;>> sx=eval(sx);>> plot(x,sx)
用matlab怎样画分段函数图
1、首先双击打开MATLAB软件,如图所示。2、然后建立一个脚本文件,具体方法如图所示。3、然后定义变量。4、然后建立循环,求解分段函数。5、然后采用以下指令画图。6、然后就可以看到画出的图片如图所示。
采用MATLAB计算带有变限积分的极限的方法
对于学习到极限的时候我们往往会遇到一种几分,就是就是带有变现函数的积分。实例如下图所示:方法:1、打开MATLAB软件的界面如图所示,并采用一下命令清空界面:clear;clc;2、定义两个符号变量,采用下面的代码:syms x t 3、定义分母分子的两个函数,代码如下;y1=int(exp(t*t),1,x);y2=log...
matlab怎么将一个点数据等分?
1、首先双击matlab软件图标,打开matlab软件,可以看到matlab软件的界面。2、然后使用直接输入法,创建向量,就是讲向量的每个元素输入到中括号中。3、使用冒号表达式创建向量,具体的表达式如下:A=first:step:end。其中first表示向量的第一个元素,step表示步长,end表示向量的最后一个元素。4、使用函数...
怎么用matlab求分式函数
K M L分别对应a(1) a(2) a(3)程序如下!myfun=inline('a(1).\/(1+a(2).*exp(-a(3).*x))','a','x');x=[20;40;60];y=[54.8;330.7;655.3];[a_modelled]=nlinfit(x,y,myfun,[0.1 0.1 0.1]);
用matlab求差分方程的解?
如何用matlab解差分方程?差分方程是指未知函数差分的方程,其一般形式为 F(t,yt,Δyt,Δy^2t,···,Δy^nt)=0 差分方程的通解是指含有相互独立的任意常数,且任意常数的个数等于方程的价数的解;差分方程的特解是指不含有任意常数的解;为了说明如何用matlab解差分方程问题,特举例:例1...
杭堵伤科: 语音的话 你要用算法分开清音和浊音,就像这样 具体的,我不是很懂
河北区15153168477: 怎么将女声变成男声通过matlab实现?
杭堵伤科: load handel;Fs=8192;% change Fs, Fs is frequency.% example Fs=7000; low frequency ,the sound of a guy% example Fs=10000; high frequencysound(y,Fs)
河北区15153168477: 如何在matlab中录入一段语音信号 - ?
杭堵伤科: 是实时采集还是用现成的音频?好像实时采集的话有个analog input 或者simulink里有麦克风 要是有现成音频的话直接wavread就行了 我一般用wavread 格式是[x,fs]=wavread('wenjianming'); x是读入的音频数据 fs是音频采样频率 文件名就是文件名了要wav格式的 MP3需要额外程序 网上有下的
河北区15153168477: 老师叫我们用MATLAB制作段简单歌曲(什么歌都行,越简单越好),跪求高人代码??
杭堵伤科:A4=440; pt=44100;p0=pt/2; scale12=A4/2^(9/12)*2.^((0:11)/12); map=[1 3 5 6 8 10 12];%七音符 %乐谱 score=[1 1 5 5 6 6 5,...do do sol sol la la sol- 4 4 3 3 2 2 1,...fa fa mi mi re re do- 5 5 4 4 3 3 2,...sol sol fa fa mi mi re- 5 5 4 4 3 3 2,...sol sol fa ...
河北区15153168477: 我用matlab录了一段声音,怎么保存 - ?
杭堵伤科: 在第一栏,发布、视图选项后面有一排图标,第二个磁盘图标就是储存!点击此图标!!
河北区15153168477: 基于matlab的声音信号采集与处理 - ?
杭堵伤科: 我们的作业,给你参考: 调用原始语音信号mtlb,对其进行FFT变换后去掉幅值小于10的FFT变换值,最后重构语音信号.(要求有四幅语音信号的频谱图在同一图形窗口以便比较:分别是1、原始语音信号;2、FFT变换;3去掉幅值小于10的...
河北区15153168477: Matlab分段函数绘图 - ?
杭堵伤科: 分别plot,绘下一段前hold on就行;或者用矩阵把函数表示出来,再对矩阵绘图.
河北区15153168477: 利用Windows下的录音机录制一段自己的话音时间在1s内.然后在Matlab软件利用wavread函数对语音信号进行采样 - ?
杭堵伤科: clc; clear all; close all; % 载入wav音频数据 load handel.mat hfile = 'handel.wav'; wavwrite(y, Fs, hfile) clear y Fs % 读入wav文件 [y, Fs, nbits, readinfo] = wavread(hfile); sound(y, Fs); % 暂停 duration = numel(y) / Fs; pause(duration + 2) % 读取并播...
河北区15153168477: matlab中,自己用麦克风录的一段声音(*.wav)可以用具体的表达式写出来吗? - ?
杭堵伤科: 展望: 1)由于对信号进行了N倍的欠采样,故难免出现频率混叠.可以考虑先对原信号进行FIR低通滤波(防混叠滤波)以后,再进行采样.滤波系数应由欠采样的常数N决定.在实际应用中,低通滤波是由硬件电路完成. 2)本程序量化过程...
河北区15153168477: 用matlab实现数据采集 - ?
杭堵伤科: 首先要明确matlab不对模拟量处理,计算机无法做模拟的计算,模拟运算的预算量无穷大…… 计算机对模拟信号的读入就已经是离散化的,只是采样的频率可能不同而已. 你说的这个题目应该是:先调用函数读取语一段音信号,接着再用plot 函...