Jump to content


Photo

RAS - Renoise Accompaniment System


  • Please log in to reply
90 replies to this topic

#1 Renoised

Renoised

    Member

  • Normal Members
  • PipPip
  • 24 posts

Posted 13 July 2017 - 12:58

Edit: split from this topic

 

Regards the implementation of a chord system in Renoise, let me explain something I don't think is coming across properly.

 

The key thing here is "Instant Gratification".  It's the very same reason Casio and Yamaha have been sucessfully selling millions upon millions of Auto Accompaniment keyboards for decades and continue to do so.  "Instant Gratification" is the key to success, whereas "inaccessibility" is the key to disaster.  So which is it to be?

 

Turn on a Casio or Yamaha Auto Accompaniment keyboard, and without even the slightest bit of musical talent, you can sound like a superstar!  Casio and Yamaha know this is winning ticket, always will be.  These systems give the customer a sense of achievement even though all they actually achieved was pressing a key.  Now ask yourself, how many DAWs out there have a built-in Auto Accompaniment system with chord recognition like these keyboards do?

 

Fact is, due to Renoise being a "Tracker", the way it's designed means it is the perfect candidate to have such an accompaniment system added to it.  They could add a new file-type to Renoise, one that stores "Auto Accompaniment" files, so that you can create, load, save, and share these files between other users.  Now here's the powerful part.  A lot of the auto accompaniment keyboards do not let you create your own accompaniment styles, so you're stuck with whatever they give you.  This would NOT be the case with Renoise.  You would see the tracks of an auto accompaniment scolling on-screen just as you would any other Renoise track or pattern.  The beauty. of course, is that you can edit those accompaniments in exactly the same way.

 

Now here is the biggie ...

 

Imagine you have no musical skill whatsoever, and you fire-up Renoise for the first time (the way it is now).  We all know, there is no way on earth you are ever going to get "Instant Gratification" from it.  In fact, it's highly likely the interface looks so alien you'll hit the uninstall button and look for something else.

 

Now look at it another way, the way I'm suggesting here ...

 

Again, you have no musical skill whatsoever and you fire-up Renoise for the first time.  But wait, there are some brightly coloured chord pads at the bottom centre of the screen.  Out of all the buttons in view, you are almost certainly going to press one of those first.  And here's the thing, pressing that chord pad gives you "instant Gratification" because as soon as you press it, a beat starts playing, a bassline starts playing, and all of it is using the chord you pressed.  This means you're already winning.  Cause you've gone from scaring the crap out of a new user, to something that sparks their interest and keeps them pressing instead!

 

So they press another chord, and they hear it change key.  Hey, this is cool, they think to themselves, and before even two minutes are up, they realise they've figured-out a complete chord progression.  All without understanding any music theory, and all without understanding a single aspect of Renoise.  The important thing to remember is that "Instant Gratification" has pleased the user enough to want to stick with it.  And why wouldn't they?  I mean, they've just banged-out a complete chord progression for a song withing minuites of firing it up for the first time!  The professionally designed Auto accompaniemt pattern that was following the chords they pressed, made them sound like a superstar!

 

Like I said, there's a reason Casio and Yamaha have successfully cornered this market for decades ... "INSTANT GRATIFICATION".

 

So anyway, they get that far within minutes, so they're alread hooked.  But it gets even better, because it's not long until they realise that the patterns they see scrolling up the screen are actually the accompaniment patterns they're triggering.  That's when it suddenly hits them ... hang on a minute ... I can actually edit these auto accompaniment patterns.  I can change the beat, I can change the bassline, I can change absolutely anything I want to!

 

THIS IS FREAKING AWESOME!!!

 

And for those of us who are already comfortable with the more technical side of Renoise, guess what this means for speeding-up the input and creation of complete songs?

Exactly, it would cut your note-inputting workload massively, because most of the worlkload has been offloaded onto the auto accompaniment side of things.

 

Renoise needs this, it's design is gagging for it, and Renoise is the most suited DAW out there to have such a system integrated into it.  An auto accompaniment system with chord recognition (and chord pads to play them by) would give Renoise the ability to do that "Instant Gratification" thing.  It would make it massively less daunting to a newcomer, and speed-up the writing and performing of complete songs in a very big way.


Edited by danoise, 16 July 2017 - 23:20.

  • DANKMEISTER. likes this

#2 Renoised

Renoised

    Member

  • Normal Members
  • PipPip
  • 24 posts

Posted 13 July 2017 - 20:50


My brother-in-law now uses FLS12 as a rookie, and I mock him because he's slow  :D We laughed a lot!

 

Well that's just mean :D

 

As for the "Auto Accompaniment Chord System", it's not just "Instant Gratification", it's "Permanent Gratification".

Seriously, it would be the most productive thing ever added to Renoise since it's creation!

 

If they were to go ahead with such a thing, maybe even open-up a competition before release, so that any of the musicians here who wanted to, could create some Accompaniment Patterns ready for it's launch.  Someone good at Techno could make some Techno patterns, someone good at Trance could do Trance, someone good at the 80s stuff could knock out some killer 80s patterns.  At launch, that would mean the users get plenty of jaw-dropping accompaniment patterns to be going on with.  Then, when Renoise users realise they cannot live without it, more and more people create patterns for it in different genres.  Before you know it, you have a download section on the Renoise site dedicated to Style Files for the "Renoise Accompaniment System" (RAS), all categorised by genre!

 

Think big, peeps, you know you want this, you know you do, you all do :D



#3 Fsus4

Fsus4

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 140 posts

Posted 14 July 2017 - 01:48

As for the "Auto Accompaniment Chord System", it's not just "Instant Gratification", it's "Permanent Gratification".

Seriously, it would be the most productive thing ever added to Renoise since it's creation!

 

If they were to go ahead with such a thing, maybe even open-up a competition before release, so that any of the musicians here who wanted to, could create some Accompaniment Patterns ready for it's launch.  Someone good at Techno could make some Techno patterns, someone good at Trance could do Trance, someone good at the 80s stuff could knock out some killer 80s patterns.  At launch, that would mean the users get plenty of jaw-dropping accompaniment patterns to be going on with.  Then, when Renoise users realise they cannot live without it, more and more people create patterns for it in different genres.  Before you know it, you have a download section on the Renoise site dedicated to Style Files for the "Renoise Accompaniment System" (RAS), all categorised by genre!

 

Think big, peeps, you know you want this, you know you do, you all do :D

 

