pcm流数据文件存放在文件夹路径stream_file_path中。按下列要求进行音频数据处理: 1.将所有audio字段里面的二进制音频数据拼接成一个长pcm数据; 2.将第一步生成的pcm数据按照: (1)单声道, (2)采样字节长度为2, (3)采样率为24000, 将音频数据按student_answer_path生成wav格式的音频文件并保存。 提示 注意去除字符串数据中多余的符号 json.loads(s) # 将字符串转化为json格式数据 base64.b64decode(s) # 将字符串s转为pcm数据格式
时间: 2023-07-14 15:12:43 浏览: 119
pcm_play.rar_RAW PCM AUDIO FILE_pcm_pcm 文件 播放_play_音频
可以参考以下代码实现上述要求:
```python
import json
import base64
import os
import wave
# 文件夹路径
stream_file_path = "PCM文件夹路径"
student_answer_path = "WAV文件路径"
# 获取所有pcm数据
pcm_data = b''
for file_name in os.listdir(stream_file_path):
file_path = os.path.join(stream_file_path, file_name)
with open(file_path, 'r') as f:
content = json.loads(f.read())
pcm_data += base64.b64decode(content['audio'].replace('\n', ''))
# 设置音频参数
nchannels = 1
sampwidth = 2
framerate = 24000
nframes = len(pcm_data) // sampwidth
# 生成wav文件
with wave.open(student_answer_path, 'wb') as f:
f.setnchannels(nchannels)
f.setsampwidth(sampwidth)
f.setframerate(framerate)
f.setnframes(nframes)
f.writeframes(pcm_data)
```
注:代码中,需要将 `stream_file_path` 和 `student_answer_path` 替换为实际的文件夹路径和文件路径。
阅读全文