# Mixing an audio file with a noise file at any Signal-to-Noise Ratio
The script `create_mixed_audio_file.py` and `create_mixed_audio_file_with_soundfile.py` can mix an audio file with a noise file at any Signal-to-Noise Ratio (SNR).
You can listen to the results of [mixtures](/data/16_bit/output_mixed) of the [clean voice](data/16_bit/source_clean) and the [noise](data/16_bit/source_noise).
## Installation
- Python3.7+
- macOS
### Setup
I recommend to install [Pipenv](https://github.com/pypa/pipenv) for making set-up easy before proceeding:
If you're on macOS, you can install Pipenv easily with Homebrew:
```
$ brew install pipenv
```
After installing Pipenv, you run the following command to build a virtualenv and install packages listed in `Pipfile.lock`.
```
$ pipenv install
```
Then, you can run the following command to activate a virtualenv.
```
$ pipenv shell
```
### File format
To use this code, the format of source waveforms is as follows.
- WAV file
- 1 channel
Additionally, the sampling rate of a clean file and that of a noise file are supposed to be the same.
## Usage
There are two files for creating a mixture.
- `create_mixed_audio_file.py`:
- Uses wave module
- Can read wav file with 16-bit PCM only
- `create_mixed_audio_file_with_soundfile.py`:
- Uses soundfile library
- Can read wav file with various encoding types such as 16-bit PCM, 32-bit PCM, 32-bit float, and 64-bit float.
After activating a virtualenv, you can run the files to mix an audio file with a noise file at any signal-to-noise ratio.
Example of `create_mixed_audio_file.py`:
```
python create_mixed_audio_file.py --clean_file ~/workspace/audio-SNR/data/16_bit/source_clean/arctic_a0001.wav --noise_file ~/workspace/audio-SNR/data/16_bit/source_noise/ch01.wav --snr 0 --output_mixed_file ~/workspace/audio-SNR/data/16_bit/output_mixed/0dB.wav
```
Example of `create_mixed_audio_file_with_soundfile.py`:
```
python create_mixed_audio_file_with_soundfile.py --clean_file ~/workspace/audio-SNR/data/64_bit/source_clean/arctic_a0001_64bit.wav --noise_file ~/workspace/audio-SNR/data/64_bit/source_noise/ch01_64bit.wav --snr 0 --output_mixed_file ~/workspace/audio-SNR/data/64_bit/output_mixed/0dB.wav
```
## Dataset
I really appreciate the following public datasets.
- [Voices](http://festvox.org/cmu_arctic/) - CMU_ARCTIC speech synthesis databases
- [Noises](https://zenodo.org/record/1227121#.W2wUVNj7TUI) - DEMAND: a collection of multi-channel recordings of acoustic noise in diverse environments
## Detail
There is a detail about `create_mixed_audio_file.py` on my post (in Japanese).
[https://engineering.linecorp.com/ja/blog/voice-waveform-arbitrary-signal-to-noise-ratio-python/](https://engineering.linecorp.com/ja/blog/voice-waveform-arbitrary-signal-to-noise-ratio-python/)
There is a detail about `create_mixed_audio_file.py` on my post (in Korean).
[https://engineering.linecorp.com/ko/blog/voice-waveform-arbitrary-signal-to-noise-ratio-python/](https://engineering.linecorp.com/ko/blog/voice-waveform-arbitrary-signal-to-noise-ratio-python/)
以任何信噪比(SNR)将音频文件与噪声文件混合_Python_下载.zip
版权申诉
5星 · 超过95%的资源 120 浏览量
2023-04-27
10:55:20
上传
评论
收藏 17.41MB ZIP 举报
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
最新资源
- 206693250008_R01C02_Grn.idat
- 瞳孔跟踪-基于OpenCV+网络摄像头的瞳孔跟踪算法实现-附项目源码+流程教程-优质项目分享.zip
- ModStartCMS v8.4.0 框架稳定性持续迭代,修复部分已知问题
- bleder 教室学校学生教育室办公室考试
- 人脸检测-使用OpenCV实现的动漫+漫画人脸检测算法-附项目源码-优质项目实战.zip
- 道路贴图,材质材料免费
- 人脸检测-基于OpenCV+Node.js+WebSockets实现的实时人脸检测应用-附项目源码-优质项目实战.zip
- 一些常见的MySQL死锁案例-mysql-deadlocks-master(源代码+案例+图解说明)
- UE4动画烘焙器-ue4.27
- 新建文件夹.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