I am happy to see someone interested in music and audio in Julia! Just disclosing that I didn’t read all messages in this thread. Just chiming in for:
I have maintained MIDI.jl and MusicManipulations.jl. I fundamentally disagree with the statement that these packages are early-stage or incomplete. They are neither of this. If there is a specific feature of MIDI data that you think MIDI.jl does not have, it would be fantastic if you consider a PR. However, I have difficulty believe this would be something beyond a minor detail. As far as I can tell, the vast majority of the MIDI specification is implemented and handled properly by MIDI.jl.
MusicManipulations.jl on the other hand is a package for manipulating music. Not audio or waves, but music. This is why the package only works with MIDI data. I just looked at librosa and as far as I can tell MusicManipulations.jl has more functionality for musical MIDI data analysis. I created this package when i was doing scientific research in music. If I ever get some extra funding for e.g., a PhD the package can have a resurgence (I have research project available, but no money)
MusicProcessing.jl on the other hand is indeed in a terrible state. Not just unupdated but also with lack of features and poor source code organization. For years I am trying to convince people to start contributing regularly to it to make it Julia-latest compatible but progress has been extremely slow.
Both MIDI.jl and MusicManipulations.jl are very stable and very well tested; as far as I can tell these are “mature” packages and the lack of recent github commits shouldn’t worry anyone. Although, updating their tests to use GitHub CI instead of the outdated travis would be a welcomed change.
I no longer contribute to JuliaMusic; I don’t have the time unfortunately . But I am more than happy to share admin rights with packages in the repo if someone is interested to carry on the torch.
and also happy to provide github org admin rights to other people if they want to bring the Julia DSP world to modern standards; I definitely share your vision @blah_blah.jl and I also fully agree that the audio processing situation in Julia is not on par with other open source languages (at least Python, the only other one I know off)
Thanks for the correction and you’re completely right. I overgeneralized and conflated symbolic music/MIDI tooling with audio waveform DSP tooling. I should not have described MIDI.jl or MusicManipulations.jl as early-stage or incomplete; that was not a fair characterization of packages outside my direct experience.
My intended point was narrower: there may still be room for more actively maintained, integrated tooling around audio-waveform DSP workflows in Julia, particularly given the current state of MusicProcessing.jl. But MIDI.jl and MusicManipulations.jl clearly serve their intended domains well. Thanks for clarifying that distinction, and apologies for the inaccurate wording.
@Gesee It looks like, Doctor George’s (@Datseris) discourse appears to traverse a broad theoretical spectrum. Ranging from the intricacies of music manipulations to the complexities of gravitational wave distortion of spacetime. In any case, beware, one should approach his lectures with an appreciation for their deeply theoretical nature and his noted predilection and love for Lyapunov exponents. Are you maybe by any chance into theory of gravitational waves? Just kidding a bit of course. :- )
I’m very sorry. I like the thread. And I stand by what I wrote here. However, I’ve totally lost track of what this is all about. Anyway, if I may be of any help, just let me know. In any case, I’ll take into consideration all potential suggestions.
Off topic: You are into game development? Am I right? I’ve noticed this topic is quite popular here. There must be something special about Julia for this particular sector. I guess the gaming community is still in the early stages. And there are likely significant entry barriers? Hope you don’t mind me asking.
Hm, there may have been some miscommunication. In my previous comment, I meant to indicate that I was going to go off-topic - not as any criticism of your posts
It could be the case, there are a lot of people with different backgrounds participating. Still I’m surprised by how things developed here, especially taking into account, as I understand, a common area of interest. I’m sustaining my points about low latency, low jitter transport layer. I’m open to helping, however, please be informed that this is not currently on my list of priorities. I don’t have anything against any of the packages mentioned here, and my comments weren’t meant to be any form of a critique.