electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
go to the radio page Live at electro-music.com radio 1 Please visit the chat
  host / artist show at your time
today> Twyndyllyngs Live Chez Mosc
 Forum index » DIY Hardware and Software » Developers' Corner
Program In Progress
Post new topic   Reply to topic Moderators: DrJustice
Page 2 of 3 [53 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2, 3 Next
Author Message
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 18240
Location: Durham, NC
Audio files: 224
G2 patch files: 60

PostPosted: Mon Sep 26, 2005 1:04 pm    Post subject: Reply with quote  Mark this post and the followings unread

Bachus, this sounds great. I'm very happy to hear you are continuing on this path.

To get back to the topic of modes, I don't know if there is anything original that I could say about that topic. I might share my techniques in improvising.

I have observed that there are three modalities that I use - major, minor and atonal. There are really many modes, mixolidyan, lidyan, etc, etc, but to me, I play what sounds minor. In that respect, mixolidyan is minorish to me. Anyway, I don't like music that is just in one key, like C minor, for example, the one key most overused. You can use the same scales and play in different related keys - C major and A minor for example - or you can move easily to related keys where the scale is the same except for one note - C major to G major or F major. Anyway, it's interesting to keep the keys and modality ambiguous by changing to related keys using the same scales, and in changing to related scales. I don't know if these are the right terms and I frankly don't care because I'm not rigorous about this.

Anyway, in your system of parameters, I could see some kind of parameter called harmonic freedom or something more technical sounding. The lower the harmonic freedom, the less changes. A harmonic freedom of 0 would mean you stay in one key and never change. A 2 or 3 might mean you only go to the relative major or minor. A 4 or 5 might mean you also allow modulations to a related scale. A 6 or 7 might mean you allow modulations to more unrelated scales where more than 1 or 2 notes are different. The highest harmonic freedom values would allow freely moving around all 12 notes, it might sound atonal or serial or something.

I could see a similar parameter for rhythmic freedom. Dance music would be very low - ivesian polyrhythms would be higher - abstract none-metered music might be very high.

There could be harmonic motion freedom too. For example 12 bar blues would be very low in this parameter because the chord progressions are very constant.

These freedom parameters would be very interesting to test out. I suspect most popular music would have low parameters and more experimental music would be high.

Maybe you could give tests to people. Play them 50 short pieces and ask which they like the best. They you could have a vector based on your results. I might be a (2,4,6,3,6,9) and someone else might be (0,1,1,4,3,2). You could then know who to marry or what music to listen to. Shocked Better yet, Bachus' program would compose music just as each one likes it.

_________________
--Howard
my music and other stuff
Back to top
View user's profile Send private message Visit poster's website AIM Address
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Mon Sep 26, 2005 7:17 pm    Post subject: Reply with quote  Mark this post and the followings unread

BobTheDog wrote:
Gui work with .net is much simpler than with mfc thats for sure, I suppose it all depends how far down the line you already are.


Too far I fear. But, god, I’d love simpler GUI work .

And thanks again for the input. The fear-of-porting is diminishing. Rolling Eyes

_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Wed Sep 28, 2005 6:46 am    Post subject: Reply with quote  Mark this post and the followings unread

mosc wrote:
…Anyway, in your system of parameters, I could see some kind of parameter called harmonic freedom or something more technical sounding. The lower the harmonic freedom, the less changes. A harmonic freedom of 0 would mean you stay in one key and never change. A 2 or 3 might mean you only go to the relative major or minor. A 4 or 5 might mean you also allow modulations to a related scale. A 6 or 7 might mean you allow modulations to more unrelated scales where more than 1 or 2 notes are different. The highest harmonic freedom values would allow freely moving around all 12 notes, it might sound atonal or serial or something.


Thanks for the input mosc. I am slowly working toward a (more or less) vector space based model/representation of modality/tonality. This is complicated by the many discrete relationships that can exist in various systems. I’m using tonality as the bench mark because it is the best understood and most complex in this regard. But my intent is for the model to be generalized to work with any system constrained to 12 pitches to the octave. This “vector” based model would provide much more subtle control and work at a lower level of detail than you are suggesting. But once the “vector” model was in place more generalized controls such as you suggest could be implemented using that model.

_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Fri Sep 30, 2005 9:34 pm    Post subject: Reply with quote  Mark this post and the followings unread

mosc wrote:

I could see a similar parameter for rhythmic freedom. Dance music would be very low - ivesian polyrhythms would be higher - abstract none-metered music might be very high.


I think you need more then one parameter there. If you compare for example techno and jungle then you see that as they are bothmodern forms of dance they both stick to certain rules fairly ridgidly but jungle has lots and lots of rithmic freedom (on par with bebop for example).

What would be needed is a dimention of variation within a certain defined groove and one for the amount of variation outside of that groove. Dance music typically has extremely low numbers for that last one since the dancers need to maintain momentum but the first one can and often will be quite high.

Some forms of dance like jungle and the jutterbug get their charm from repetition on the level of the underlying groove while avoiding clear repetition in the actual sounds layer. I think programs that want to deal with relative rithmic freedom should deal with this and of cource it can be extended quite easily to notes; in notes you can have variations within the scale or outside of it.

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Sat Oct 01, 2005 10:14 am    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:

What would be needed is a dimention of variation within a certain defined groove and one for the amount of variation outside of that groove. Dance music typically has extremely low numbers for that last one since the dancers need to maintain momentum but the first one can and often will be quite high.


I would like to understand what you are saying but I am having some trouble. Would it be possible to express what you are saying here in, or in relation to, the language of meter? And uh…likewise, what’s a groove?

_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
jksuperstar



Joined: Aug 20, 2004
Posts: 2503
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Sat Oct 01, 2005 10:38 pm    Post subject: Reply with quote  Mark this post and the followings unread

I would inteperet Kassen's comments as "variation in Groove" meaning notes/beats moving around within a defined tempo...possibly getting more or less complex/busy. Variations on tempo, I think is mostly called swing on most gear or programs. But I'd think Kassen implies something a step further, in that swing is typically repeatable, I'd take him to mean something that is possible more random.
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Sun Oct 02, 2005 12:57 pm    Post subject: Reply with quote  Mark this post and the followings unread

Well, if you have some complex piece of dance music, for example some early rough jungle or some complex jazz then you might find yourself tapping your foot or even dancing; no news there. Where it gets interesting is that those types of music don't typically repeat their rithmical paterns. Rolls (of snares or toms) might substitute for complete passages of more regular drumminh, snares pop up on previously quiet counterbeats and so on. Still, you swing to it. What we are seeing there is that there's some underlying patern of quantisation (which need not be exactly on the count; jungle flirts with 5/8 over a 4/4 beat) and some patern of emphasis in volume or perhaps effect use that keeps us preceing a underlying rithem.

In G2 terms; imagine we have some patch that loops one 4/4 bar. On the first count there is a 50% chance of a kickdrum. 25% of a snare and 25 of a highhat. The second count has a 50% chance of a hh, 25% of a kick and 25% of a snare. The third count we give the snare 50% with 25 for the others and the final one we copy the chances of the second. Furthermore on the 8th inbetween we have 50% chance of silence, 25% of a highhat and 25% chance of a repetition of whatever happened on the last count.

THis simple patch would run forever with very high amounts of variation but it would be dancable, particularly if we take care to boost the volume of whatever happens on the 1st and 2nd counts. Still, within this all that variation there is a quite static 4/4 that will never be touched or broken; that quite different from doing the same but clocked by a lfo that randomly speeds up and slows down and volume accents at random places; the result of that one wouldn't be dancable and would lack a preceived consistent groove.

I'm not allowed to post audio examples of copyrighted work but look up some early jungle and compare that to techno and purely random noodles on either end and you'll see what I mean.

A "groove" is basically the amount by which speciffic beats are "early" or "late" compared to a metronome and the place and amount of accents in a loop for a speciffic piece or passage.

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Sun Oct 02, 2005 1:31 pm    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
Well, if you have some complex piece of dance music


Thanks a lot Kassen that is exactly what I needed to begin to understand what you are saying. I am completely out of touch with pop so to fully appreciate what you've said I'll have to do some poking around and listening out side my shell.

Once again, thanks for going to the trouble to explain.

_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Sun Oct 02, 2005 2:40 pm    Post subject: Reply with quote  Mark this post and the followings unread

Well, of cource pop as such has very low entropy in both dimentions. If we look at pop from a music theory perspective then we bascally end up with a endless list of rather boring rather monotonous waltzes.

The styles of music I'm refering to here runs from some strains of jazz to forms of house that were heavily influenced by jazz/ african rithems and experimental music. I could look up some examples for you but basically any old piece of jazz aimed at dancing will do.

For example, two days ago I did a bit of reading on ragtime. In ragtime the basic patern is a long low note on the odd counts and a short stacato higher one on the even ones. Of cource those aren't exactly on the beat, there's some groove/ shuffle involved but that's the core. This metrum frequently flies out of the window while it keeps observing a basic 2/4 or 4/4 measure. Even if you don't want to listen to anything from post-'84 there will be lots of music that does exactly what I described.

More interesting to programers might be what's currently going on in this style called IDM. IDM is nominally a dance style and borrows a lot of the idiom of house and jungle but it relies heavily on "clever" editing and structures on the verge of chaos. I think for you at this moment it might be especially interesting to look at this; http://bram.smartelectronix.com/plugins.php?id=6

That's a plugin that's currently very popular with that crowd. Basically what's going on there is that the plugin gets the time/bar information from the host and devides incoming audio based on this. For each beat or measure it may aply a effect such as playing it at half speed or double speed or repeating it at the tempo and so on based on randomness. This will potentiall aply a lot of randomness to a patern but all of the randomness will be within the time signature.

This is a important distinction, I feel. It's has melodic equivalents too. If I have some melodic prhase I repeat a few times and want to aply some variation I might substitute some notes with a note one octave higher or I might multiply the frequency by Pi. The first option is within the scale and will be somewhat predictable, the second type of variation completely disregards the scale and so should IMHO be interperted as a very different type of variation. Just like a piano concert might require movements like the first option and generally shy away fromt he second so dance will welcome variations within the measure/ groove/ whatever but probably won't welcome variations that include tempo changes or other drastic breaks of the established groove.

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Sun Oct 09, 2005 12:48 pm    Post subject: Reply with quote  Mark this post and the followings unread

Kassen: Just wanted to say I didn’t miss your post. I’m working on digesting it and a lot of issues your posts have raised. I will respond when I think my questions and thoughts are better formed than they are now.
_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Sun Oct 09, 2005 2:44 pm    Post subject: Reply with quote  Mark this post and the followings unread

Yes, I understand. It's a huge amount of material you are dealing with and a lot of questions that need answering. If I were you I'd start with dealing with manipulating short phrases or themes in sensible ways and move on from there once you get the logic right. There's no need at all to tacle the whole thing all at once and I think that's likely to burn you out. Even having a sensible interface to deal with a four bar theme would be very interesting and usefull. If you'd get that in -say- a year then I for one would still be impressed.

I run Debian with louds of audio stuff enabled and WinXP(sp1) I'm also able to write little themes but have trouble writing variations on them. If that means my systems and me are within your "market" then I'll happily test for you once you get something to run.


Oh, and of cource pop-music is all marches, not waltzes, silly me.

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Sun Oct 09, 2005 3:28 pm    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
Oh, and of cource pop-music is all marches, not waltzes, silly me.


Then I should explain that my window onto the world is veeeeeeeery tiny. By pop I meant anything that is not academic Shocked

_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Sun Oct 09, 2005 7:56 pm    Post subject: Reply with quote  Mark this post and the followings unread

Some clarification.

The composition engine does what I would call notational computation, by which I mean that in creating score it uses data objects that directly map to the visual score. As a consequence, when it comes to notes, notation is the only input type contemplated at this time, i.e. no midi input. (I’m not against it, just not willing to spend the necessary time to do it myself.) As the design stands, rhythms may be represented in one of two ways illustrated in the drawing. Assuming an unslugish pace we have at the first bar line big-time anticipation modeled as tied pentuplets. The blue brace straddling the second bar line represents a rhythm abstraction. Aurally the same thing happens at both places.

Technical definition wrote:

The length of a note is modeled several different ways, one of which, called the relative representation, is a pair of floating point numbers: the first is a (unit normalized) percentage of its notated length, the second a (unit normalized) percentage of its length used as a starting time offset. Thus a value pair (1.0, 0.0) would leave a performed note unchanged from its notated length and time of occurrence.


The rhythm abstraction is partly a template that provides a list of note length objects and their relative representations. So, for example, the brace ‘r’ rhythm in the drawing must encode for its last note the relative representation pair (1.2, .2) to meet the condition that aurally the same thing happens here and at the previous bar line. (There are more dimensions to the rhythm abstraction than these, however.)

So generally does that sound like a broad enough a definition of rhythm? Or if it chafes, how so?


anticipation.jpg
 Description:
 Filesize:  6.45 KB
 Viewed:  15646 Time(s)

anticipation.jpg



_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Sun Oct 09, 2005 9:40 pm    Post subject: Reply with quote  Mark this post and the followings unread

Ah, ok, that's fine then, as long as we are clear. When I say "pop" I mean popular music, post Elvis, nearly always 4/4 and dealing with such themes as "I like my baby", "my baby left me" or "you should be my baby". YOur use of "pop" is usefull only within a accedemic context, I think, because non-accedemic music is all over the place from a theoretical perspective (even if it's rare to find 13/16th dance music suitable for modern youths).

