Clojure (JVM) bindings into the excellent tonal library.
tonal is a music theory library. Contains functions to manipulate tonal elements of music (note, intervals, chords, scales, modes, keys). It deals with abstractions (not actual music or sound).
This is possible via GraalVM's JavaScript engine
Requires JDK11+ or a graalvm runtime
["-XX:+UnlockExperimentalVMOptions" "-XX:+EnableJVMCI"]
(require '[tonal.midi :as midi])
(time (midi/midi-to-freq 60))
;; "Elapsed time: 0.573886 msecs"
;; => 261.6255653005986
Refer to the tonal documentation for more information.