• 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) %停止输出音乐




  • 相关阅读:
    OpenCV -- CV_8UC1,CV_32FC3等参数的含义
    OpenCV -- 命名空间及相关函数介绍
    Qt -- QMutex使用详解
    QT -- 常用数据结构及函数
    Qt -- QQueue用法
    Qt -- QSetting类/ini配置文件的读写操作
    QT--日期操作QDateTime
    设备接口总汇(含实物图)
    “SurfFeatureDetector”: 未声明的标识符/不能实例化抽象类
    OpenCV -- Shi-Tomas角点检测与亚像素级角点检测
  • 原文地址:https://www.cnblogs.com/zeweiwu/p/4752719.html
Copyright © 2020-2023  润新知