To adress your more topical points; If you have notation midi will follow. Classical notation in nearly all cases will be playable on a piano and anything playable on a piano can be put into MIDI. If you later decide to include MIDI I don't think you'll have huge problems with your choice now.

About rithems; I think your definition of notes will work fine. It's quite interesting realy. I would define starting time offset as a percentage of the bar myself. If we are dealing with a set of data where something happens such as the "3" always being a bit late but where notes of varying length fall on that count then I think the constant relative offset to the bar is a more meaningfull metric then the varying offset relative to the note duration. The amount of knowledge and probably data will remain constant in both options but I think my proposal will be more readable and easier to deal with. I also think the onset of the note has more affect on the preceived rithem and relative timing of the note then it's length unless we are dealing with a instrument where the end of the note is somehow very noticable. Something to considder.

There may also be a use for a parameter for notes and chords that holds a offset from the average forcefullnes of playing of that section. A series of equaliy spaced quarter notes at the same pitch may become strongly rithmical by how intonation is placed. a bar of 6/8 notes could be devided as 2:2:2 or as 3:3 which feels very different but which may not be readily apparent in the score itself. Generally the first note of a bar will receive a accent but not in all cases, some styles use a repressed first count to create swing and we might want to express this.

Both the timing offset and this forcefullness offset might conform to general curves that loop over a set of bars and which might be expressed as a (set of) formula. This might be very usefull and interesting since we cal aply operations to formulae, some of which could proove musically relevant; I would for example predict that sad pieces will generally have smoother curves then happy or agressive ones. This could be usefull if some theme needs to be repeated later in a different form, for example in a movy score or opera where one character may be sad in one scene, happy in another.

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Mon Oct 10, 2005 6:02 am    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:

