I've used CSound for a university project some years ago, to manipulate a bunch of files to play together - adjust volumes, modify speed of playing without modifying tonality, etc. I then wrote a GUI to manage CSound. After 8 years, here's what I remember: - It was very complicated to wrap a C library in Java, at least for a new graduate like me. - There was no learning material for the kind of things I needed to do…
A project about playing back recorded audio with interactive control should be feasible in Java, dispensing with CSound and JNI complications entirely, while a project to do something with CSound could focus on the strong points of CSound and avoid technical hurdles (e.g. Java programs that generate highly complex CSound code for highly complex music).