How to insert a segment of noise to music file
如何向音频文件中插入噪声
为了研究噪声和音乐对EEG的的影响,实验前需要准备一段夹杂噪声的音乐。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Program to insert the white Gaussian noise into muisc%y 音乐数据%Fs 采样率%bits 采样位,默认为16位%wgn(m,n,p) 获取m * n、噪声强度为p的高斯白噪声% author: Andy Wu% date: 6/10/2009% modify: 9/10/2009%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%打开一个名为“请选择背景音乐”的对话框,显示指定路径下所有的.wav文件[file_name,file_path]=uigetfile('F:\MatlabProgram\*.wav','请选择背景音乐');sound_path=strcat(file_path,file_name);%将选中的音乐文件的数据和采样率读到sound_data和Fs[sound_data,Fs,bits]=wavread(sound_path);sound_length=length(sound_data);%求出音乐的播放时间长度sound_time=sound_length/Fs;fprintf(1,'背景音乐播放长度 %6.2f(秒)\n',sound_time);%检查是否定义噪声时间, 否则输入噪声时间if ~exist('noise_time')noise_time=input('请输入噪声长度(秒):');endnoise_length=noise_time*Fs;%输出一个噪声强度为1dBw,noise_length x 1的高斯白噪声矩阵数据noise_data=wgn(noise_length,1,1);%检查是否输入插入噪声的起始时间if ~exist('noise_start_time')noise_start_time=input('请输入您要设置的噪声起始时间(秒):');end%计算噪声数据插入位置noise_position=noise_start_time*Fs;%插入噪声数据sound_data(noise_position:noise_position+noise_length-1)=noise_data;%dlmwrite('F:\notify.txt',y); %将插入噪声后的音乐数据写入文本文件%soundData=csvread('F:\notify.txt'); %读出音乐数据至soundDataobject= analogoutput('winsound'); %建立硬件对象addchannel(object,[1 2]); %创建声音输出通道set(object,'SampleRate',Fs) %设置采样率data1 =sound_data(:,1); %双声道data2 =sound_data(:,1);putdata(object,[data1 data2]); %往声卡输送音乐数据%start(object); %开始输出音乐%stop(object) %停止输出音乐
How to insert a segment of noise to music file的更多相关文章
- 源码浅析:MySQL一条insert操作,会写哪些文件?包括UNDO相关的文件吗?
DML操作的大致流程 在解答上述疑惑之前,我们来梳理一下DML操作的大致流程: 1.语法解析.语义解析 2.生成执行计划 3.事务修改阶段 1) 激活事务,事务状态由not_active变为activ ...
- 【UISegmentedControl】- 分段控件
一.初始化 二.常见的属性 1.segmentedControlStyle属性:设置基本的样式 2.momentary属性:设置在点击后是否恢复原样 . 3.numberOfSegments属性:只读 ...
- UI--普通控件总结1--控件使用
本文目录 0.UIView常用的属性和操作 0_1.UIView常见的属性 0_2.UIView状态 0_3.UIView常用的方法 1.文本框UITextField和文本视图UITextView 1 ...
- 『GreenPlum系列』GreenPlum 4节点集群安装(图文教程)
目标架构如上图 一.硬件评估 cpu主频,核数推荐CPU核数与磁盘数的比例在12:12以上Instance上执行时只能利用一个CPU核资源进行计算,推荐高主频 内存容量 网络带宽重分布操作 R ...
- 【mysql】关于IO/内存方面的一些优化
这里使用的是mysql Ver 14.14 Distrib 5.6.19, for Linux (i686) using EditLine wrapper 一.mysql目录文件 ibdata1: ...
- TOYS - POJ 2318(计算几何,叉积判断)
题目大意:给你一个矩形的左上角和右下角的坐标,然后这个矩形有 N 个隔板分割成 N+1 个区域,下面有 M 组坐标,求出来每个区域包含的坐标数. 分析:做的第一道计算几何题目....使用叉积判断方 ...
- lucene原理及源码解析--核心类
马云说:大家还没搞清PC时代的时候,移动互联网来了,还没搞清移动互联网的时候,大数据时代来了. 然而,我看到的是:在PC时代搞PC的,移动互联网时代搞移动互联网的,大数据时代搞大数据的,都是同一伙儿人 ...
- InnoDB存储引擎介绍-(7) Innodb数据页结构
数据页结构 File Header 总共38 Bytes,记录页的头信息 名称 大小(Bytes) 描述 FIL_PAGE_SPACE 4 该页的checksum值 FIL_PAGE_OFFSET 4 ...
- 学习笔记:The Best of MySQL Forum
http://mysql.rjweb.org/bestof.html I have tagged many of the better forum threads. 'Better' is based ...
随机推荐
- 【uoj#317】[NOI2017]游戏 2-SAT
题目描述 给出 $n$ 个赛车赛道和A.B.C三种赛车,除了 $d$ 个赛道可以使用所有三种赛车以外每个都只能使用给出的两种之一.另外给出 $m$ 条限制:某个赛道使用X则某另一个赛道必须使用Y.问: ...
- 【bzoj4428】[Nwerc2015]Debugging调试 数论+记忆化搜索
题目描述 一个 $n$ 行的代码出了bug,每行都可能会产生这个bug.你要通过输出调试,在其中加入printf来判断bug出现的位置.运行一次程序的时间为 $r$ ,加入一条printf的时间为 $ ...
- 【刷题】BZOJ 4025 二分图
Description 神犇有一个n个节点的图.因为神犇是神犇,所以在T时间内一些边会出现后消失.神犇要求出每一时间段内这个图是否是二分图.这么简单的问题神犇当然会做了,于是他想考考你. Input ...
- 【SPOJ】QTREE6(Link-Cut-Tree)
[SPOJ]QTREE6(Link-Cut-Tree) 题面 Vjudge 题解 很神奇的一道题目 我们发现点有黑白两种,又是动态加边/删边 不难想到\(LCT\) 最爆力的做法,显然是每次修改单点颜 ...
- 洛谷 P3241 [HNOI2015]开店 解题报告
P3241 [HNOI2015]开店 题目描述 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱. 这样的想法当然非 ...
- IPC$入侵大全
0x01 ipc$的定义 IPC$(Internet Process Connection)是共享"命名管道"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可 ...
- linux内核设计与实现第七周读书笔记
第七章 链接 链接(linking)是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或被拷贝)到存储并执行.链接可以执行于编译时(compile time),也就是在源代 ...
- 洛谷p1017 进制转换(2000noip提高组)
洛谷P1017 进制转换 题意分析 给出一个数n,要求用负R进制显示. n∈[-32768,32767].R ∈[-20,-2] 考察的是负进制数的转换,需要理解短除法. 看到这道题的时候,我是比较蒙 ...
- Linux系统启动详解(一)
本篇主要以Centos为例,讲述整个Linux系统启动过程,包括了grub引导,initramfs流程,/sbin/init执行rc.sysinit及rc的大体流程. 另外,本篇有一个实例来说明,将整 ...
- 最近遇到的DISCUZ一些问题解决方法
“抱歉,您的请求来路不正确或表单验证串不符,无法提交” 打开“source\class\helper\helper_form.php”, 然后把“$_GET[‘formhash’] == formha ...