Adding BIAB (Band in a box) capabilities to Renoise is an excellent idea that would probably attract lots of new users to discover Renoise and the tracker approach to sound sculpture. The nuts and bolts for a "RAS" is actually already there today and a prototype to inspire further native development could certainly be crafted by seasoned Lua scripters.

 

Basically what needs to be done here for such a scripted protoype is a GUI/script window where the user specifies a chord sequence (e.g. "Dm | C | Fsus4 | F") and then the script copies those patterns named "Dm", "C", "Fsus4" and "F" to the first couple of patterns in the song arranger. Also the script could let the pattern matrix enable/disable variations and add-ons to those styles patterns.

 

Of course, today we can already build the unique "styles templates" and save them as techno.xrns, waltz.xrns, reggae.xrns... one Renoise song file for each style. Within such styles song files there could be a myriad of chord patterns, with their "pattern description field" being the trigger link to the chord pattern itself. Like this:

 

30hyglu.png

 

And since Renoise .xrns are self-contained when sample based and using only native effects, there are no compatibilty issues involved in the distribution of such "styles" .xrns files.

 

Maybe Renoise & Co would actually boost the sales and gain more publicity if they made Renoise the software free (as in beer) and instead charged users for being granted access to a user community website containing "styles", scripts, unlocked subforums (leave only the Help section open for everyone), samples and more. At least it's a perspective that deserves some thought IMO.

 

Also consider the burden and pressure from demanding, whining, spoiled so called "paying customers" that would be lifted off Renoise developer's back -- he could just polish on the software with small bug fixes and optimizations, but declare Renoise as essentially being "finished" as a product, the same way a piece of hardware equipment is "finished". Nobody can complain on a product when the product itself won't cost you any money. ;)

 

On a personal note... I love Renoise and have been using it since 2002, that's some 15 years! However. I think it's about time that we all drop the notion of Renoise being a "DAW", or a "DAW under development" that should strive to get all the so called "standard DAW features" and be able to do everything the "other DAWs" do, and instead focus on Renoise the unique tool, the Swiss Army Knife, i.e. what Renoise is really good at: sample mangling (sample sequencing), detail level composition and automation, loop and beat making, sound design. Just export the cool stuff you're making in Renoise to (organized) audio files and start to learn how to use them as building blocks for fully arranged and mixed songs in other DAWs -- and enjoy a much greater music making experience if you're interested in making a few high-quality arranged, mixed and mastered full length songs rather than only getting thousands of 4-bar loops stored as Renoise songs with strange file names and collecting dust on your HDD. Make all those thousands of .xrns files and all that time invested in tracking really useful and continue to be creative outside of Renoise's limitations!


Edited by Fsus4, 14 July 2017 - 02:51.


#4 Raul (ulneiz)

Raul (ulneiz)

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 882 posts
  • Gender:Male
  • Location:Spain

Posted 14 July 2017 - 11:34

@Fsus4, I have shared many comments with you. But once again I disagree about some of your comments.

 

I firmly believe that Renoise only needs a minimum of support and maintenance, which is not so difficult. To do it free seems to me out of place and of little control. If Renoise today is what it is, it is because there has been someone behind controlling it. I think it's free enough for have the API available to create tools. With a little more polishing, it is that you can make many very good tools, but of course with serious people who know of code, not like most who create tools that we are novices with little experience, and of course then tools come out with a pair of mistakes that in the end does not use anyone, and are more a personal thing than to believe that something intended for the whole community. People are not to learn the manias of each creator. So, if you want some added, do it yourself. That is the philosophy, thought years ago precisely to alleviate the current situation, and is that the support is "paused", so to speak.

 

Free ? but if people do not even deal with the API tools for LUA. There is a whole world there. In the end it all sounds great, but it's thinking deeper and you start seeing problems everywhere. If it were free with a manager behind overseeing every change or added, then it would be something else. But that is impossible.

 

Recently a Renoised has suggested the inclusion of a feature for Reniose, something like the Cubase Chord Pad. This might seem so complicated, you can build it with a tool, at least to enter the notes, instead of writing 1 note parent, write 3 (a father and two childs) in a line. That is very simple to do. Then buttons to trigger groups of notes and chord pad, made in an afternoon of code.

 

A little reminder...

  • Airman protested long ago about the lack of information, and rightly so. The man is now with another DAW.
  • Andrey Marchenko had to endure as some contradicted him, when only asked for an improvement of the automation editor. He ended up fed up and left. You will not see it any more in the forums. The same users of Renoise are stoned among themselves, when everyone should think that Renoise's evolution will always be positive.
  • Roppenzo is up to the balls of the situation and it is not unusual to feel that way.
  • FFX he does not stop saying truths like fists, like his last comment. It is that most of the things that are important are not many and are feasible to be solved. But Taktik is not here, he's on another project. As long as he does not appear, there will be no news. And when he appears he will look astonished, as if everything that moves in the forums were abnormal.
  • Fsus4 wants Renoise with free code, apparently because there is no continuity in the support ...
  • etc, etc...

But they all have one thing in common. They see that Renoise has enormous potential, and is not being squeezed entirely by its main developer. Now it seems that continuing with the development of Renoise is a problem, but is not... Composing music, creating tools and waiting for Taktik, there is no other way.


:excl: Development of my tool: GT16-Colors

 

:excl: My API wishlist R3.1 (updated 18 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 18 July 2017):

Spoiler

#5 Renoised

Renoised

    Member

  • Normal Members
  • PipPip
  • 24 posts

Posted 14 July 2017 - 16:17

"Band In A Box", wow, I haven't seen that for years, but wasn't that based on pitch-shifting live recordings to use as accompaniment?  I supposed it's changed a lot since I last saw it, but just to be clear, I'm talking about using sound genetated in Renoise for the sound, not live recordings (although that would be great to have added later, once RAS was in place).

 

Regards the scripting, that sounds great, just as long as the scripting gives you enough power to implement it in the usual, accepted way.  For example, no matter whether you use a Casio or Yamaha, they all follow the same principle of having three types of track:

 

1 - Rhythm/Percusssion = Does not transpose with chord changes.

2 - Bass = Transposes with chord changes using a method suited to basslines.

3 - Melody = Transposes with chord changes using a general method suited to melodies.

 

They also have things in common such as chord change sync:

 

1 - Change at next tick

2 - Change at next beat

3 - Change at end of pattern

 

