我们可以利用Python合成音频,同样也能合成一些音乐,这里我们有个文件music.json里定义了A~F以及对应的频率,简单合成了两段音乐music1、music2,供读者参考学习。
import json
import numpy as np
from scipy.io.wavfile import write
import matplotlib.pyplot as plt
#----------------------定义合成器---------------------
def synthesizer(freq, duration, amp=1.0, sampling_freq=44100):t = np.linspace(0, duration, duration * sampling_freq)
audio = amp * np.sin(2 * np.pi * freq * t)
return audio.astype(np.int16)
if __name__=='__main__':
tone_map_file = 'music.json'
with open(tone_map_file, 'r') as f:
tone_freq_map = json.loads(f.read())
input_tone='G'
duration = 2 # seconds
amplitude = 10000sampling_freq = 44100 # Hz
# Tone-duration sequence
tone_seq =