Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411507 Posts in 69374 Topics- by 58429 Members - Latest Member: Alternalo

April 26, 2024, 04:08:56 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperAudioTracker idea
Pages: [1]
Print
Author Topic: Tracker idea  (Read 2520 times)
Alex May
...is probably drunk right now.
Level 10
*


hen hao wan


View Profile WWW
« on: June 27, 2009, 08:39:16 PM »

Are there any music trackers that support scripting?

I just woke up in the middle of the night and had this idea for a tracker where in each cell instead of just a note or an instruction like pitch or tempo or whatever, you could execute some code or call a function or whatever.

I guess it would work in a similar way to a spreadsheet, in general, but it would also open up the possibility of making the music interactive if the scripts were executed at runtime instead of compiled prior to playback.

Anyway it blew my mind to think about it so I wondered if it already existed.

Now I'm going back to sleep. Cheers. 

Wizard
Logged

Loren Schmidt
Level 10
*****



View Profile WWW
« Reply #1 on: June 27, 2009, 08:50:34 PM »

That sounds like a useful idea. It immediately brings to mind things like particle systems linked to the background music, or backgrounds that change color and pattern to reflect the changes in a music track.
Logged
Core Xii
Level 10
*****


the resident dissident


View Profile WWW
« Reply #2 on: June 27, 2009, 09:34:39 PM »

I'm surprised at the lack of documentation on the formats. What you could do is just use one channel for instructions your program interprets, but have it muted so it doesn't make any sound.

There are MIDI macros in most formats, but I don't know what can actually be done with them.
Logged
Rudolf Kremers
Level 1
*


Grow!


View Profile WWW
« Reply #3 on: June 28, 2009, 04:17:23 AM »

That is a FRIGGIN GREAT idea.
Seriously, good plan. Even if something like this does exist, I bet it is a complete UI nightmare without documentation ;-)

You can do it! (better!)
Logged

muku
Level 10
*****


View Profile
« Reply #4 on: June 28, 2009, 04:21:00 AM »

Interesting idea. I guess you could put something like that together quite easily with Pure Data (which is awesome in and of itself).
Logged
mjau
Level 3
***



View Profile
« Reply #5 on: June 28, 2009, 06:14:16 AM »

This is something I've been thinking about as well ..  one problem though is that if you want to do this realtime, there's a very limited amount of time your script gets to run in, or you'll get buffer underruns and scratchy audio.  Stuff that can take random amounts of time like any sort of i/o or memory allocation should probably be avoided.

Anyway, there's still a lot you can do with it.  I think LucasArts' imuse sound system worked a bit like this to do the music transitions..  There was also a format called ixalance used in some demos that I think was script-based, though that wasn't realtime.  Also, David Olofson's audiality engine uses scripts and looks pretty interesting, lacks an editor though.
Logged
ஒழுக்கின்மை (Paul Eres)
Level 10
*****


Also known as रिंकू.


View Profile WWW
« Reply #6 on: June 28, 2009, 06:22:54 AM »

i'd settle for being able to mute and unmute particular instruments while playing, there's a lot that can be done with that. or can it already to that?
Logged

Alex May
...is probably drunk right now.
Level 10
*


hen hao wan


View Profile WWW
« Reply #7 on: June 28, 2009, 07:43:35 AM »

Examples of things I was thinking about...

* being able to set up a function that defines a rhythm, and spreading that function across a whole channel of a whole bar. so you might have the function that goes
Code:
bool Beat(time) { return (time & 0x3) == 0; }
and in the cells of the spreadsheet you'd do e.g.
Code:
if (Beat(currentTime)) Play(bassDrum);
* being able to define musical notes that are described by maths functions e.g.
Code:
Play(instrument[3], FibonacciNumber(time) % 40);
to play a note at some pitch depending on what the fibonacci number of the current timestamp is
* being able to define wave forms using code to use as instruments
* adjust pitch, tempo, volume etc based on functions
* jump to different times or patterns depending on conditions
* link to visualisation library events


Most of these would be precalculated before playback just like in a spreadsheet, so you wouldn't have to deal with lag when playing a piece back. It's just that the actual data could potentially be generated from code/script.
Logged

Robotacon
Pixelhead
Level 3
******


Story mode


View Profile
« Reply #8 on: June 28, 2009, 10:18:33 AM »

Must see Rob Hubbard interview on the subject:

Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic