Pretty Chroma Filters

I share just cuz they’re pretty. This is for 513 Magnitudes and 12 pitch classes per octave. Log plot of bins for seeing “musically”.

from mmm_audio import *
from emberjson import serialize

def main() raises:

    chroma = Chroma(48000, 1024)

    with open("chroma_filters.json", "w") as f:
        f.write(serialize(chroma.weights))
import json
import matplotlib.pyplot as plt

filters = json.load(open("chroma_filters.json"))

print("filters shape:", len(filters), len(filters[0]))

for f in filters:
    plt.plot(f)
# make x axis log
plt.xscale("log")
plt.show()
3 Likes