To adress your more topical points; If you have notation midi will follow. Classical notation in nearly all cases will be playable on a piano and anything playable on a piano can be put into MIDI. If you later decide to include MIDI I don't think you'll have huge problems with your choice now. .


Just to be clear, it will have MIDI output but not MIDI input.

Kassen wrote:

About rithems; I think your definition of notes will work fine. It's quite interesting realy. I would define starting time offset as a percentage of the bar myself. If we are dealing with a set of data where something happens such as the "3" always being a bit late but where notes of varying length fall on that count then I think the constant relative offset to the bar is a more meaningfull metric then the varying offset relative to the note duration. The amount of knowledge and probably data will remain constant in both options but I think my proposal will be more readable and easier to deal with. I also think the onset of the note has more affect on the preceived rithem and relative timing of the note then it's length unless we are dealing with a instrument where the end of the note is somehow very noticable. Something to considder.


My resistence to directly implementing this idea stems from the nature of the abstraction represented by the note length object. The relative representation numeric pairs are data members of that object. When it comes time to generate MIDI data it must possible to calulate MIDI durations from that data object without context other than instantaneous tempo. The note length knows nothing (and should know nothing) about meter. Thus part of a rhythms definition is a meteric context.

As you point out the amount of knowledge is constant between the two representations. It will be a simple matter, really, to convert between the internal representation and something more user friendly. Hopefully a graphic representation rather like a piano roll view of MIDI data but where visual ghosts of the notated lengths are maintained for reference.