They also have a setups such as two intros, two mains, two fills, and two endings, so that all of this together is what comprises a complete "Accompaniment Style".

 

I think the RAS specification should follow these accepted ways, but with the addition of allowing you to specify how many of each track type an accompaniment is made up of.  You could have, say, two Ryhthm/Percussion tracks, two Bass tracks, and four Melody tracks.  Whatever you like, really, depending on what you want to do.  But either way, you definitely need to consider that accompaniment systems always have at least three types of tracks (those shown above).

 

Now if you can do all of that with scripting, and create a toggle button near the on-screen keyboard that will let you toggle between Keyboard view and Chord Pad view, that would be great.  You would also need to be able to specify the split point of the keyboard in keyboard view, so that when users play it from their MIDI keyboard, only the left area of the keyboard starts triggering awesome sounding accompaniments.

 

And if possible, like I said, make those chord pads bright and noticable, and have Renoise boot-up in that mode for newcomers.  Make sure the first thing they press is a chord pad so that some amazing-sounding accompaniment starts playing, one they can change the key of with every press of a different chord pad.  Somthething like that would actually be pretty addictive.  The worst thing you can do is implement it and not have it noticable.  Or implement the system with no accompaniments ready to go out-of-the-box.  If such a feature is done right, designed right, and promoted right, it will grab peoples attention for sure.

 

So picture this, you're in Chord Pad view with very noticable chord pads.  Bright and cheerful sounding chord pads are bright coloured, while sadder sounding chords are more muted in their colouring.  Directly above the chord pad view there is the usual tracker view of Renoise, but the only difference is that the rows of tracks they can see are actually the tracks of the accompaniment.  They see a rhythm track in the first column, a bass track in the second, and a couple of melody tracks in the third and fourth.  As soon as they hit a chord pad, those patterns scroll up the screen just like any other pattern does.

 

They're getting instant gratification, and at the same time, they realise that the patterns they see are the patterns of the accompaniment, and that in turn means they realise they can edit them!

That would be one fantastic sounding, seriously enjoyable, and seriously productive music making tool :walkman:


Edited by Renoised, 14 July 2017 - 16:22.


#6 Raul (ulneiz)

Raul (ulneiz)

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 882 posts
  • Gender:Male
  • Location:Spain

Posted 14 July 2017 - 17:38

Do not forget the Phrase Editor inside the Sampler. With it you can create chords in several slots, and use any selected parent key as a trigger. You can play up to 12 diferent notes at a time. You can create an instrument with different sounds, and create different sounds with the press of a single key (in total you have 120 triggers (keys) to choose from). Then save all your chords in a single preset file XRNZ with "Export Phrase". You can import the phrases into any instrument. Spend a little time creating your chords, and you will not need any tools with bright colors.

 

Maybe an official and exclusive tutorial video about the Phrase Editor would be feasible. Many still do not know how to use it.

 

 

...libraries: XRNL, phrases: XRNZ...

 

wiki: http://tutorials.ren...i/Phrase_Editor


:excl: Development of my tool: GT16-Colors

 

:excl: My API wishlist R3.1 (updated 18 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 18 July 2017):

Spoiler

#7 Fsus4

Fsus4

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 140 posts

Posted 14 July 2017 - 17:58

"Band In A Box", wow, I haven't seen that for years, but wasn't that based on pitch-shifting live recordings to use as accompaniment?  I supposed it's changed a lot since I last saw it, but just to be clear, I'm talking about using sound genetated in Renoise for the sound, not live recordings (although that would be great to have added later, once RAS was in place).

 

[...]

 

They're getting instant gratification, and at the same time, they realise that the patterns they see are the patterns of the accompaniment, and that in turn means they realise they can edit them!

That would be one fantastic sounding, seriously enjoyable, and seriously productive music making tool :walkman:

 

BIAB has been around since 1990, and has always been quite focused on generating midi data. The later (optional) hybrid midi & audio files stuff for the styles was added because live musicians and song writers wanted "real drums" and "real guitars" to back their performances.

 

Now based on my experience, BIAB is the kind of software many producers will use in secret but won't talk much about. What some electronic music producers will do is to build their own styles in BIAB, arrange complex chord sequences, and then export the .mid files for each track, import them into Renoise or Reason or whatever and then assign new instruments/samples/devices to playback the midi tracks, and also post-edit that midi note data itself.

 

Another similar (but not as complex) tool is ChordPulse:

 

chordpulse_welcome.png

 

Speaking of "instant gratification", here's my old post about that where I introduce similar ideas as you do:

http://forum.renoise...noise/?p=351111



#8 Fsus4

Fsus4

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 140 posts

Posted 14 July 2017 - 19:25

Do not forget the Phrase Editor inside the Sampler. With it you can create chords in several slots, and use any selected parent key as a trigger. You can play up to 12 diferent notes at a time. You can create an instrument with different sounds, and create different sounds with the press of a single key (in total you have 120 triggers (keys) to choose from). Then save all your chords in a single preset file XRNZ with "Export Phrase". You can import the phrases into any instrument. Spend a little time creating your chords, and you will not need any tools with bright colors.

 

If triggering chords is the thing, then midi plugins such as Xfer Cthulhu offers an even quicker way to do it in Renoise. However, the concept of a Casio/Yamaha "Auto Accompaniment Chord System" in Renoise is not so much about triggering chords as such, it's more about triggering entire pattern arrangements with lots of instruments. If Renoise had multi-phrases, so that you could trigger 64 tracks with different instruments and sequences with one keystroke, then this would be possible yes. But today in Renoise 3.1 such multi-phrases don't exist. In BIAB you just enter "Dm" and hit play and the software will playback the chosen style in D-minor, i.e. not just a oneshot "chord". You can enter hours of playback with very complex chord sequences switching styles, trigger alterations, etc. It's an extremely convenient and inspirational tool for song writing and melody creation, I highly recommend to check it out even though it's really is one hell of a piece of ugly bloatware -- quite the opposite of Renoise's non-bloated GUI.

 

The point in having the default demo version of Renoise "booting up" in instant gratification mode (which of course should be possible to turn off in the Preferences), with more eye-candy and easy to click stuff, is simply to get more users "on the hook" so to speak. I think this is an excellent idea which could even be distributed as freeware to maximize the spread around the globe. A new demo user just starts such Renoise version (could even be called something else), previews all the 128 styles included, selects the style "1980's - Italo disco" and then starts clicking on the colorful pads with pre-configured chord sets (which should just as easy be possible to switch into another chordset, or change chords on the pads/buttons by double clicking on them). So when the user single clicks the pad-button with a "Dm" on it, an entire 24 tracks/channels pattern is triggered in Renoise that has been arranged to play in D-minor.

 

