AI-Music / add audio-play
Yinghoo's picture
app.py
ed38226 verified
raw
history blame contribute delete
706 Bytes
import librosa
import numpy as np
import matplotlib.pyplot as plt
import librosa.display
def extract_melody(audio_file):
# 加载音频文件
y, sr = librosa.load(audio_file)
# 提取旋律(和声成分)
y_harmonic = librosa.effects.harmonic(y) # 注意这里的变化
# 计算音高特征(Chroma)
chroma = librosa.feature.chroma_cqt(y=y_harmonic, sr=sr)
# 显示音高特征
plt.figure(figsize=(10, 4))
librosa.display.specshow(chroma, y_axis='chroma', x_axis='time')
plt.colorbar()
plt.title('Chromagram')
plt.tight_layout()
plt.show()
# 替换为你的音频文件路径
audio_file = 'your_song.mp3'
extract_melody(audio_file)