Kassen wrote:

There may also be a use for a parameter for notes and chords that holds a offset from the average forcefullnes of playing of that section. ….


No doubt at all. Accent is definitely on the list of rhythm attributes. As to some of the other points I’m attaching the opening comments to the CMeter object header file. The meter object specifies a regular method of dividing a measure—longer groups have greater innate accent than shorter ones. Every staff element of every bar has it’s own CMeter object the only restriction is that the CMeter objects within a given bar must all have the same CHRONON length. I.E. in a given bar some staves could be notated in ¾ and others in 6/8. Or they could all be notated in 6/8 but some could be explicitly grouped by the CMeter object to reflect ¾ structure. But it is important to understand that the CMeter object provides only the metric backdrop against which rhythmic patterns occur.

Kassen wrote:

Both the timing offset and this forcefullness offset might conform to general curves that loop over a set of bars and which might be expressed as a (set of) formula. This might be very usefull and interesting since we cal aply operations to formulae, some of which could proove musically relevant; I would for example predict that sad pieces will generally have smoother curves then happy or agressive ones. This could be usefull if some theme needs to be repeated later in a different form, for example in a movy score or opera where one character may be sad in one scene, happy in another.


Well, now we’re getting to the very interesting stuff and I definitely agree with what you are saying here. Unfortunately there is a mountain of infrastructure to be put in place before we can start playing with these kinds of ideas, ideas that are at the core of what I want this program to be about.