Again, observe that we can "somewhat" already do this today -- I certainly have been doing it for ages in Renoise. What I do is simply to build all the chord patterns and then copy/move/drag them around in the song arranger to make a chord progession. Also observe that you can trigger patterns in Renoise via MIDI-keys, just assign a specific key to trigger a specific pattern. However, that's the kind of stuff that new demo users won't find instantly, it will take them weeks or months to learn Renoise and then maybe they'll discover all the cool features. Very unnecessary when many new users could be properly introduced to the world of tracking with just a little bit more instant gratification from the start.



#9 Raul (ulneiz)

Raul (ulneiz)

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 882 posts
  • Gender:Male
  • Location:Spain

Posted 14 July 2017 - 21:56

@Fsus4. Be aware that I would be enchanting with new features that can be turned on or off. This does not hurt the essence of Renoise. But in this case, if the intention is to attract more people, I get the feeling that when you start in Renoise with this chords and so on, it's like skipping a step. Are not supposed that new users have not notions of music? Begin with chords and more? If they start playing chords and more, they will not understand the initial essence of Renoise: load a sample or instrument, write loose notes on the pattern, and play. It seems as if the idea was to introduce a kind of introductory toy that catches the eye.

 

Perhaps it would be more honest and productive that the installation package included very well explained videotutorials on each panel, and that people seeing Renoise for the first time, have a single click of the mouse videos (something that goes well with the eyes) to To learn to handle the most basic things. Having the videos on the internet or downloading is one more step that people usually ignore (It would suffice with a menu that puts HELP/VIDEO TUTORIALS, and within it each topic to deal with, although it is with internet connection (videos from Youtube, or Vimeo ...)). With all due respect, most new people are in "stupid mode" when they start running a program. He knows practically nothing. For those of us who know Renoise, it seems strange to us that others are not attracted to or have difficulty learning four basic notions about Renoise, but at first Renoise can be a bad-tasting candy.

 

There are demonstrations of songs as tutorials, but they do not have the same effect (there is not a person explaining anything). And also, it seems that this DAW is more focused on free music and crazy than more serious things. I miss musical pieces of different styles and quality in the installation package something that sounds pretty good, like the song Fly With ME of Medievil-Music, which it is a good job. If it sounds spectacular, with quality, people will want to learn. If it is strange, experimental music, it is something else. And let me state that I respect all styles, but there are topics that are more "commercial" or "with hook" than others... 

 

But in the end, that Renoise does not have so much hook is not his fault either, but for the rest of existing DAWs and the great amount of content on the internet about them, a lot of publicity, events, many videos, amateur people talking and sharing experiences in social networks, that is what gives hook.

 

This topic is essential. Not even in these forums there is one dedicated to VIDEOS about Renoise. Is there fear in showing what people do? Recently Composing_gloves include video tutorials in "General Discussion" forum. There is no forum dedicated to videos! Renoise is 16 years old. It would be possible to add "more toys" for people to have fun at first, but it would also be better to think about all this before...


Edited by Raul (ulneiz), 14 July 2017 - 22:00.

:excl: Development of my tool: GT16-Colors

 

:excl: My API wishlist R3.1 (updated 18 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 18 July 2017):

Spoiler

#10 Renoised

Renoised

    Member

  • Normal Members
  • PipPip
  • 24 posts

Posted 15 July 2017 - 13:51

@Fsus4

Hey I spotted the "instant Gratification" post, lol, seems we're thinking on the same wavelength then.  I'm pleased there's someone here who understands the power and necessity of a system such as RAS, and what it would do for Renoise and it's users.  I love ChordPulse as well BTW, I've had it for some time now, and that's another developer who knows how to design a quality program!

 

I think we might need to work on Raul a little though, get him on the RAS bandwagon :D

 

 

@Raul

For some reason, you seem to think of RAS as a toy.  RAS is far from being a toy, it's the exact opposite; it's a serious production tool.  RAS would be the most advanced, configurable, accompaniment system available, simply because, it would be integrated into Renoise, therefore allowing every aspect of an accompaniment to take advantage of the raw power of Renoise!  Would you call a Yamaha Tyros a toy?  A Yamaha Tyros costs thousands because it's a professional, completely programmable accompaniment machine - a proper song-writing tool.  Renoise would be no less, it would be even more.  Pretend for a moment that you had a super-expensive accompaniment keyboard, one like the Tyros that is priced in it's thousands.  Imagine this keyboard was so sophisticated that you could edit every aspect of every style.  Imagine that every style used a completely independent synthesizer to generate it's sound.  That every synthesizer of every accompaniment track could be put through a bunch of independent effects, ones you have complete control over.  Imagine the machine was so powerful there was nothing whatsoever from stopping you configuring the system however you like, unilimited power!

 

That's what RAS would be.  It would be like having a crazy-advanced Tyros built onto Renoise, one so advanced that even Yamaha won't be able to match in hardware for another 20 years yet.  It would take Renoise from being a pro quality sound design tool, to also being a professional arranger, composer, music production tool.  From the very first chord you settle on, to the final master to be sent off for vinyl pressing - RENOISE!

 

So RAS is not a toy, it's a serious music production tool.  The benefit it brings to newcomers is that it "hooks" them instantly, and ensures they stick with the system due to how enjoyable and productive it is to use.  Having something that can tick all the right boxes is the ticket to success, but it HAS to be done right.  RAS ticks all the boxes.  Instant gratification, serious power, incredible productivity.  With RAS, you're not going to be sat there with a frown on your face while you labrously input chords and melodies manually.  You're going to be able to play them in directly.  You're going to be able to work-out epic chord sequences on-the-fly.  You're going to be able to throw together complete songs at light-speed in comparison to the way you do it now.

 

But you're only going to be doing this in such a slick way, if they actually implement RAS.

 

 

 

