文件下载地址:
链接: https://pan.baidu.com/s/1xZcj1EqQQcoxpjzwFqLv5w 提取码: 2mga
import json
import numpy as np
import scipy.io.wavfile as wf
# 加载文件
with open('./12.json', 'r') as f:
freqs = json.loads(f.read())
# 音乐 音调与时间
tones = [
('D5', 0.5),
('D5', 0.5),
('E4', 0.5),
('D5', 0.5),
('E3', 1.5)]
sample_rate = 44100
music = np.empty(shape=1)
# 合成波形文件数据
for tone, duration in tones:
times = np.linspace(0, duration, int(duration * sample_rate))
sound = np.sin(2 * np.pi * freqs[tone] * times)
music = np.append(music, sound)
music *= 2 ** 15
music = music.astype(np.int16)
# 写入波形文件
wf.write('./music.wav', sample_rate, music)