lol, yes, sure. But why don't you sound horrified?
Version control at least is essential for something of any size with any number of people working on it. You must be able to "revert" a set of changes quickly and reliably if the application has any importance at all.
Don't want to be rude here, but version control is clearly not "required" in the strict sense. Plenty of software has been developed without it. Now I wouldn't want to work at a place without version control either, but it is as required for developing software as seat belts are required for driving a car. Less even, since at least for seat belts they are required by law.
People manually control versions all the time. Ctrl + C, Ctrl + V on a project folder to make a version. I have doubts that someone developed any nontrivial software without that approach.
I can't help but feel it is heavily impacted by ambience of the recording as well. The midi is of course a very rigid and literal interpretation of what the model is hearing as pitches over time, but of course it lacks the subtlety of realizing a pitch is sustaining because of an ambient effect, or that the attach is is actually a little bit before the beginning of the pitch, etc.
If it could be enhanced to consider such things, I bet you would get much cleaner, more machine-like midis, which are generally preferable.
Yeah, articulation should be standardized in the midi specification. It's always a custom mapping to control it even when proper articulations are available. "Oh cool, custom mapping?!", you might say. Wrong. It sucks, because it tends to make old old scores utilizing articulation unusable because the mapping was stored in some obscure plugin configurations divided amongst many plugins.
It would be great if articulation messages were standardized, and then you could just expect them to be there, and if they are absent, the soundfont can simply fall back to the closest thing available. That kind of helpful logic is not possible with custom mappings.
Has been tried. Check Spitfire's UACC attempt. There are way too many articulations and ways of naming them to get a complete list, and even when there would be such a list, you'll be asking yourself "hmm, this says Long Con Sordino Sul Pont", but this 'soundfont' doesn't have that. What to replace it with?".
Bear in mind that not all sample libraries have articulations. Some of the more modern libraries and plugins include a modelling component, or are pure modelling, which allows you to use controllers to get those articulations in a much more flexible way.
Off-the-shelf .sf2 files containing full-GM instrument banks simply don't have sharp attack samples. I hope they will start having them, but I don't know what it takes. Are single-instruments (or .sfz files) more likely to have them? Adding support in soundfont players for selectable articulation? MIDI 2? "Just buy a commercial plugin?"
SF2 ... forget it. SFZ can do this sort of thing already, as can Kontakt format and also Decent Sampler.
SF2 is dead. It was never capable enough as a format to deal with what really needed to be dealt with. It is a quintessentially dated technology, and unless your requirements for sample libraries are very limited ("make a gong-type sound when I hit middle C"), SF2 is not for you.
To my knowledge there are no GM SFZ instrument packs which contain enough instruments to play any MIDI file out there (https://github.com/sfzinstruments/Discord-SFZ-GM-Bank has like 10 melodic instruments so far). So I have to pick instruments from the ground up when creating a DAW project (and I don't have a good collection yet), rather than using a unified full-GM bank as a starting point. And don't even think about downloading (eg. Doom) MIDI files and playing them in a soundfont of choice.
What's the spiritual successor to General MIDI? Or is the concept no longer viable for (or even wanted by) mainstream electronic, or even semi-orchestral, composers?
I would say that there is no longer a viable GM-like concept.
Take a look at the libraries released by Spitfire Audio. You won't find anything remotely like a GM-style collection.
There's a buzz word of the day - "cinematic" - that has been defining new sample library releases for a while now. They are definitely not focused on "here's a sort of complete set of sounds corresponding to traditional instruments".
People generally want more unique sounds. Maybe a GM bank is a good starting point for people who will work with fairly traditional instrumentation (even they eventually switch away from the GM bank itself). But it's not much use for people wanting more distinctive timbres and textures, and for "cinematic" work (read: games, films, soundscapes), that's normally the goal. It's also where, for now, the money is.
The most "GM-like" experience I've encountered in a modern commercial product is the Kontakt factory library. It has almost complete General MIDI 1 coverage, plus a handful of random additions (a dozen electric pianos, samples recorded from some vintage synths, an SATB choir singing six different vowels, several drum kits...)
The quality is good, but it's not in the same league as specialised libraries. There are usually only two or three velocity layers (for example, the choir can only sing a subdued "aaa" or an intense "AAA"). The orchestral instruments only come with a few articulations, and the guitars and pop brass only provide one articulation each. None of the instruments have sampled legato.
Unfortunately, I think this is probably the quality ceiling for a sample library with good General MIDI coverage. If you were to add more velocity layers, articulations and legato transitions, the number of samples would start to grow exponentially, and the cost of the library would grow to match. I'm not sure there's any way around it.
I went through a phase where I was trying to put together a really comprehensive collection of samples, but in hindsight it was a fool's errand - you'll get diminishing returns fast, unless you're willing to spend huge amounts of money. Accurately emulating a live performer is a nice option to have, but it isn't actually a requirement for making good music. Huge amounts of excellent music has been made using synthesiser presets, or using instrument samples which would be considered "cheap" or "low-quality" nowadays. As long as you're willing to adapt your compositions to the instruments you have available, rather than stubbornly writing string melodies which could only be performed by a real-life violinist, you'll do well.
> As long as you're willing to adapt your compositions to the instruments you have available
I've seen SNES and DS games whose sample sets handle staccato and sharp attacks better than the average soundfont out there. The cover I posted is worse than the original DS game in this aspect. I assume the Kontakt factory library is competent enough to get this right though.
I assume sample packs can't handle wide pitch bends and precise vibrato that well either. Synthesis is probably better, but the pricing I've seen is insane (but probably justified considering the complexity of simulating acoustic instruments).
This is quite a good example of the hard limitations of high-quality sampling. If you composed a violin melody line which absolutely needed a fast attack, Kontakt (a £359 library) would give you:
- A "sustain" articulation with fast attack on the loudest dynamic (which also happens to be molto vibrato), but a slower attack on quieter dynamics
- An "attack" dial which can emulate slower attacks, but not faster ones
- A "staccato" articulation which has an instant attack, but a duration of about 0.5 seconds
- No legato, so even if you get the attack right, fast runs and ornaments are going to sound a little strange
I've encountered similar limitations with dedicated orchestral libraries. If it's not the attack, it's the expression, or the maximum note duration, or the speed of an ornament, or the timbre of the specific instrument they recorded, or something else which always dangles perfection just out of your reach.
I suspect you'd have similar problems with even the most expensive sample libraries; it's one more reason to opt out of that game altogether. If you lower your standards for audio fidelity, your musical freedom increases. When you're composing for the Nintendo DS, nobody's going to notice if you manually tweak the attack of your string sample, or fake an ornament using pitch-bend, or crossfade between two velocity layers.
SWAM is one possible escape route, but you're correct that it costs a fortune. It also has high CPU requirements, so you might need to bounce your SWAM parts to an audio track, and you'd have limited ability to put together seven SWAM violins and call it a "violin section".
I think you are right in many respects. I would not consider myself one of the accused luddites, but in their defense, this ethos isn't baseless.
First and foremost, the luddites you speak of are programmers or sys admins. They have been using terminals and are still using terminals daily, and they see the benefits that those tools have to offer. Namely, they see composable, interoperable programs that abide by the philosophy that programs "should do one thing well" as the bench mark for real progress. I would say I agree with the merits of this perspective. But I still use VSCode in addition to vim, because I'm not a zealot and there are times when I want to edit something in a very flexible way that VS Code better facilitates.
Both ways of doing things have their merits I suppose. It just hurts a bit to see something simple and powerful be wrapped and rewrapped in progressively less helpful proprietary systems and given a JS front end that lacks all of the focus and freedom that charmed us with the systems to begin with.
I think it is perhaps a function of the way we train ourselves to be workers that passively accept tasks to occupy our attention. Much of school and many jobs provide anywhere from a drip to a torrent of regular units of work for us to focus on, and this occupies a huge part of time and training.
In the past, we used to criticize television for its passive, zombifying effect on the viewer. Games are more engaging. In truth, people like being actively engaged, and they are very accustomed to being actively engaged without the cumbersome work of directing their own activity.
Completing complicated tasks is, in a way, relatively easy. Defining tasks, reflecting on priorities, and allocating time to work on them--and importantly, suffering the emotional consequences of real world success or failure--is sometimes less pleasant. Games are maximally engaging and minimally taxing. That is their magic.
The competition for the best schooling so that you can get the best job can indeed yield significant benefits for the winners. The private sector judges prestigious universities to be high-value; those universities use SATs to judge which students are high-value; and students judge universities as high-value based on their perception of what the private sector values.
All of this is apparently a filtration system designed to find the best and brightest candidates. Presumably, as many have mentioned, these are people with high IQ. And indeed, high IQ people are extremely noticeable when you are around them. They are frequently faster, more incisive, and have a knowledge base that is both deep and wide.
...And many of them are unproductive, valueless fuck-ups with poor temperaments for almost any work requiring a social component (i.e. almost all work). They have substance abuse problems. They have personality disorders. They lie. And many of them are also wonderful people.
I'll take a medium-bright, tenacious, responsible worker with a degree from a state school or community college any day of the week over some moneyed primadonna who is too busy trying to display their own cleverness to focus on the task at hand.
All of this judgement is stupid because it discounts character. Medium aptitude coupled with hard work can and does produce excellence. Focus, care, and attention to detail are at least as important as intelligence. The filtration process closes doors for these people.
Lastly, though this only an anecdote, anyone who's worked in the professional world has had the pleasure of running into idiot attorneys from prestigious schools. People who send e-mails full of misspellings, careless factual errors, and incorrect legal assertions beyond their specific scope of legal knowledge. Trust me, these people exist, and it's extremely difficult to explain how they exist if the filtration system is really the meritocracy it claims to be. It is frequently hacked as a vehicle for privilege.
The problem is that our legislators famously do not write or even read the legislation that they vote on. Sometimes it's strategic and intentional that a party will try to hold a vote on some 1000+ page piece of legislation with 24 hour notice. Other times, they simply don't care to read it, so they do not.
Actual lobbyists write actual legislation, in fact. And our politicians vote on them without having read it. It's a really stupid system.
It's easy to say that, but what do you expect the platform to provide? If the platform makes operating your business so trivial that they provide all functionality baked into the product, I would suggest that your business may lack novelty, and therefore it may also lack competitiveness.
"No code" doesn't mean you don't have to implement things yourself. You are simply limited to the platform's baked in abstractions in exchange for "not having to write code".
Your services may eventually not map well to the capabilities of the platform, and it may cause problems. In such cases, the easiest and likely best solution is to offload functionality to a private server running custom code that interacts with the interfaces to the existing platform.
The whole "no code" thing is spun as "empowering entrepreneurs", but there is a philosophy underlying it that implementation details don't matter, and programmers aren't needed. It may be true for some businesses who are in non-technical sectors, but if you are selling digital services themselves "no code" will only take you so far.
Version control at least is essential for something of any size with any number of people working on it. You must be able to "revert" a set of changes quickly and reliably if the application has any importance at all.