Listen to the attached video as an example, an 80s track, and just imagine, if after booting-up Renoise for the first time, the Renoise team had chosen an 80s-style accompaniment to be the default.  So the user hits a chord pad and a RAS accompaniment starts platying, sounding something like that.  In short, the user is going to think, WOW!!! ...cause it would mean the beat track sounds solid due to it being pre-configured by some Renoise guru to sound nice and solid.  It would mean the bassline track would sound fat due to it running through a bunch of Renoise effects processors.  Then the user presses a variation button and hears the melodic part of the accompanient come in as well, which again, has been setup by some guru here to sound epic and polished, using the Renoise sampler and compressors etc.  The user is going to get ALL of that, all that professionalism, and all by simply playing chords and changing variations on-the-fly.  They're going to sound every bit as polished and professional as that real 80s track you just heard.  And that's the thing, RAS needn't have that toy keyboardish vibe going on (unless you wanted it to), because RAS has the complete sound-processing horsepower of Renoise at it's heart.

 

All possible because of RAS, and all because of the "Instant Gratification" and sheer power RAS would make accessible even to a newcomer!

RAS, peeps, it's what would be on the lips of DAW users the world over, if Renoise had it :walkman:


  • encryptedmind likes this

#11 The_Traveler

The_Traveler

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 121 posts
  • Gender:Male
  • Interests:Exploring timbrality ...

Posted 15 July 2017 - 14:38

"They're getting instant gratification ..." Well, if that's what one is after, there are plenty of music (and I use that term loosely in this case) applications already available.

 

Renoise is a tracker. Comparing it feature-wise to anything else other than a tracker, or expecting to be anything more than a tracker is pointless IMO. Frankly, if Renoise had ZERO support for vsts for instance, it would still be about the most capable tracker I can think of and I've used quite a few of them over the last few decades. ;)

 

Point in case: Dig up some old .xm tracker files and load them into Renoise. Listen to them. Some of them are pretty well done. Now, consider for a moment the software they were created on, which was considerably more primitive, and then think what improvements you could make to the song just using the existing tools in Renoise.

 

You can add all the bells and whistles you want, but it's your BRAIN, not fancy vsts, arpeggiators, built-in improvisational tools, etc, that creates real music.

 

Ok, now, back to my coffee and Prozac.

 

Cheers.


Edited by The_Traveler, 15 July 2017 - 14:56.

  • encryptedmind and DANKMEISTER. like this

#12 Renoised

Renoised

    Member

  • Normal Members
  • PipPip
  • 24 posts

Posted 15 July 2017 - 15:43

Traveler, so you're taking the 'Tracker Purist' approach, and so am I, but I'd prefer a tracker that doesn't become extinct.

 

Just so you know, there's been talk of turning it into a "Piano Roll" type thing, and if that ever happened, I'd drop it like a bad smell.  I'd go back to Cubase.  I prefer Renoise to remain a tracker.  RAS is the sort of thing that would work hand-in-hand perfectly with the "Tracker" environment (it's a tracker in it's own right) and could have been made for the Renoise environment.  That means it has the likelyhood of keeping Renoise a tracker, cause there would be no need to turn it into a regular DAW in order to make it more productive.  RAS would make Renoise more productive than any DAW out there, and it would remain a tracker.  People seem to think that following the usual "Piano Roll" approach is the answer to better productivity in Renoise, but it isn't, RAS is - and that way it remains a tracker.

 

Peeps need to be inventive, smell the roses, and realise that the "Tracker" environment is ideal for RAS, and is why it would fit in so well.  Maybe Renoise will be the first, maybe not, but either way, the idea is out there, and there is nothing you could add to Renoise that would be so powerful, so productive, and such a 'draw' for bringing new users on board.

 

Regards the other stuff, about it being your "BRAIN" that creates music.  Yeah, you're right.  But it's also your "BRAIN" that tells you there has to be a quicker and more musical way of inputting notes and melodies.  It's also your "BRAIN" that ultimately says ... "fuck it" ... this is far too time-consuming, there has to be a better way to work-out and input chord progressions, to input rhythm, to experiment with musical styles etc.

 

There is, it's called RAS.

 

Anyway, gotta disappear now, busy.  But I hope more Renoise users will see the power, beauty, and convenience of RAS, and show the idea some support.  If that doesn't happen, you ain't getting it unless the devs are wiser than you, realise it's power, and go ahead and implement it anyway.  So far, there are only two of us here who realise the power this would bring Renoise, and that's quite shocking actually.  RAS would transform Renoise from what is incomprehensible to some, into an addictive music production powerhouse - and all without changing or removing anything you already love about Renoise, the tracker.



#13 Raul (ulneiz)

Raul (ulneiz)

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 882 posts
  • Gender:Male
  • Location:Spain

Posted 15 July 2017 - 16:47

...

 

@Raul

For some reason, you seem to think of RAS as a toy. ....

 

Renoised, I have never spoken of RAS, although it is obvious that you love it and you focus all the attention on it. Reread my previous comment the day you return. In fact, I think I've never written "RAS" in all these forums.

 

I mean anything that was added initially as mere visual attraction, with colorful buttons and all that, to attract more people, as a chord pad, it is rather a support tool for people who already have clear notions of music, not for people who start. What is perhaps an attraction is: make the process of introducing simple notes more attractive, and there is nothing better than showing results (that is the summary of all my previous comment). The most appealing are demo videos, with people commenting. Include one more toy to start people, you will need another instruction manual. And the word "toy" is not contemptuous here. For a professional, a Tyros keyboard can be a great toy to play with. And proud to call it that!

 

On the other hand, I get the feeling that some users are "addicted" with your customs. Anyone who comes from other products to compose digital music, with Renoise is necessary change the chip a bit, free the mind from certain vices. Just leave the canvas blank and accept what he offers you. From here, ask for what you want...

 

Learn the commands of the alphanumeric keyboard and see how quickly you enter notes in the pattern editor, and not only enter notes, but modify them and modify them in group and that is the challenge that has new people, learn mainly to handle the tracker, with form of pattern editor.

 

Renoise has many commands that work wonders with the data already entered. Creating a pattern-track with chords is as simple as building a column (placing the notes), duplicating it twice and pitching both to adjust. It does not take 7 seconds to create such a duplication. Then duplicate the pattern down with matrix editor to infinity. You can fill 4 minutes of that chord in seconds. Then, adjusting other things, like the delay parameter and others is already another story. Many things people ask are to go faster. But in the background, there is no one faster than an expert composer with a tracker like this, knowing all the commands well and being agile with the alphanumeric keyboard. There are a few around here with those skills...

 

I'm sorry, but I have not talked about RAS  ^_^ . It sure is wonderful. But look at the current situation with Renoise. Do not expect much with updates in a few months...

 

...

 

