- Joined
- Sep 17, 2019
Nice! In that case, you probably don't have to worry about memory management too much either way, for instance. You could program in a language that has sophisticated memory management and garbage collection (like C# or any of the languages @Shoggoth recommended) and not worry about it; or if you're curious for the experience, you could also try handling the memory yourself by writing in C/C++, since keeping track of memory won't be too much of a headache at this scale of program.At the moment I'm mostly just looking to make some little utility programs.
Sounds nifty! As @ConcernedAnon pointed out, unless you're hankering (and/or have the mathematical aptitude) to write all the signal processing/FFT routines yourself, you're probably going to want to use library functions. That's not too much of an issue, since a lot of languages have well-documented libraries for such a thing (e.g. PortAudio for C/C++, or pydub for Python, or for C# with the .NET framework the NAudio libraries look particularly impressive and fun to use).A thing that can separate a long MP3 into separate files based on where it detects silence,
This project sounds like you might want graphics or at least basic drawing and GUI stuff (to display the guitar fretboard upon which you programmatically draw the chords, if I'm picturing it right). There's a plethora of options available depending on your operating system. One of the good things about using C#/.NET I guess is that the choice is fixed for you in this regard and you don't have to think about it: your program will run (very well!) on Windows, and all of the functions/classes for coding Windows Forms are right there, easily usable, and supremely-documented. For other platforms and programming languages there are many choices too, with varying levels of quality in use and documentation (e.g. for C/C++ the Qt framework is particularly great, for Python you can also use Qt bindings but most people use Tkinter for their GUI stuff).another thing that can immediately display which spots on a guitar fretboard will sound good over a particular chord, stuff like that.
Alternatively for more advanced graphical stuff you can hook into OpenGL from just about any language you want: C/C++ obviously but also e.g. Python, C#, or even weirdo languages like Haskell and Lisp (sorry @Marvin and @Shoggoth, couldn't resist
I think I ended up making this post too long; you have plenty of options is the point I was trying to make I guess. Sounds like some fun projects either way, no matter how you decide to code them. Have fun with it!