========================
I see from down loading my attached file that the column formatting does survive Sad


CMeter header comments.txt
 Description:

Download (listen)
 Filename:  CMeter header comments.txt
 Filesize:  3.37 KB
 Downloaded:  292 Time(s)


_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Mon Oct 10, 2005 8:21 am    Post subject: Reply with quote  Mark this post and the followings unread

‘nother aspect of rhythm

Time is modeled as part of the “natural” tree structure of the composition. The span nodes of which this tree is composed have natural children as well as several types of “adopted” children. Adopted child spans have a length that is the same as their parent and have no inherent right to change their length. But they can freely decompose into sub spans of arbitrary length* that could eventually decompose into measures different in number, tempo, and meter from those of the natural tree. The only restriction being that the adopted span’s series of measures begin and end synchronously with its adoptive parent. At this point adopted spans are “provided for” (have a minimal interface to stubs) but have no implementation. Though that is in the very near future.

That it would be a relatively simple matter to provide adopted spans with measure streams parallel to those of the natural tree only occurred to me in the past couple of days (while thinking about your grooves) and awaits some distant future time to have design work done--sigh. In the mean time I will try not to make that implementation more difficult than needs be.

*Though the sum of all sub-span lengths must equal that of their parent span. This is true of all children (sub-spans) of all spans.

_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Tue Oct 11, 2005 1:00 am    Post subject: Reply with quote  Mark this post and the followings unread

