DamRsn / NeuralNote

Audio Plugin for Audio to MIDI transcription using deep learning.
Apache License 2.0
1.12k stars 61 forks source link

could dependency on onnxruntime be avoided? #91

Open wtholliday opened 5 months ago

wtholliday commented 5 months ago

I'm working on a port of NeuralNote to visionOS and hitting some trouble getting onnxruntime to compile for visionOS.

Comment here says that Features is doing a CQT (what does "harmonically stack" mean?). I was wondering if other CQT code could be used instead of the onnx model? For example: https://github.com/cannam/constant-q-cpp

DamRsn commented 5 months ago

Hi,

Yes the ONNXRuntime dependency could be avoided, but getting the CQT working exactly the same in another framework/in pure C++ might be a bit of work.

Concerning this library, I don't know if we could get exactly the same thing, but with a few tweaks probably yes.

Harmonic stacking is kind of a reshape operation of the CQT array so that bins with frequency being a multiple of the same fundamental frequency stacks on a new dimension. You can look on the BasicPitch repo here to see how it's implemented.

If you manage to get the features working without ONNXRuntime, please let me know, I'd be pretty happy to integrate it.