These forums with fresh or new ideas are interesting. I wish everything was possible ...


:excl: Development of my tool: GT16-Colors

 

:excl: My API wishlist R3.1 (updated 18 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 18 July 2017):

Spoiler

#14 The_Traveler

The_Traveler

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 121 posts
  • Gender:Male
  • Interests:Exploring timbrality ...

Posted 15 July 2017 - 17:50

 

Traveler, so you're taking the 'Tracker Purist' approach, and so am I, but I'd prefer a tracker that doesn't become extinct.

Well, I'm not so sure it's a "purist" approach, rather a "pragmatic" one. ^_^

 

Cheers.



#15 Renoised

Renoised

    Member

  • Normal Members
  • PipPip
  • 24 posts

Posted 15 July 2017 - 19:21

@Raul

Thanks for the clarification.

 

@The_Traveler

Whatever term you feel most comfortable with.



#16 Fsus4

Fsus4

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 140 posts

Posted 15 July 2017 - 21:07

A bit of clarification is perhaps needed here:

 

Technically speaking, the so called "chord pads" are actually just an alternative visualization of the existing pattern triggers, as they are currently implemented in Renoise today in the pattern sequencer. Just press the > playback symbol to the far left to schedule the next playback of any pattern:

 

3.1_sequencer-triggering.png

 

http://tutorials.ren...ttern_Sequencer

 

You can also map each pattern to be triggered by MIDI, for example a MIDI-keyboard or a Launchpad:

 

3.0_midimappablecontrols.png

 

http://tutorials.ren...log_at_a_Glance

 

 

Which means you can get for example a Launchpad with nice colored pads/buttons, and each will trigger a specific pattern.

 

Now this concept -- triggering patterns by pressing a visual pad/button -- is a concept that is proven to work among many musicians/producers, otherwise there wouldn't be such a market for these hardware devices. 

 

The clips that Ableton Live and Bitwig Studio offers are more advanced than Renoise in the sense that they could be triggered and played independent of each other, while Renoise can't play for example track 05 on pattern 01 at the same time as track 06 on pattern 04 is triggered. Renoise can only playback one whole pattern at a time.

 

However, what Renoise does offer today is a way to trigger patterns and to schedule the playback of multiple patterns. What would it take to make new users get more "instant gratification" from their first experience with Renoise (for example, while trying out the demo)?  Sure, they could load up techno.xrns or waltz.xrns as "styles songs" and start scrolling some 256 patterns in the pattern sequencer -- yay, don't you think that's lots of fun? Intuitive? Easy to overview?

 

Now the next logical step for Renoise, and the general idea here, is to offer an easy-to-access grid of pads where each pad is linked to a specific pattern (manually linked or pre-configured). You single click the pad and the currently assigned pattern is triggered (i.e. starting to playback in loop mode). Such a grid of pads would have color markings and custom names independent of the pattern names (such as chord names, but could be anything). So, the pads are then pointers to specific patterns and should therefore also be possible to re-assign to some other pattern by double-clicking on the single pad.

 

Now the crucial part here is that such a "set of pads" should be switchable, i.e. it should be possible to load/save (import/export) such a "pads configuration" so that the user could browse different set of pads on the fly, while still being on the same loaded .xrns song file. That would mean such a "styles .xrns" could contain 512 patterns, but now offereing a fast way to preview multiple suggested "pattern chains", i.e. loading sets of patterns that work well together and visualized by the organization of pads (naturally, it should also be possible to detach that window and place them full screen on a second monitor, and of course -- MIDI map those pads to i.e. a Launchpad).

 

So, to conclude: This is far from a "toy", it's something many users -- especially potential new ones -- most likely would appreciate. The concept is proven to work well for e.g. Bitwig and Ableton. It's an extremely powerful arranger tool if you combine it with the capabilities of the pattern matrix (such as turning individuals tracks on/off) as well as a way to get more "instant joy" out of Renoise for many people.

 

I would also suggest that such pads would be able to contain just the XML pattern data, instead of triggering a specific pattern, so that more seasoned users could build a library of "common pattern editor place-out-contents" (such as chords, or anything really) and easily place them out at the editing cursor in the pattern editor just by pressing the assigned pad. It's really something like this that is needed for Renoise to take the tracking experience into the next level, building further upon the existing features of Renoise 3.1.


Edited by Fsus4, 15 July 2017 - 21:53.

  • Raul (ulneiz) likes this

#17 Renoised

Renoised

    Member

  • Normal Members
  • PipPip
  • 24 posts

Posted 15 July 2017 - 21:52

@Fsus4

After seeing your new post, turns out you're thinking quite differently to what I had in mind.

 

What you just pointed out about the way Renoise can already handle things, I wasn't aware of some of that, nice!

For example, I like the way you can cue patterns, but is there a way to dictate when the cued pattern gets triggered, is it always at the end of the pattern or are there such options as "change on beat"?

 

Regards the other stuff you go into, the stuff you'd like to see, the only problem with it is that it doesn't appear to have chord recognition.  That's the problem with Renoise, it lacks actual chord recognition, so that you can input any pattern as just one chord, and the system will take care of the rest, transforming it to any other chord based on the keys you play.  Without chord recognition, it means the user needs to know the chords from the start, and which notes each chord is made up of in order to make the chord, and they have do do each one manually.

 

That's the problem, Renoise has no 'chord recognition' system.



#18 Fsus4

Fsus4

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 140 posts

Posted 15 July 2017 - 22:08

@Renoised

 

If you're talking about a 'chord recognition system' similar to the Yamaha/Casios, you need to take into account that these are based on actual synthesizers and not sample playbacks (which is the case in Renoise).

 

For a sample based system like Renoise, you need to build "static" patterns for every chord you want to play as a full pattern arrangement (i.e. consisting of multiple tracks and multiple instruments).

 

My proposed idea is just the next logical step for a tracker compatible workflow, building further on the capabilities that Renoise already have.



#19 Renoised

Renoised

    Member

  • Normal Members
  • PipPip
  • 24 posts

Posted 15 July 2017 - 22:18

Shouldn't make any difference whether it's instruments are sample based or synthesized, all a chord recognition system does it transpose the notes.

 

BTW, is there an offline User Manual for Renoise?

The machine I have Renoise on is not connected to the net, so I have to keep switching between computers just to read the manual.


Edited by Renoised, 15 July 2017 - 22:18.


#20 Fsus4

Fsus4

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 140 posts