It's fine anyway, Since note-length is proportional to the bar length anyway having a starting offset proportional to the note-length will inherently also be proportional to the length if a bar.

Sanity checking might be harder this way though.

Imagine we have a passage in 4/4 where we just had a phrase which devides that into two half notes. In some musical movement this now changes to a halfnote followed straight (in notation) by a 32nd stab.

If we asume that first part was just played with quite a bit of shuffle and the second halfnote was quite "late" compared to where it's notated and we want to preserve that suffle then the 32nd note in the second massage might conceivable be "late" by more then a 32nd note duration. I'm not too woried by 32nd notes being offset by a relative factor of "1" and possibly slightly more but I think once we start having halfnotes with such offsets then it sarts to become a bit silly.

I'm pointing this out because I have a Roland PMA-5 lieing around here which does something similar. It's a small pocket sequencer where once uou place a note on the bar then you can change it's settings, including offset. This can lead to confusing and silly sitations because the PMA isn't smart enough to realise at what stage it's be more apropriate to move the notated note tot eh next position and reset it's offset to "0". I think the PMA expresses offset in midi clock ticks so that sort of amounts to the same thing too.


Starting offsets should be relative to the "ideal" or "notated" length imho, not to the actual offset one. I agree that the amount of data stays the same but once we need to recalculate some of it some of the time based on floats then we should minimise the amount of recalculations done in a series or projects that are worked on for a long time with lots of edits will start to slowly suffer from rounding errors creeping up. Those would be a serious problem that would be hard to correct later.

Asuming we'll have sanity checks and the program will do it's math properly then I have no problem with swaping representations about as long as the informations stays constant.

Your table survived just fine here; I set loads and loads of stuff to monospace exactly because of situations like this.

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Tue Oct 11, 2005 6:58 pm    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:

Starting offsets should be relative to the "ideal" or "notated" length imho, not to the actual offset one. I agree that the amount of data stays the same but once we need to recalculate some of it some of the time based on floats then we should minimise the amount of recalculations done in a series or projects that are worked on for a long time with lots of edits will start to slowly suffer from rounding errors creeping up. Those would be a serious problem that would be hard to correct later.



Hmmm… the pros and cons of the float representation have been working on me and I’m down to only one plus which is that I can do that in 8 bytes and the alternative is 16, but the 16-byte solution is faster and without the FP problems. So I’m going to encode “performance” start time as an absolute offset from the notated time expressed in CHRONONs (those nano-notes of which there are 3212537328000 to the whole note) and encode “performance” note length as its absolute CHRONON length.

And so I thank you for bringing that up.

_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 18240
Location: Durham, NC
Audio files: 224
G2 patch files: 60

PostPosted: Tue Oct 11, 2005 7:18 pm    Post subject: Reply with quote  Mark this post and the followings unread

See this... http://en.wikipedia.org/wiki/Chronon

Looks like they will have to change the definition when you release this project. Idea

_________________
--Howard
my music and other stuff
Back to top
View user's profile Send private message Visit poster's website AIM Address
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Wed Oct 12, 2005 3:11 am    Post subject: Reply with quote  Mark this post and the followings unread

I think it's quite clear what a chronon here is; it's one tick of the MIDI samplerate's clock.I don't think we need to care about smaller times and that's still relatively long (OSC might change that....). Perhaps I'm being overly paranoid with the rounding errors thing but it bothers me a little and we don't need to have them at all. If all fractional offsets refer to the notated length then there won't be any stacks of calculations and we're not losing anything either.
_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Wed Oct 12, 2005 3:54 am    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
I think it's quite clear what a chronon here is; it's one tick of the MIDI samplerate's clock.I don't think we need to care about smaller times and that's still relatively long (OSC might change that....). Perhaps I'm being overly paranoid with the rounding errors thing but it bothers me a little and we don't need to have them at all. If all fractional offsets refer to the notated length then there won't be any stacks of calculations and we're not losing anything either.


