Extension of Fuze Music Tutorial
-
A lot of us have been silently wishing for something like this, I think. Thanks very much for sharing :)
-
Awesome! Will check it out once it has gone live!
-
I can now confirm: It has gone live.
Right off, the refactoring looks good. Putting the prep and play code into their own functions makes those easier to find, clip, and reuse, plus each function can get its own flowerbox (comment block) describing the inputs and outputs.
I also very highly approve of the expansion of the globals. Using sub-arrays for each octave is a great thing for anyone intending to write music for more than the eight notes above middle C, and the more common, less "proper" duration names make timing clearer.
I'll have to come to terms with this method of composition first. And once I'm comfortable with that, I may fork this and engage in some major tuning shenanigans. If only the original tutorial didn't use A=432 as its first sound...
-
But dude, “in Pythagorean math, 432 reduces to 9, while 528 reduces to 6. Though different, we see in the Solfeggio frequencies the harmonization between 6 and 9 (along with 3). ... In short, 432 Hz resonates with the very vibrations of our planet, which is one of the reasons it's so beneficial.”
That’s copy&pasted straight from mindvibrations.com. Legit.
-
Counterpoint: Adam Neely's "A = 432Hz" video. Not going to try posting the link here, just in case. Watch it. Learn. Enjoy. And if you search the Tube of You on just "Adam Neely 432", you'll find a few other videos he's done on that subject. Mr. Neely's channel is where I got the inspiration for the music system I'd LIKE to build in Fuze. (Look up the "7 Levels of Jazz Harmony" video for that rabbit hole.)
But let's get back to the subject of the advanced demo code posted here...
Tony, one of the things you noted you wanted to put into your music system was a chord system. The last complete block of code in the music demo is in a section called "Playing Multiple Melodies Simultaneously," and its music array has two separate melodies. So, the base code has at least the potential for chords if you don't mind laying out each note in that chord individually...
I'm thinking you want more than that. (And so do I, but if I can do it, mine will be crazier.) And given how the music system is set up, I think I know* how you want to build it. Of the 16 channels available, I'm thinking of budgeting six for chords and four for drums and percussion. Six channels for melody sounds like a chord system in and of itself, but now I'm wondering what capacity Fuze has for synthesis using multiple waveforms across channels.
- I could be horribly, horribly wrong.
-
Thanks, guys! Yes, I was hoping to may stir up some creativity for further expansion. You mention drums, and that was another thought that came to mind : ) I do think the chords would logically stand as their own "track". If you work going from a sheet of music the chords for piano are in their own stanza. Rests could be added to the API to account for when the chord isn't sound to match the melody line, being the clue of when the chord actually starts in time. Only 1 channel would be needed for just the simple melody; a number of single-noted instruments could be placed on single channels. I wish it was easier to share code ideas, because I seldom have the time to retype them in here : (
-
Y’all gonna use sound samples too?
-
@tony7059 I downloaded (UCG63MND18) your refactored version of the Fuze lessons and it encouraged me to get into making my own music. Thanks so much, I'm new to fuze and just starting to learn and I found your download extremely helpful. I am even trying to make my own version that will help to make music faster. Thanks again.
-
Inspired by Tony's refactored code, I went ahead and made my own version that uses a "Song String" or sstr to encode a two digit note value with an offset, a single digit speed value multiplied by 5 and finally a duration (length) value in hex that can subdivide a note and make values between 1/12 and 16/12 My other friend Squidstack was able to compose Mozart with chords and 4 channel quickly and in very few lines of code. I have a download code that is pending NX2CRQKDH9 This is my first time sharing anything on Fuze and I'm sure I made some coding faux pas but I think this gets my point across that you can use a "song string" with a little bit of math to quickly write melodies (and harmonies) using playNote quickly in fuze.
-
Sounds intriguing!
-
@xeno_eleusis, cool! I'll come back here and grab that. I think I'm following your explanation and it will be nice to see what you came up with.
-
I just downloaded it and it sounds great!