From: Pete S. <pst...@ve...> - 2008-05-10 01:12:12
|
The following discussion was instigated by Donald Moore in a private email. With Donald's permission, I'm making a good portion of the discussion public. It probably belongs on the developer's list, but I want the potential Jazz++ user community to know what I'm thinking as well, so here goes... First let me "blog a little"... I'm an electrical engineer. This is my profession. I write C++ and use wxWidgets at my place of employment. When I was a kid, I took drum lessons and had some excellent instructors. I did well in school, so I pursued engineering instead of music. Drumming is now my hobby. I am fortunate enough to own a Roland TD-20 electronic drum kit (http://www.rolandus.com/products/productdetails.aspx?ObjectId=599). I love it. At the end of 2007 I became interested in possibly using the midi2ly utility (http://lilypond.org/doc/v2.1/Documentation/user/out-www/lilypond/Invoking-midi2ly.html) (or a modified version of it) to generate sheet music by recording my playing via a MIDI sequencer hooked up to my Roland kit and using this utility to generate lilypond (http://lilypond.org) source and therefore, drum sheet music. When I went looking for an open source MIDI sequencer for Windows, I couldn't find one. Rosegarden (http://www.rosegardenmusic.com/) is a great open source "audio and MIDI sequencer, score editor, and general-purpose music composition and editing environment." Unfortunately it is Linux specific. Then I found Jazz++ on SourceForge. After some email discussions with Patrick Earl, Dave Fancella, and Kevin Cosgrove, they were willing to give me control of the project. I'm not sure if they trusted me, or just figured "work on this had stalled due to the existence of other tools on Linux boxes, so what would it hurt?". I just want to publicly thank them for giving me this opportunity. I'm having a lot of fun with this. I managed to get an old version of the code (4.1.3) built on Windows with an ancient version of wxWidgets (1.6e) using Visual Studio 6. Next I updated the code to build with the current stable version of wxWidgets (2.8.7). Next I created a Linux build. Then someone was interested in a Mac port. On the advice of a fellow developer, I purchased a Mac mini and have a version of the code building on Maz OS X 10.5.2. The code is barely functional (plays back MIDI files on Windows and Linux), but I still have a ways to go before a binary release makes sense. I have to admit, I'm addicted to working on this. My original goal (tool to translate percussion playing into sheet music) is still there, but secondary. Now I want to get Jazz++ working in its former glory and make it better. I've been encouraged by a handful of individuals (Riccardo G., Kevin C., Leland L., and Donald M.) who have helped and are interested in seeing Jazz++ implemented. Sorry for that spew. I just wanted to let everyone know my motivation for working on the project. Now for the discussion with Donald... D = Donald D> I wonder what sort of person would install and use jazz++. I'm D> not without my own ideas here, but I'd like to know if *you* D> had any specific user base 'target audience' in mind developing D> this software. In my mind, this so called 'target user audience' D> is fairly easy to define -- see if you agree with this thinking; D> D> users will be either musicians, aspiring musicians, or not D> musicians. D> D> depending on which group the user fits into here, in many ways D> goes to preclude that: D> they have MIDI hardware and know all about MIDI D> they aspire to have MIDI hardware and learn all D> about MIDI they want to produce MIDI based sound D> with their computer D> D> If users are in the first two groups here, you don't need D> document MIDI -- they will be resourceful and studious D> enough to do that for themselves, so as far as jazz++ goes, D> they just (quickly) want to learn how to drive it, and D> how to accomplish 'standard, basic' MIDI sequencing D> techniques using jazz++ (instead of some other MIDI sequencing D> software they've seen/used) Without prejudice, it is my D> personal experience that musicians don't want to have anything D> at all to do with the software except use it, possibly getting D> someone else to install it for them as well...and that's fine ; D> they should be concentrating on their music after all.... D> D> If...however....the user is in the latter group, THAT is why D> people like yourself and I and many others spend so much time D> writing up documentation and getting it 'just right' for people D> we know are going to be in this group. We do this, to try and D> ensure that they have as positive an experience as possible, D> first time up and 'straight out of the box' as it were. D> D> You might sense I've got my eyes focused on that currently D> vacant jazz++ documentation page, and you'd be right. In D> the context I've drawn here, I'm considering that third D> group of users who aren't musicians nor software savvy but D> who want to play around with jazz++ anyhow. Who knows, it D> may be a young person with much (musical) talent trying out D> MIDI & jazz++ for the very first time. Whoever it is, this D> first time exposure to the software itself and the quality D> of it's supports, pretty much determines the effective D> future of that project, and what user support base it can D> manage to attract. D> D> Now, you already know all this...otherwise you wouldn't be D> asking for people like myself to check&test things. The D> other reality is, jazz (jazzware) has already been and D> gone once, and I really know this -- I've been on the D> mailing list for years, and the last few years it's been D> deathly quiet. If you never had the pleasure of attempting D> to compile wx-167e (or whatever it was) and getting the D> then jazz to link against it, then you never had the D> pleasure of attempted suicide...it was diabolical, really. D> And it would do weird things, crash at most inopportune D> moments, and parse some standard MIDI files as if they D> were strands of spagetti.... D> D> In many ways, jazz++ 'missed it's calling' back then, D> because it was one of the very few (if not the only) MIDI D> sequencer available for linux back then, with the possible D> exception of 'Rosegarden' which is more orientated D> towards musical/MIDI notation than it is a MIDI sequencer, D> and back then it was even crashier than jazz++ was. D> D> The other real big crunch factor for the linux user D> versus MIDI sound scene, has been the lack of soundcard D> MIDI/synth driver supports in linux. As we know, the D> day-to--day Windows user has a softsynth on hand with D> very nearly every run-of-the-mill off-the-shelf soundcard D> out there...(thanks to closed and proprietary soundcard D> drivers and chip designs)....but we folks in linux land D> had to wait for the likes of emu8000/emu10k1 soundcards D> to become cheaply available before we could do any serious D> MIDI based sound reproduction....(unless of course you went D> out and bought an expensive high end MIDI soundcard that D> had linux support)....but even then, we're talking about D> MIDI/synth in *hardware*, not a softsynth setup. D> D> This brings me back to those people in the last, third D> group here. These may be the sort of users who will D> cut&paste build instructions from the website into their D> shell....and lucky for them, we've got it all nice, D> straight-forward and easy for everyone to do just that... D> (cause and effect ;) , and you know, they'll do all D> this....they will come to the project site, read the D> building page instructions, svn co the repo (or download D> 'release'), cut&paste their blessed hearts away and end D> up with a working custom wx installation tree *AND* a D> working jazz++ binary ready to go.... D> D> ....and have no idea that they DO NOT have a hardware D> MIDI/synth soundcard, and absolutely no idea they'll D> need a softsynth setup instead before they'll actually D> -hear- anything....and if this is allowed to happen, D> they will blame jazz++ for this bad experience....deserved D> or not. Yet another possibility, is that in their search D> to resolve their need for a softsynth setup, they may be D> lured away from jazz++ by some other 'competing' piece D> of similar software they notice along the way. D> D> Once a user...any user...hits the jazz++ pages, he/she D> should, at their fingertips as it were, be presented D> with every possible piece of useful and critical D> information they need 'now' to get jazz++ up and D> running, and actually **hear** the results of their D> software toils. Imagine the disappointment of a novice D> thinking they'd done all the 'hard stuff' right, but it D> still didn't make any noise. Disappointment can be a very D> bitter pill, and you don't want users going somewhere D> else for their medicine. You don't want a plethora of D> email either... D> D> What do you think about all of that? Here are my thoughts: 1. I think Jazz++ could also be used as an instructional tool. 2. As long as there are a handful of people interested in development/documentation/using Jazz++ I'll probably continue to work on it. 3. The fact that almost every Windows box has a has a software synthesizer driver with the sound card gives end users immediate satisfaction on this platform (i.e. they can play MIDI files without additional HW). I'm pretty sure the same will be true of recent Macs. If you want to document the setup and use of various Linux software MIDI synthesizers like the JACK/FluidSynth/Qsynth with Jazz++, that would be fantastic and I'll put the content on the Jazz++ web site. 4. I need to get the code in a state so it is worth generating binary distributions. That may take a while, but I'm working on it. 5. I know how I want to generate the docs. It applies to the distribution and web content. If I get everything setup, maybe you can help me fill in the actual content. 6. I'm really enjoying the process and the people I'm meeting electronically. D> I would be very pleased to type up a lot of that content D> for you, if you so wish? You are now a little familiar D> with my english skills, and that I have some idea which D> end of GCC bites the hardest, and based on the rationale D> above I think it's well worth it. I had all this in mind D> doing the jack/flsynth/qsynth thang....(I actually D> had to get around to installing qt4 first ;)...that process D> was decidedly less painful than I last remember it, after D> getting over that Mac-alsa (not alsa ;) powered binary D> situation that is....... I'll definitely take you up on that "content generation" offer. I committed a change to configure.ac that will get that working on a Linux box, but break the Mac build. Maybe you could update and try the latest. What Linux distribution are you using? D> If you like the notion, I do. D> I was thinking something along the following lines......; D> D> Documentation ---- D> D> [content] D> D> user's manual (this will no doubt come as functionality D> increases) I have an idea of how I want to implement this one. We should move that dsicussion over to the developer's list. D> tips&tricks (ditto above, how to use jazz++ inbuilt D> features) D> D> /////// I wonder who's going to write all of that? Did D> you 'inherit' any user docs as well? I have some to start with, but I need to organize it and get it building. D> /////// The one saving grace is at least it's D> common documentation for all build flavours... D> D> /////// The following however is linux-centric D> D> [+linux] D> D> //...something like..; D> D> linux hardware and software MIDI/synth systems D> (what they are, who needs what, why) D> what are soundfonts? (both hardware&software D> systems may use soundfonts, what & why & where) D> using jazz++ with hardware based MIDI/synth D> soundcards (list of cards, anything pertinent... D> ie; soundfont loaders) D> using jazz++ with software based MIDI/synth + a D> soundcard (howto get the jack/flsynth/qsynth D> combo up & running with jazz) Sounds great! D> //...I can do the next one just as soon as I dig D> the korg & PC-MIDI box out of the pile downstairs... D> D> using jazz++ with PC hardware MIDI adapter & MIDI D> capable musical instrument D> D> //...you could include another section about D> using jazz++ with..for example, AMS, Spiralsynth, D> etc etc D> D> What do you think? Windows + Mac users will...I'm D> afraid...have to hope one of their own ranks D> is willing to put in a similar effort. Someone D> with more relevant experience with those OS' D> anyhow... I actually used my M-AUDIO Uno cable and M-AUDIO Delta 1010 device to play MIDI files with Jazz++ in Windows by plugging them in and attaching them to my Roland drum kit. It just worked (TM) :-) D> I believe it would be facilitative for project D> profile and growth to have such informations D> 'all in one place' as it were. If it's as easy D> and clear as possible for users to go from URL to D> working, audible, MIDI sequencer output with D> jazz++, more people *will* use it, and I can D> surely think of no better way (here) to help D> take jazz's past reputation away from where it D> was based on people's previous experiences with D> it, and into the better light of today where D> you want to take jazz++ -now-. Sounds great. Thanks for putting so much thought into this. Looks like I'll be working on Jazz++ this weekend :-) Pete |