Posted 15 July 2017 - 22:34

Shouldn't make any difference whether it's instruments are sample based or synthesized, all a chord recognition system does it transpose the notes.

 

BTW, is there an offline User Manual for Renoise?

The machine I have Renoise on is not connected to the net, so I have to keep switching between computers just to read the manual.

 

Offline manual in PDF-format:  http://files.renoise...User Manual.pdf

 

Even with high-quality samples for several octaves, you still need to configure each "style" so that the algorithms know what to transpose and what not to transpose (such as drum samples, etc).

 

The Arranger-type Yamaha/Casios keyboards are based on a system of pre-configured conditional input logic: If the user presses down the keys D2-F2-A2 (or A1-D2-F2, or F2-A2-D3, etc) at approximately the same time in the left key-split range, this is interpreted as a "D-minor" chord, and the system therefore switches to playback the current style in D-minor. But it's all actually pre-programmed in tables!

 

For Renoise to be able to do something like that, one would need to create a "pre-MIDI-input-conditional-device": something that scans the MIDI-input data for specific note combos in a specific note range (e.g. C1-C4) and then figures out "OK, so D1-F1-A1 are pressed, that means I should render a pattern in real-time that plays everything in D-minor". Because if you want to be able to play more complex chords (or any chord), you need to also manually program lots of styles-specific algorithms and conditionals...

 

I find it hard to see how the dynamic real-time rendering of such pattern XML-data would be possible (it would be too slow). Are you aware of any other music software on the market that does this today (presumably with MIDI data)?

 

It's certainly possible to create such as system if we're talking static patterns -- such as the idea I suggested. All you need then is the "pre-MIDI-input-conditional-device" triggering pads, i.e. the input of MIDI-notes "D1-F1-A1" makes Renoise conclude "Ah, I should now playback the pattern labelled D-minor" and then trigger the pad which is assigned to playback that pattern. :)


Edited by Fsus4, 15 July 2017 - 23:04.


#21 Renoised

Renoised

    Member

  • Normal Members
  • PipPip
  • 24 posts

Posted 15 July 2017 - 23:12

Thanks for the manual link.

 

Oh I know that, the differences between samples and pure synthesis, but what I was getting at was pretty much what you said towards the end of your last reply.  And to that I would answer yes, I absolutely would expect Renoise to be quick enough to recognize a chord and be able to process it fast enough into transposed note data.  There would have to be sometihng fundamentally wrong if it was not fast enough to do that.  But that's the part I'm getting at, the ability to recognize chords, it's not there, there is no chord recognition in Renoise.

 

Any worthwhile accompaniment keyboard, for example, will let you create your own accompaniment styles.  You don't need to know a bunch of different chords, you just input everything in one chord and the system takes it from there, it takes the single chord you created and transposes the notes to whatever chord you want.  Renoise needs to be able to do that.  The ability to take a pattern you created, and transpose it to whatever chord you choose (chord recognition).  It also needs to be able to do that no matter whether you're triggering it live from a keyboard, a set of pads, or from a Renoise sequence.

 

That's essentially what the chord system in Cubase is, it's basically 'chord recognition' done right.

And, it's the sort of thing that would fit even better into a tracker environment than it does into Cubase!

 

So that's what I mean by RAS (Renoise Accompaniment System) :dribble:



#22 Fsus4

Fsus4

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 140 posts

Posted 15 July 2017 - 23:51

OK, so if I get your idea correctly, such RAS would imply this:

 

1. A user starts Renoise and creates a pattern with a pad playing a C-major chord, a bass playing in C-key, and some drums and other instruments.

2. The user playback the pattern in loop mode.

3. The user starts to press down keys on his MIDI-keyboard.

4. Renoise detects if any chord is formed by the pressing of keys, and if so, recognizes which that chord is.

5. Suppose the chord is recognized as "F-minor". Renoise will then transform the entire pattern -- in realtime -- to play not in C-major anymore, but in F-minor.

 

And also (?):

 

1. A user starts Renoise and creates a pattern with a pad playing a C-major chord, a bass playing in C-key, and some drums and other instruments.

2. The user copies the pattern to a new pattern.

3. The user edits the new pattern and changes the chord notes for the pad to F-minor instead.

4. Renoise now automatically changes everything else in the pattern to play in F-minor as well.


Edited by Fsus4, 15 July 2017 - 23:58.


#23 The_Traveler

The_Traveler

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 121 posts
  • Gender:Male
  • Interests:Exploring timbrality ...

Posted 16 July 2017 - 02:11

I don't see how this would work dynamically from user real time input. I'm thinking about danoise's xStream. A module can, for instance, either create note information on the fly or it processes what is already there. Take a look at the demo-notes-scales module in xStream for instance:

-----------------------------------------------------------------------------
-- Restricting to a harmonic scale
-- Try running this example on some existing notes. You will see that
-- notes are being transformed into the selected key & scale.
-- The actual work is being done by 'restrict_to_scale()', a helper
-- method for xStream (OK, a little bit like cheating...)
-----------------------------------------------------------------------------

local existing_note = xline.note_columns[1].note_value
xline.note_columns[1].note_value =
  xScale.restrict_to_scale(existing_note,args.curr_scale,args.curr_key)

Frankly, I think writing a module(s) for xStream and then using it in live mode would be about as close as one can get to this RAS concept currently in Renoise.

 

I could be wrong, just my opinion at this point. :)

 

Cheers.



#24 encryptedmind

encryptedmind

    Member

  • Normal Members
  • PipPip
  • 53 posts
  • Gender:Male
  • Location:India
  • Interests:Jazz, malware, world travel, women

Posted 16 July 2017 - 03:31

@renoise and @raul thank you for your feedbacks.

 

The chord recognition system is very doable and has been around for many other DAWs for ages now. The code logic is not too complicated at all. To make a basic pseudocode which can be done using If-Else and Switch-case statements inside a while loop :

 

1) Initialize user inputs and default function parameters 

 

    initialize arrayOfNotes =[c,C#,d,D#,e,f,F#,g,G#,a,A#,b]

//12 notes of the Western scales, all enharmonic notes (flat/sharps) are taken as sharps internally to simplify

 

2) Gather notes and validate notes from MIDI input and build user array of notes

 

initialize userNoteArray =[d5,f5,a5,c6,e6]

//note name and octave number

//same for enharmonic sequence like [D#5,F#5,A#5,C#6,e6]

 

3) Build the decoding algorithm: 

 

