NOTION 4: Vision for the Future
Posted: Sat Nov 05, 2011 1:47 pm
NOTION is the foundation for my digital music production system on the 2.8-GHz 8-core Mac Pro here in the sound isolation studio, and (a) everything is working very nicely with NOTION 3, (b) I can do everything that I need to do, but (c) doing some things requires a bit of additional work that can and should be easier to do, so the purpose of this topic is explore the vision for NOTION 4 with the specific goal of providing some practical insights, where "practical" is a key focus, in the sense that there are lots of things that NOTION 4 might do, but the reality is that doing things requires software designing, engineering, and testing on two platforms, which no matter how it is done is not a trivial endeavor, and this strongly suggests to me that it makes a bit of sense to identify the important things . . .
(1) Full 64-bit Version: From my perspective, this is the most important thing for NOTION 4, and it solves a lot of problems caused by the current limitations of the 32-bit application workspace . . .
(2) 64-bit ReWire: This is part of (1), but it warrants being listed specifically . . .
(3) Local SQL Database and Artificial Intelligence Music Composition System: Both operating system platforms (Mac, Windows) have local SQL database engines, and using them productively does not require advanced rocket science. On the Mac, the local SQL database engine is SQLite, and the easiest way to work with it is directly using "old school" C/C++ API and standard SQL, since CoreData is so patently abstruse and goofy that it is beyond mind-boggling that anyone would waste time trying to use it. Windows has a similar SQL database engine, which is nice, but there is a Windows version SQLite, which is intriguing, since there is merit to being able to do essentially the same activities on both platforms . . .
The primary purpose of providing a local SQL database to solve the problem of having somewhere to store data, and the advantage is that it avoids having to mess with flat files and other types of data storage and retrieval systems that are highly platform specific or proprietary to the point of being very difficult to use . . .
Explained another way, if you are going to be a gourmet chef, then you need a pantry, and a local SQL database is an excellent pantry, and when it is used correctly, it is easy to use, for sure . . .
For sure!
In some respects, "Artificial Intelligence Music Composition System" might appear to be a bit complex, but the concept is easy to understand, and it makes sense . . .
Currently, as best as I can determine, there are three ways to input the notes for an instrument, where (a) one way is to use the mouse to input notes one at a time, (b) another way is to use a MIDI keyboard or MIDI guitar to input notes, and (c) the third way is to open another NOTION 3 score that already has notes and then to copy those notes to the clipboard, followed by pasting the notes into an instrument in the other NOTION 3 score . . .
Doing it one note at a time with the mouse is slow, but it works, and doing it with a MIDI device tends to require one to be able to play the notes correctly, since otherwise you are back at the one-note-at-a-time mouse strategy, and copying existing musical phrases from one NOTION 3 score to another NOTION 3 score either (a) requires both scores to be open or (b) requires opening and closing the scores multiple times when only one can be open at any given time, which is not very practical . . .
Another aspect of inputting notes and musical phrases is the fact that there are standard types of musical phrases, where for example there are different types of scales, which can be ascending or descending, and there are standard types of arpeggios, drumkit rhythm patterns, chord patterns, and so forth and so on . . .
My thinking on this is that it tends to be easier and faster (a) to be able to input a two octave ascending harmonic minor scale in a small series of user interface actions and then to modify a few of the notes individually than (b) to do everything one note at a time with the mouse or to do it with a MIDI device, since with a MIDI device you need to switch focus from the computer to the MIDI device, and you have to have the MIDI device nearby . . .
And this is where the "Artificial Intelligence Music Composition System" comes into play, because it makes it possible to select either (a) a standard musical phrase or (b) a user-created custom musical phrase and then to have the selected musical phrase inserted into the instrument staff at the current location . . .
This might appear to be vastly complex, but in terms of software designing and engineering it is not a complex activity once the local SQL database infrastructure exists and the user-interface stuff exists, and the reason it is not a complex activity is that when it works for two musical phrases, it works for hundreds of thousands of musical phrases . . .
Another thing the "Artificial Intelligence Music Composition System" can do is multivoice harmony, where based on one of several different styles and types of harmony, the various harmony lines can be generated by computer algorithms and then added to the notes of a selected melody or whatever, and this also can be done for one note, which effectively makes it an easy way to assign a chord based on a note, where for example if the note is "Middle C", then one can make it a C Major Chord with a click or two by selecting the chord rather than inputting E and G (for a simple triad) . . .
There is a lot of stuff like this that is easy to do on a piano or electric guitar, and it should be just as easy (if not easier) to do on a computer, since the computer software can provide clues and assistance, which is something that a piano or electric guitar cannot do . . .
Doing it on a piano or electric guitar requires (a) that you know how to play the chord and (b) that the chord can be played, which is not always the case with electric guitar, since playing some types of chords requires two electric guitarists, which also can be the case with piano chords but usually only when there are more than 10 notes . . .
At the more advanced level, it should be possible to generate a musical phrase via a mathematical formula or some type of visual geometric pattern, which might a feature reserved for a later version, although it could be something that can be provided by third-party add-on tools . . .
For DISCO, Pop, Rock and Roll, Rhythm and Blues, Heavy Metal, and so forth, the reality is that there are a lot of standard musical phrases, and this includes user-defined custom musical phrases, which although not "standard" for everyone else nevertheless are standard for an album concept or whatever . . .
As an example, so far I have done three songs using essentially the same basic set of notes, but varying things in one way or another, which currently I do by cloning the first song and then modifying it to create a new song, and while this works, it is easier to do it via selecting and retrieving musical phrases from a local SQL database . . .
"I'm Going Goo-Goo Over Ga-Ga" (The Surf Whammys) -- MP3
"Put It O' Me" (The Surf Whammys) -- MP3
"Feel Me" (The Surf Whammys) -- MP3
I have a well-defined system for doing songs this way, but I should be able to do 5 or 10 of them a day, which with a bit of advanced software designing and engineering should not be a difficult thing to do, which is where having a local SQL database and an "Artificial Intelligence Music Composition System" becomes vastly productive . . .
(4) SDK/API for Third Party Developers: This is an excellent opportunity to create and define a standard for digital music composition using music notation and virtual instruments, and the important thing is to make it possible for third party developers to use the internal structures of a NOTION 4 score in ways that make sense, which includes having the ability to create add-on products, utilities, widgets, and so forth and so on, where the general idea is that it works nicely for iTunes, VST plug-ins, and VSTi virtual instruments, and it makes a lot of very useful and fascinating stuff both practical and possible, where for example some folks might want to create database libraries of musical phrases for electric bass, electric guitar, drumkits, and so forth, and other folks might want to focus on advanced systems for generating musical phrases based on mathematics and geometry, and my thinking is that Apple has established the legal foundation for being a sole distribution channel, which is an excellent way to ensure consistent quality, standards, and so forth, as well as to create a fair and reasonable revenue stream that makes it easier for individuals to create and market useful products without needing to mess with creating and managing corporations, doing a bunch of accounting stuff, and providing a downloading and retail web server, since the store infrastructure is handled by Apple. And since NOTION 3 has digital licensing protection, this same technology can be used for third-party products sold at the Notion Music Store, which provides yet another valuable service for third-party developers, and there probably is a practical way to do this, which might be as simple as Notion Music doing a simple digital licensing "helper" application that does a bit of verifying at start-up time, which I think makes more sense than doing it the way VST plug-ins and VSTi virtual instruments handle activation, licensing verification, and so forth . . .
(5) MIDI and Rules Editor: At present, I do not know a lot about this, but there are plenty of ongoing discussions, so it is important, and there should be a way to make it easier to work with MIDI and rules. The information is known, and from the perspective of software engineering it should not be difficult to provide a simple visual editor that makes is easy to examine and to modify these things, where for example NOTION 3 does MIDI export, but I have not been able to determine how to read the MIDI data in an exported MIDI file. Rules are not so difficult to read, since they are in text-based files, but the discussions regarding rules all have warnings about bad stuff happening if a change is made incorrectly, so I think there should be a way to make this easier and safer, as well as being something that can be done within the NOTION application user interface, as contrasted to needing to switch to a text editor or whatever and running it outside of NOTION, which probably requires stopping and restarting NOTION, or at least reloading the applicable score, and it is useful to observe that this could be something that a third-party developer might want to do if there is a NOTION SDK/API for Third Party Developers . . .
(6) Video Editing Support: This also is something about which I do not know a lot, but it also appears to be something that is important, and I have an interest in it, since I am planning to do more music videos. From a practical perspective, this has the potential to be a vastly complex activity, but the reality is that there are Digital Audio Workstation (DAW) application that support this stuff, and Final Cut (Apple) works with most of them, so rather than wander into duplicating the stuff that DAW and video-editing application already do, I think the practical solution is to provide sufficient support for the things that DAW and video-editing applications need to be able to work with a NOTION score productively, which can be things like timestamps, markers, and so forth, and a few folks should know which things are needed . . .
(7) Surround Sound (Multichannel): I am not doing anything with surround sound or multichannel sound, but it certainly is on the horizon, and it is important for certain types of video-editing support, although this might be better as a later enhancement. The primary consideration from a practical perspective is that doing surround sound and multichannel sound requires extensive modifications to the NOTION Mixer, which is not a trivial endeavor, and yet another reality is that it makes no sense to support it if you cannot hear it in NOTION, which tends to suggest that this might be handled better via 64-bit ReWIre, especially if there is a way to split a NOTION stereo track into a pair of separate monaural tracks, each with its on individual ReWire channel. In other words, I prefer to have all the other stuff than not to have it at the expense of the NOTION Mixer duplicating what I already can do with Digital Performer or Logic Studio, even though at present I do not have Logic Studio. I see no added value in wandering NOTION into the DAW universe, and in fact consider it to be a vast waste of valuable resources, because the reality is that the DAW application market is mature . . .
NOTION needs to have a Mixer, but it does not need do all the things that an advanced DAW application does, which from my perspective defines two practical purposes for the NOTION Mixer, one of which is to be able to get a sense of how instruments sound when played together all within the NOTION user interface environment and the other of which is to do the things that are necessary to make it possible for NOTION to interact with an advanced DAW application in terms of sending it generated audio and so forth, which is where 64-bit ReWire comes into play, as does MIDI . . .
(8) Increase Retail and Developer Pricing: Based on the premise that the most important items (see above) are provided in NOTION 4, then I think that the retail price should be $499.95 for new customers and the upgrade price should be $249.95 for existing customers. This is consistent with the retail pricing for Digital Performer (MOTU) and Logic Studio (Apple), and while NOTION does something different, it nevertheless is a key component of the complete system for doing digital music production, and in great contrast to Digital Performer and Logic Studio, there are no alternatives . . .
And I think it is fair and reasonable to charge $249.95 per year for a NOTION 4 Developer Subscription, which is approximately the amount that Apple charges me per year for being a Mac and IOS Developer, and it would not be entirely off-the-wall to have a separate NOTION 4 Developer Subscription for each platform (Mac, Windows), since some folks will want to focus exclusively on just one platform, at least initially . . .
The reality here in the sound isolation studio is that NOTION is the foundation of my digital music production system, and I much prefer (a) to pay more to ensure that it continues to be enhanced and upgraded than (b) to pay less but have nothing new . . .
If only the first item in my list is done (full 64-bit version), this alone is worth $249.95 to me, and I like the idea of having a NOTION 4 Developer Subscription, since it maps to being able to create a new product for doing something vastly useful, even if I only use it here in the sound isolation studio . . .
Lots of FUN!
(1) Full 64-bit Version: From my perspective, this is the most important thing for NOTION 4, and it solves a lot of problems caused by the current limitations of the 32-bit application workspace . . .
(2) 64-bit ReWire: This is part of (1), but it warrants being listed specifically . . .
(3) Local SQL Database and Artificial Intelligence Music Composition System: Both operating system platforms (Mac, Windows) have local SQL database engines, and using them productively does not require advanced rocket science. On the Mac, the local SQL database engine is SQLite, and the easiest way to work with it is directly using "old school" C/C++ API and standard SQL, since CoreData is so patently abstruse and goofy that it is beyond mind-boggling that anyone would waste time trying to use it. Windows has a similar SQL database engine, which is nice, but there is a Windows version SQLite, which is intriguing, since there is merit to being able to do essentially the same activities on both platforms . . .
The primary purpose of providing a local SQL database to solve the problem of having somewhere to store data, and the advantage is that it avoids having to mess with flat files and other types of data storage and retrieval systems that are highly platform specific or proprietary to the point of being very difficult to use . . .
Explained another way, if you are going to be a gourmet chef, then you need a pantry, and a local SQL database is an excellent pantry, and when it is used correctly, it is easy to use, for sure . . .
For sure!
In some respects, "Artificial Intelligence Music Composition System" might appear to be a bit complex, but the concept is easy to understand, and it makes sense . . .
Currently, as best as I can determine, there are three ways to input the notes for an instrument, where (a) one way is to use the mouse to input notes one at a time, (b) another way is to use a MIDI keyboard or MIDI guitar to input notes, and (c) the third way is to open another NOTION 3 score that already has notes and then to copy those notes to the clipboard, followed by pasting the notes into an instrument in the other NOTION 3 score . . .
Doing it one note at a time with the mouse is slow, but it works, and doing it with a MIDI device tends to require one to be able to play the notes correctly, since otherwise you are back at the one-note-at-a-time mouse strategy, and copying existing musical phrases from one NOTION 3 score to another NOTION 3 score either (a) requires both scores to be open or (b) requires opening and closing the scores multiple times when only one can be open at any given time, which is not very practical . . .
Another aspect of inputting notes and musical phrases is the fact that there are standard types of musical phrases, where for example there are different types of scales, which can be ascending or descending, and there are standard types of arpeggios, drumkit rhythm patterns, chord patterns, and so forth and so on . . .
My thinking on this is that it tends to be easier and faster (a) to be able to input a two octave ascending harmonic minor scale in a small series of user interface actions and then to modify a few of the notes individually than (b) to do everything one note at a time with the mouse or to do it with a MIDI device, since with a MIDI device you need to switch focus from the computer to the MIDI device, and you have to have the MIDI device nearby . . .
And this is where the "Artificial Intelligence Music Composition System" comes into play, because it makes it possible to select either (a) a standard musical phrase or (b) a user-created custom musical phrase and then to have the selected musical phrase inserted into the instrument staff at the current location . . .
This might appear to be vastly complex, but in terms of software designing and engineering it is not a complex activity once the local SQL database infrastructure exists and the user-interface stuff exists, and the reason it is not a complex activity is that when it works for two musical phrases, it works for hundreds of thousands of musical phrases . . .
Another thing the "Artificial Intelligence Music Composition System" can do is multivoice harmony, where based on one of several different styles and types of harmony, the various harmony lines can be generated by computer algorithms and then added to the notes of a selected melody or whatever, and this also can be done for one note, which effectively makes it an easy way to assign a chord based on a note, where for example if the note is "Middle C", then one can make it a C Major Chord with a click or two by selecting the chord rather than inputting E and G (for a simple triad) . . .
There is a lot of stuff like this that is easy to do on a piano or electric guitar, and it should be just as easy (if not easier) to do on a computer, since the computer software can provide clues and assistance, which is something that a piano or electric guitar cannot do . . .
Doing it on a piano or electric guitar requires (a) that you know how to play the chord and (b) that the chord can be played, which is not always the case with electric guitar, since playing some types of chords requires two electric guitarists, which also can be the case with piano chords but usually only when there are more than 10 notes . . .
At the more advanced level, it should be possible to generate a musical phrase via a mathematical formula or some type of visual geometric pattern, which might a feature reserved for a later version, although it could be something that can be provided by third-party add-on tools . . .
For DISCO, Pop, Rock and Roll, Rhythm and Blues, Heavy Metal, and so forth, the reality is that there are a lot of standard musical phrases, and this includes user-defined custom musical phrases, which although not "standard" for everyone else nevertheless are standard for an album concept or whatever . . .
As an example, so far I have done three songs using essentially the same basic set of notes, but varying things in one way or another, which currently I do by cloning the first song and then modifying it to create a new song, and while this works, it is easier to do it via selecting and retrieving musical phrases from a local SQL database . . .
"I'm Going Goo-Goo Over Ga-Ga" (The Surf Whammys) -- MP3
"Put It O' Me" (The Surf Whammys) -- MP3
"Feel Me" (The Surf Whammys) -- MP3
I have a well-defined system for doing songs this way, but I should be able to do 5 or 10 of them a day, which with a bit of advanced software designing and engineering should not be a difficult thing to do, which is where having a local SQL database and an "Artificial Intelligence Music Composition System" becomes vastly productive . . .
(4) SDK/API for Third Party Developers: This is an excellent opportunity to create and define a standard for digital music composition using music notation and virtual instruments, and the important thing is to make it possible for third party developers to use the internal structures of a NOTION 4 score in ways that make sense, which includes having the ability to create add-on products, utilities, widgets, and so forth and so on, where the general idea is that it works nicely for iTunes, VST plug-ins, and VSTi virtual instruments, and it makes a lot of very useful and fascinating stuff both practical and possible, where for example some folks might want to create database libraries of musical phrases for electric bass, electric guitar, drumkits, and so forth, and other folks might want to focus on advanced systems for generating musical phrases based on mathematics and geometry, and my thinking is that Apple has established the legal foundation for being a sole distribution channel, which is an excellent way to ensure consistent quality, standards, and so forth, as well as to create a fair and reasonable revenue stream that makes it easier for individuals to create and market useful products without needing to mess with creating and managing corporations, doing a bunch of accounting stuff, and providing a downloading and retail web server, since the store infrastructure is handled by Apple. And since NOTION 3 has digital licensing protection, this same technology can be used for third-party products sold at the Notion Music Store, which provides yet another valuable service for third-party developers, and there probably is a practical way to do this, which might be as simple as Notion Music doing a simple digital licensing "helper" application that does a bit of verifying at start-up time, which I think makes more sense than doing it the way VST plug-ins and VSTi virtual instruments handle activation, licensing verification, and so forth . . .
(5) MIDI and Rules Editor: At present, I do not know a lot about this, but there are plenty of ongoing discussions, so it is important, and there should be a way to make it easier to work with MIDI and rules. The information is known, and from the perspective of software engineering it should not be difficult to provide a simple visual editor that makes is easy to examine and to modify these things, where for example NOTION 3 does MIDI export, but I have not been able to determine how to read the MIDI data in an exported MIDI file. Rules are not so difficult to read, since they are in text-based files, but the discussions regarding rules all have warnings about bad stuff happening if a change is made incorrectly, so I think there should be a way to make this easier and safer, as well as being something that can be done within the NOTION application user interface, as contrasted to needing to switch to a text editor or whatever and running it outside of NOTION, which probably requires stopping and restarting NOTION, or at least reloading the applicable score, and it is useful to observe that this could be something that a third-party developer might want to do if there is a NOTION SDK/API for Third Party Developers . . .
(6) Video Editing Support: This also is something about which I do not know a lot, but it also appears to be something that is important, and I have an interest in it, since I am planning to do more music videos. From a practical perspective, this has the potential to be a vastly complex activity, but the reality is that there are Digital Audio Workstation (DAW) application that support this stuff, and Final Cut (Apple) works with most of them, so rather than wander into duplicating the stuff that DAW and video-editing application already do, I think the practical solution is to provide sufficient support for the things that DAW and video-editing applications need to be able to work with a NOTION score productively, which can be things like timestamps, markers, and so forth, and a few folks should know which things are needed . . .
(7) Surround Sound (Multichannel): I am not doing anything with surround sound or multichannel sound, but it certainly is on the horizon, and it is important for certain types of video-editing support, although this might be better as a later enhancement. The primary consideration from a practical perspective is that doing surround sound and multichannel sound requires extensive modifications to the NOTION Mixer, which is not a trivial endeavor, and yet another reality is that it makes no sense to support it if you cannot hear it in NOTION, which tends to suggest that this might be handled better via 64-bit ReWIre, especially if there is a way to split a NOTION stereo track into a pair of separate monaural tracks, each with its on individual ReWire channel. In other words, I prefer to have all the other stuff than not to have it at the expense of the NOTION Mixer duplicating what I already can do with Digital Performer or Logic Studio, even though at present I do not have Logic Studio. I see no added value in wandering NOTION into the DAW universe, and in fact consider it to be a vast waste of valuable resources, because the reality is that the DAW application market is mature . . .
NOTION needs to have a Mixer, but it does not need do all the things that an advanced DAW application does, which from my perspective defines two practical purposes for the NOTION Mixer, one of which is to be able to get a sense of how instruments sound when played together all within the NOTION user interface environment and the other of which is to do the things that are necessary to make it possible for NOTION to interact with an advanced DAW application in terms of sending it generated audio and so forth, which is where 64-bit ReWire comes into play, as does MIDI . . .
(8) Increase Retail and Developer Pricing: Based on the premise that the most important items (see above) are provided in NOTION 4, then I think that the retail price should be $499.95 for new customers and the upgrade price should be $249.95 for existing customers. This is consistent with the retail pricing for Digital Performer (MOTU) and Logic Studio (Apple), and while NOTION does something different, it nevertheless is a key component of the complete system for doing digital music production, and in great contrast to Digital Performer and Logic Studio, there are no alternatives . . .
And I think it is fair and reasonable to charge $249.95 per year for a NOTION 4 Developer Subscription, which is approximately the amount that Apple charges me per year for being a Mac and IOS Developer, and it would not be entirely off-the-wall to have a separate NOTION 4 Developer Subscription for each platform (Mac, Windows), since some folks will want to focus exclusively on just one platform, at least initially . . .
The reality here in the sound isolation studio is that NOTION is the foundation of my digital music production system, and I much prefer (a) to pay more to ensure that it continues to be enhanced and upgraded than (b) to pay less but have nothing new . . .
If only the first item in my list is done (full 64-bit version), this alone is worth $249.95 to me, and I like the idea of having a NOTION 4 Developer Subscription, since it maps to being able to create a new product for doing something vastly useful, even if I only use it here in the sound isolation studio . . .
Lots of FUN!