Update README.md

This commit is contained in:
VergilWang15
2022-03-23 16:25:24 +08:00
parent 6a523185cb
commit 9ee3eaec90
2 changed files with 36 additions and 3 deletions

View File

@@ -10,8 +10,41 @@
安装poetry后简单使用```poetry install```即可安装依赖 安装poetry后简单使用```poetry install```即可安装依赖
## 使用 ## 使用
###寻找一个格式的子类型: 本例程使用[sounddevice](https://python-sounddevice.readthedocs.io/en/0.4.4/usage.html)来对音频做播放或录制,使用[soundFile](https://python-soundfile.readthedocs.io/en/0.10.3post1/)来解析音频。
测试例程请在虚拟环境下执行```src\example.py```即可
### 项目结构
``` ```
pxua216mb-exp
├── recorded_audio
│ └── testfile.raw
├── src
│ ├── example.py
│ └── settings.py
├── test_audio
│ ├── test_audio_16k.raw
│ └── test_audio_48k.raw
├── poetry.lock
├── pyproject.toml
└── README.md
```
### 解释项目结构
- `/recorded_audio/` - 包含通过`exmaple.py`生成的音频记录文件,是音频输出的默认位置
- `/src/` - 包含项目源码,`example.py`包含了所有示例,包括主进程和几个示例函数在内,`settings.py`包括了一些设备的快速定义,这些定义将会在`example.py`中被使用。在测试时您应当执行example.py
- `/test_audio/` - 包含了所有的测试音频,`test_audio_16k.raw`是采样率16k双声道16bit位深的音频`test_audio_48k.raw`是采样率48k双声道16bit位深的音频
- `poetry.lock` - poetry的标记文件此文件不应由您手动修改
- `pyproject.toml` - 本项目通过poetry进行版本控制您可以在此处增加依赖项或更新依赖
### 寻找一个音频格式的子类型:
```python
>>> import soundfile as sf >>> import soundfile as sf
>>> sf.available_subtypes('RAW') >>> sf.available_subtypes('RAW')
>>> {'PCM_S8': 'Signed 8 bit PCM', 'PCM_16': 'Signed 16 bit PCM', 'PCM_24': 'Signed 24 bit PCM', 'PCM_32': 'Signed 32 bit PCM', 'PCM_U8': 'Unsigned 8 bit PCM', 'FLOAT': '32 bit float', 'DOUBLE': '64 bit float', 'ULAW': 'U-Law', 'ALAW': 'A-Law', 'GSM610': 'GSM
6.10', 'DWVW_12': '12 bit DWVW', 'DWVW_16': '16 bit DWVW', 'DWVW_24': '24 bit DWVW', 'VOX_ADPCM': 'VOX ADPCM'}
``` ```

View File

@@ -20,7 +20,7 @@ def select_device(device_type='output'):
def play_pcm_raw(): def play_pcm_raw():
# path = '../test_audio/test_audio_48k.raw' # path = '../test_audio/test_audio_48k.raw' # 测试播放48k音频
path = '../recorded_audio/testfile.raw' # 此处的.raw文件即为pcm格式音频 path = '../recorded_audio/testfile.raw' # 此处的.raw文件即为pcm格式音频
# 解析pcm文件并存放到数据流中 # 解析pcm文件并存放到数据流中
# 需要4个变量文件路径音频通道数采样率音频子类型 # 需要4个变量文件路径音频通道数采样率音频子类型
@@ -55,7 +55,7 @@ if __name__ == '__main__':
output_channels = settings.MAX_OUTPUT_CHANNEL output_channels = settings.MAX_OUTPUT_CHANNEL
device_list = sd.query_devices() # 获取电脑上的所有音频设备 device_list = sd.query_devices() # 获取电脑上的所有音频设备
recording() recording() # 播放音频
while True: while True:
play_pcm_raw() play_pcm_raw()
user_input = input("输入1继续播放输入2退出测试") user_input = input("输入1继续播放输入2退出测试")