1. Find the lowest octave note in the sequence - provisionally name this as the root note of the chord.

2. Calculate each interval between the notes. This interval distance is purely arithmetic and can be done in a blitz.

3. d5 to f5 is a 3, d5 to a5 is a 7 , d5 to c6 is 10, d5 to e6 is 14.

 

initialize intervalArray=[3,7,10,14]

 

What this number array denotes is the semitones distance of each chord note from the root key d5. The benefit is that the octaves are also recorded along with the note interval distance for numbers greater than 12 which will helpful in decoding chord extensions like 9th, 11ths and 13ths. This is one way of detailing the chord structure. A more simpler way is to tokenize a chord into a Major 3rd or Minor 3rd chord building seq.

 

For instance the 4 main chords can be built using Maj (4 semintones, like e5 to G#5) and Min3rds (3 semitones, like e5 to g5).

 

 Major chord: Maj3 + Min3

 Minor chord : Min3+Maj3

 Diminished chord: Min3+Min3

 Augmented chord: Maj3+Maj3

 

For extensions, we can can simply check if there are any notes from higher octaves and label them accordingly as per Maj3 and Min3 extensions.

 

Major 9th : Maj3+Min3+Maj3+Min3  (CM9 : c,e,g,b,d[octave])

Minor 9th: Min3+Maj3+Min3+Maj3 (Cm9 : c,D#,g,A#,d[octave])

 

and likewise.

 

For this particular array, we can simply calculate the distance between every chord note and check for Maj3 or Min3 intervals.

 

initialize chordStructureArray=[min3,maj3,min3,maj3] or even simpler like [b,a,b,a], for [d5,f5,a5,c6,e6]

 

Since the MIDI input notes can have different times, we need to presort input before we get into chord analysis. Thus if the input sequence is [a5,f5,c6,d5,e6]

it should give [d5,f5,a5,c6,e6].A small presort function can check for MIDI note numbers and sort them in ascending order. The token list if built using two primaries like [a,b] which are inplace of Maj3 and Min3, can be permutated to the length of the chord notes to give the total number of tokens to compare with. For a 5 note chord, we will have 2^power(5) or 32 tokens or types of chords. We can add polychords or exceptions later on after this model works without flaws.

 

 For higher octaves than 2, for the same extension notes we can normalize the values back to 2 octave ranges for chord analysis simplification. 

 

A simple switch case can be made for the most common chord types (Neo Soul type chords and contemporary Jazz chords can be supported later on which will required somemore optimization and exception lists).

 

The above chord lists can be further tokenised to a singular value for the successive mapping and displaying function.

 

switch (chordStructureToken) {

  

case Major:

                 ChordType="Major";

                 Print RootKey+ChordType;

 

case Minor:

                 ChordType="Minor";

                  Print RootKey + ChordType;

 

.......

//and so on

.......

}

 

 

5) So for the final algorithm sequence you have:

 

1) Gather MIDI input notes or pattern data notes to a user array

2) Pre sort them according to MIDI note numbers

3) Populate a chordStructure array and list out the Maj3 and Min3 chord intervals

4) Check against a switch-case chord token list and map accordingly

5) Display the chord name to user or store a data structure in memory or disk for future recall in session or further analysis.

 

function chordObject chordAnalyzer() {

 

bool analyzed=false;

chordObject userChord=new chordObject("blank");

 

while (MIDIINPUT) {

  if (!MIDIINPUT || analyzed) {break;}

  string RootKey=""; string ChordType="";

 

 GatherAndValidateInputData();

 MapInputData();

 DisplayAndStore();

 

analyzed=true;

}

return  userChord;

}

 

 

This is so very doable that it can certainly be done with the existing tools and APIs.

 

For song Key Signature analyses which is different from individual chord analysis, we can go for statistical analysis of song notes and map it back to the the probable song key using a simple Naive Bayes classifier that will check for the probabilities of the individual notes and give the expected key signature for the song. This is again just a couple of divisions to be done and checked for a threshold. This function is possibly the easiest to implement without even going into chord analysis and intervals. Each scale has a preset array of notes. We need to have a conditional probability number preset for each scale pitch class as weights and then calculate the histogram for the input data. Take the histogram analysis scores and map it back to the existing pitch class templates and validate the result.

 

Once the keysignature is analysed or user specified we now have a source and a destination parameter and the existing chords and basslines can be transposed accordingly which is mostly an addition and subtraction process. The algorithm can be tested and optimized for live performance and you will have an auto accompaniment starter code base that should work.

 

From here once the chord structure can be either generated from the same function or analyzed and stored from pattern data or user input via MIDI, we can populate the pattern data with chord notes that we have and build style sheets for popular styles that can do the population of such generated data. This will be like algorithmic composition, where we can specify the number of bars to populate and the type of chord timings to use. Existing MIDI files of common styles can be analyzed and tokenized to built a styles pattern data structure that will encapsulate the chord changes and the resulting transposition parameters.


Edited by encryptedmind, 16 July 2017 - 06:08.

  • The_Traveler likes this

encryptedmind

Victor Marak

 

uZIK|mAInD|Z0FTwA-RE


#25 joule

joule

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1402 posts
  • Gender:Not Telling
  • Location:Sweden
  • Interests:music, philosophy, engineering

Posted 16 July 2017 - 10:02

I've already made a (private) chord tool, and chord recognition is a bit simpler than the above mentioned, I think?

 

All you have to do is:

 

1) Do modulo 12 on all voices, to compact the figure.

2) Search all inversions of this figure in the chord quality table. The chord quality table looks something like { maj = { 4, 7 } }

 

This allows you to return the root note, the chord quality and the inversion.

 

That's all you have to do. Do note that there is no safe way to distinguish an M6 chord from a m7. Also sus4 and sus2 are ambiguous, and a couple of others.

 

PS. When it comes to styles, I recommend using the yamaha scheme where all data is saved as a Cmaj7 chord. The 3rd, 5th and 7th can then be remapped to fit most chords. I don't know the exact approach for omitting or adding notes (like an add11 chord would require), but it's probably easy to find out with some investigation. I just want to point out that this scheme works very well in practice. Note that the bass pitch should be very well defined to allow for slash chords and such - e g a separate bass track. Live playing arrangers handle it by keysplit.

 

PS2. I suggest to mods that this discussion be split into a separate topic :)


Edited by joule, 16 July 2017 - 10:14.

  • encryptedmind likes this