# PXUA216MB-DL2-M Python例程 本项目是结合木瓜电子16麦板使用的python例程,请结合项目内注释使用 ## 安装 本项目通过poetry实现包管理 关于poetry的安装及使用方法:[poetry](https://python-poetry.org/docs/) 本项目依赖于开源项目 [sounddevice](https://python-sounddevice.readthedocs.io/en/0.4.4/installation.html) 安装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 >>> 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'} ```