zoukankan      html  css  js  c++  java
  • How to insert a segment of noise to music file

    如何向音频文件中插入噪声

    为了研究噪声和音乐对EEG的的影响,实验前需要准备一段夹杂噪声的音乐。

    1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2. % Program to insert the white Gaussian noise into muisc
    3. %y 音乐数据
    4. %Fs 采样率
    5. %bits 采样位,默认为16
    6. %wgn(m,n,p) 获取m * n、噪声强度为p的高斯白噪声
    7. % author: Andy Wu
    8. % date: 6/10/2009
    9. % modify: 9/10/2009
    10. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    11. %打开一个名为“请选择背景音乐”的对话框,显示指定路径下所有的.wav文件
    12. [file_name,file_path]=uigetfile('F:\MatlabProgram\*.wav','请选择背景音乐');
    13. sound_path=strcat(file_path,file_name);
    14. %将选中的音乐文件的数据和采样率读到sound_dataFs
    15. [sound_data,Fs,bits]=wavread(sound_path);
    16. sound_length=length(sound_data);
    17. %求出音乐的播放时间长度
    18. sound_time=sound_length/Fs;
    19. fprintf(1,'背景音乐播放长度 %6.2f(秒)\n',sound_time);
    20. %检查是否定义噪声时间, 否则输入噪声时间
    21. if ~exist('noise_time')
    22. noise_time=input('请输入噪声长度(秒):');
    23. end
    24. noise_length=noise_time*Fs;
    25. %输出一个噪声强度为1dBwnoise_length x 1的高斯白噪声矩阵数据
    26. noise_data=wgn(noise_length,1,1);
    27. %检查是否输入插入噪声的起始时间
    28. if ~exist('noise_start_time')
    29. noise_start_time=input('请输入您要设置的噪声起始时间(秒):');
    30. end
    31. %计算噪声数据插入位置
    32. noise_position=noise_start_time*Fs;
    33. %插入噪声数据
    34. sound_data(noise_position:noise_position+noise_length-1)=noise_data;
    35. %dlmwrite('F:\notify.txt',y); %将插入噪声后的音乐数据写入文本文件
    36. %soundData=csvread('F:\notify.txt'); %读出音乐数据至soundData
    37. object= analogoutput('winsound'); %建立硬件对象
    38. addchannel(object,[1 2]); %创建声音输出通道
    39. set(object,'SampleRate',Fs) %设置采样率
    40. data1 =sound_data(:,1); %双声道
    41. data2 =sound_data(:,1);
    42. putdata(object,[data1 data2]); %往声卡输送音乐数据
    43. %start(object); %开始输出音乐
    44. %stop(object) %停止输出音乐




  • 相关阅读:
    this指针是什么?
    C++多态实现原理
    面试题2:实现Singleton模式
    面试题1:赋值运算符函数
    1.Two Sum
    朴素贝叶斯
    K近邻法
    感知机
    数据类型、用户交互、赋值运算
    蓝牙技术概述
  • 原文地址:https://www.cnblogs.com/zeweiwu/p/4752719.html
Copyright © 2011-2022 走看看