True it is rather like the tick in sonar, but its value is necessarily defined as the least common multiple of all allowed mensural divisions. Time-wise in an adagio I think that works out to something like 1.245e-12 seconds per CHRONON, which IS the quantum of time for this program Very Happy

_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Wed Oct 12, 2005 4:18 am    Post subject: Reply with quote  Mark this post and the followings unread

Cool, that should do :¬)

It might be usefull at this point to define exactly what we believe a note is.

There's some debate on that elsewhere on the board (mainly consisting of me convincing everybody who previously thought it was simple that it's very hard indeed, then failing to give any solutions...).

My favourite example is the guitar. If I use my nail to pluck a single string then that's one note, right? Now if I roughly move all 4 fingers across a 12 stringed guitar then we have 4*12=52 such events yet call it a single note (or chord) this sounds quite different from doing the same witha single finger yet that last option would likely be notated the same way.

This gets important with grain-based systems that will often be represented internally in a synth as rather a lot of rather short notes (a few hunderd per second isn't that exotic). We need to define what we see as the border betweent he note and the sound.

More simply put; if we have a long note in a 120 bpm track and the long note uses a lfo to modulate the amplitude at 8Hz then increasing the amplitude of the lfo will get us suspiciously close to a series of 8th notes. Of cource it's generally accepted that formal notation fails to cover all posibilities of synthesis and that's not our fault nor our asignment to fix but there are some areas where it becomes ambiguous in relation to notation and the most intuitively apropriate notation might differ substantially from what we'd like the MIDI to be. I'd be delighted to give audio examples if that's usefull.

Do we deal with this at all? Or do we jsut note it's interesting and leave composers so inclined to work around it?

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bachus



Joined: Feb 29, 2004
Posts: 2922
Location: Up in that tree over there.
Audio files: 5

PostPosted: Wed Oct 12, 2005 7:04 am    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
Do we deal with this at all? Or do we jsut note it's interesting and leave composers so inclined to work around it?


Ummmm… it’s a little late for that. I’m attaching a screen shot of the score viewer window that might give you some idea as to the amount of work that has been done using my definition of note length. I’m also attaching it because I’m sooo glad to see it again this morning after several months while infrastructure supporting the abstracts that will be used to generate the score was put in place. Woo Hoo! It still works and is now fully plugged into the deep-strcuture.

OK it is pretty rough and needs more work some of which it is about to get done but I’m thinking of the initial interface as a developers interface not a user interface.

The little dialog was raised by double clicking on the note highlighted in blue. As yet that dialog doesn’t reveal any data not apparent on the screen (other than the element ID which has been really handy in the debugging done thus far) but eventually it will get you data on the “history” of the note, i.e. how it got there—how expensive it was to compute—how well it meets the criteria set for that point in the score etc.

On the down side my next task is to decompose it into two classes (well, three really) A score bit map server, a custom control score viewing/editing window, and a dialog for the viewer.

BTW the notes are basically just random values from a generator that I use to test the system.


scoreviewer.jpg
 Description:
 Filesize:  75.91 KB
 Viewed:  15595 Time(s)

scoreviewer.jpg



_________________
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Wed Oct 12, 2005 8:47 am    Post subject: Reply with quote  Mark this post and the followings unread

What can I say? That looks very nice and clean and usable. A beautifull piece of work!
_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 18240
Location: Durham, NC
Audio files: 224
G2 patch files: 60

PostPosted: Wed Oct 12, 2005 12:49 pm    Post subject: Reply with quote  Mark this post and the followings unread

bachus wrote:
Woo Hoo! It still works and is now fully plugged into the deep-strcuture.

Congrats to you! Bridging the gap between the front and a major overhaul behind the scenes can be very furstrating. Glad it is working so well.

party time!

_________________
--Howard
my music and other stuff
Back to top
View user's profile Send private message Visit poster's website AIM Address
Display posts from previous:   
Post new topic   Reply to topic Moderators: DrJustice
Page 2 of 3 [53 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2, 3 Next
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Developers' Corner
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use