synchronizing position with a VCR via SMPTE (for example) has
nothing to do with sample clock sync. likewise, a word clock
connection between two digital devices has nothing to positional
synchronization.
Good point. One could say that every sync source generates one of
these:
*
We've been talking about 'TEMPO' and 'TRANSPORT' and 'TICKS' and 'METER'
controls, which (honestly) kind of turns my stomach. This is not what
controls are meant to be doing. the answer strikes me in shadowy details:
Each host struct has a timeline member. Plugins register with the host
Hi all,
Partly on the recommendation of Conrad Parker (Sweep, Aube), I'm posting this to
inform you of the existence of http://devdsp.net - my news site for computer
musicians. If you're looking to post info on projects you're working on (not
every change in CVS, please, but for new tarball
Paul Davis wrote:
We've been talking about 'TEMPO' and 'TRANSPORT' and 'TICKS' and 'METER'
controls, which (honestly) kind of turns my stomach. This is not what
controls are meant to be doing. the answer strikes me in shadowy details:
Each host struct has a timeline member. Plugins register
David Olofson wrote:
If this does not demonstrate why I think NOTEPITCH is useful, I
frankly have no idea how to explain it, short of implementing both
alternatives in code.
i agree that the ability to discern different scales is handy
indeed. but the only clean way to implement it is by going
Steve Harris wrote:
Damn... dont encourage me. I'm gonna end up implemnting this thing for real
if I'm not careful and I allready have a dozen other things that are more
important.
I'm currently working on my own implementation of this. It'll be a
little bit more
than proof of concept code,
me wrote:
central authority over tempo and time. the idea of sending
tempo change events is, i'm afraid, another sign of some
lack in understanding sequencers.
allow me to correct myself: there are in fact applications
that need this (rhythmn-based audio delays). it is a very
special case
On Sun, Dec 15, 2002 at 05:43:01PM +, Simon Jenkins wrote:
Steve Harris wrote:
Damn... dont encourage me. I'm gonna end up implemnting this thing for real
if I'm not careful and I allready have a dozen other things that are more
important.
I'm currently working on my own
On Sat, Dec 14, 2002 at 06:49:01PM +0100, David Olofson wrote:
I don't get it. If you're supposed to place the scale converter
*first*, then how are you supposed to be able to apply anything like
traditional music theory, rather than pure, continous pitch based
theory? You will have to know
On Sunday 15 December 2002 06.23, Tim Hockin wrote:
No matter how you turn this stuff about, some things get a bit
hairy. The most important thing to keep in mind though, is that
some designs make some things virtually *impossible*.
I think this is the important point - whether the simple
On Sunday 15 December 2002 07.24, Tim Hockin wrote:
[...]
Replying to myself with two other ideas:
1) the host-tick_me(plugin, 100, cookie) // call me back in 100
ticks - This could be a simple host-based time-management API
- This depends on a 1-1 map between host and timeline, which I
On Sunday 15 December 2002 13.32, Paul Davis wrote:
synchronizing position with a VCR via SMPTE (for example) has
nothing to do with sample clock sync. likewise, a word clock
connection between two digital devices has nothing to positional
synchronization.
Good point. One could say that
On Sunday 15 December 2002 16.40, David Gerard Matthews wrote:
Paul Davis wrote:
We've been talking about 'TEMPO' and 'TRANSPORT' and 'TICKS' and
'METER' controls, which (honestly) kind of turns my stomach.
This is not what controls are meant to be doing. the answer
strikes me in shadowy
Steve Harris wrote:
On Sun, Dec 15, 2002 at 05:43:01PM +, Simon Jenkins wrote:
Steve Harris wrote:
Damn... dont encourage me. I'm gonna end up implemnting this thing for real
if I'm not careful and I allready have a dozen other things that are more
important.
I'm currently
On Sunday 15 December 2002 16.43, Tim Goetze wrote:
David Olofson wrote:
If this does not demonstrate why I think NOTEPITCH is useful, I
frankly have no idea how to explain it, short of implementing both
alternatives in code.
i agree that the ability to discern different scales is handy
On Sunday 15 December 2002 18.05, Tim Goetze wrote:
me wrote:
central authority over tempo and time. the idea of sending
tempo change events is, i'm afraid, another sign of some
lack in understanding sequencers.
allow me to correct myself: there are in fact applications
that need this
On Sunday 15 December 2002 18.31, Steve Harris wrote:
On Sat, Dec 14, 2002 at 06:49:01PM +0100, David Olofson wrote:
I don't get it. If you're supposed to place the scale converter
*first*, then how are you supposed to be able to apply anything
like traditional music theory, rather than
On Sun, Dec 15, 2002 at 07:47:07PM +, Simon Jenkins wrote:
It sounds like you'd be better off working form the Sfront SAOL code.
Well, I'm working from scratch at the moment cos your code was written in a
write-only language that I currently choose not to understand :)
You're confusing
Sorry to step in this very interesting discution but I have one question
regarding this floating point note/pitch thing. Floating point is great for
DSP code as it makes our lives quite easy. On the other hand, floating point
is not a very stable way of storing fixed values such as notes. Many
David Olofson wrote:
Musical time *stops* when you stop the sequencer, which means that
How would you go about implementing an event delay effect?
by definition, time isn't flowing when the transport is
stopped. a delay in stationary time can only be a zero
delay because there's no future.
by definition, time isn't flowing when the transport is
stopped. a delay in stationary time can only be a zero
umm, I know that a requirement for me is to be able to stop the sequencer,
and still play MIDI and have delay lines etc still delay. Are you saying
that this can't be done in your
On Sunday 15 December 2002 22.46, Sebastien Metrot wrote:
Sorry to step in this very interesting discution but I have one
question regarding this floating point note/pitch thing.
At least, *I* don't mind. :-)
Floating
point is great for DSP code as it makes our lives quite easy. On
the
Thanks a lot for your answers, it does clarify your points a lot.
I can say I understand your point of view now.
Sebastien
- Original Message -
From: David Olofson [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, 16 December, 2002 01:15
Subject: Re: [linux-audio-dev] XAP status :
Tim Hockin wrote:
by definition, time isn't flowing when the transport is
stopped. a delay in stationary time can only be a zero
umm, I know that a requirement for me is to be able to stop the sequencer,
and still play MIDI and have delay lines etc still delay. Are you saying
that this can't
On Sunday 15 December 2002 23.13, Tim Goetze wrote:
David Olofson wrote:
Musical time *stops* when you stop the sequencer, which means
that
How would you go about implementing an event delay effect?
by definition, time isn't flowing when the transport is
stopped.
My hardware synths
Standing proposal:
Host processes blocks of 'n' samples. Events are delivered with a
timestamp that says 'actuate this event at this time within this buffer'.
This is exactly what user-supplied automation is, totally randomly timed
events. Some plugins need to sync to tempo or
tim, you wrote:
to allow for everything you mention here, you need to
start counting a different time -- you've stopped the
transport, so transport time isn't flowing any more.
at least that's what i do, calling it 'virtual time'.
the thing is that you need to keep time well-defined
and
tim h. had written:
Standing proposal:
Host processes blocks of 'n' samples. Events are delivered with a
timestamp that says 'actuate this event at this time within this buffer'.
sounds fine, except that there are some difficult cases to handle at a
higher level. consider actuate this
On Monday 16 December 2002 01.43, Tim Goetze wrote:
[...]
to allow for everything you mention here, you need to
start counting a different time -- you've stopped the
transport, so transport time isn't flowing any more.
at least that's what i do, calling it 'virtual time'.
Well, I'm well
On Monday 16 December 2002 02.01, Tim Hockin wrote:
Standing proposal:
Host processes blocks of 'n' samples. Events are delivered
with a timestamp that says 'actuate this event at this time
within this buffer'. This is exactly what user-supplied
automation is, totally randomly timed
by definition, time isn't flowing when the transport is
stopped. a delay in stationary time can only be a zero
umm, I know that a requirement for me is to be able to stop the sequencer,
and still play MIDI and have delay lines etc still delay. Are you saying
that this can't be done in your
if you change/add tempo map entries while only half your
network has completed a cycle, you're in deep sh*t. i
found the easiest solution to be preventing this from
happening in the first place.
two words i learnt from ardour-dev: accelerando, decelarando. think
about it ;)
it does not, because
Paul Davis wrote:
the thing is that you need to keep time well-defined
and controllable at one point, for the whole network.
if you don't, things like synchronization and transport
control are tough to get right.
yet earlier, you wrote:
yes, because you are confusing things yourself. there is
On Monday 16 December 2002 02.12, Paul Davis wrote:
[...]
so, there isn't just one time! this is the whole issue with
positional versus rate synchronization. positional references
provide one kind of time (transport or virtual time). its not
monotonic, not invariant and not continous. rate
this is the best suggestion so far. i love callbacks. note that
meter includes both tempo and time signature. you knew that,
though. i can't see anyone wanting to use TIME_TICKS.
--p
Callbacks do make sense here, I agree.
I disagree. Callbacks are not sample accurate.
i was assuming
On Monday 16 December 2002 02.21, Tim Hockin wrote:
tim h. had written:
Standing proposal:
Host processes blocks of 'n' samples. Events are delivered
with a timestamp that says 'actuate this event at this time
within this buffer'.
sounds fine, except that there are some difficult
Tim Hockin wrote:
Ok. So how does a plugin know about musical milestones, then? Suppose it
wants to lock onto a beat edge. I agree that TICKS events are not needed,
since if you know the sample rate (you do) and you know the tempo (you can),
then you can extrapolate a tick-width. The tick
Positional data sort of implies that you can extract timing data
as well, provided you get a stream of positional data with
sufficiently accurate timing.
no, you can't. how rapidly we are moving through a series of events
on a timeline has nothing to do with how many samples per second we
On Monday 16 December 2002 03.06, Paul Davis wrote:
by definition, time isn't flowing when the transport is
stopped. a delay in stationary time can only be a zero
umm, I know that a requirement for me is to be able to stop the
sequencer, and still play MIDI and have delay lines etc still
Paul Davis wrote:
if you change/add tempo map entries while only half your
network has completed a cycle, you're in deep sh*t. i
found the easiest solution to be preventing this from
happening in the first place.
two words i learnt from ardour-dev: accelerando, decelarando. think
about it ;)
On Monday 16 December 2002 03.09, Paul Davis wrote:
if you change/add tempo map entries while only half your
network has completed a cycle, you're in deep sh*t. i
found the easiest solution to be preventing this from
happening in the first place.
two words i learnt from ardour-dev:
Paul Winkler wrote:
On Sun, Dec 15, 2002 at 09:09:57PM -0500, Paul Davis wrote:
two words i learnt from ardour-dev: accelerando, decelarando. think
about it ;)
Whoops. I think you got those
from me, and now I recall that the latter is really known
as ritard. Sorry for the blunder.
ritardando
On Monday 16 December 2002 03.16, Paul Davis wrote:
this is the best suggestion so far. i love callbacks. note that
meter includes both tempo and time signature. you knew that,
though. i can't see anyone wanting to use TIME_TICKS.
--p
Callbacks do make sense here, I agree.
I
David Olofson wrote:
it does not, because any point in time can be expressed in
any domain. and to repeat, in stopped state all clocks are
frozen, no matter what they count. and to repeat again,
device-dependent units for information interchange across
implementation/abstraction layers are
On Monday 16 December 2002 03.18, Tim Goetze wrote:
Tim Hockin wrote:
Ok. So how does a plugin know about musical milestones, then?
Suppose it wants to lock onto a beat edge. I agree that TICKS
events are not needed, since if you know the sample rate (you do)
and you know the tempo (you
David Olofson wrote:
I think he meant start of beat and that kind of stuff, rather.
(isolde stirbt would be a change of a string Control of some weird
plugin. ;-)
Hmm. I like the idea of a plugin that uses the string Isolde stirbt as
a control
so much that I think I'll just have to
for a plugin within the system, there's no point in caring
about those that are not, except you want it to work as a
sync source. is this what you want?
just imagine two different timelines, one in 6/8, the other in 5/4,
both at different tempos. one delay plugin uses one of them, another
uses
On Monday 16 December 2002 03.09, Paul Davis wrote:
if you change/add tempo map entries while only half your
network has completed a cycle, you're in deep sh*t. i
found the easiest solution to be preventing this from
happening in the first place.
two words i learnt from ardour-dev:
Hi, Haakmat,
I'm so glad to see your reply. But I'm still wondering
how I can implement the full duplex operation on sound
card, i.e. playback and record audio on the same card
at same time. I don't think it's a good idea that
reopen the device when switch between reading and
writting, because I
Still, is the tempo 0, or whatever it is supposed to be at the point
where the transport is holding?
My views
Tempo remains in effect. Transport time is only meaningful to the
sequencer. Why should a plugin care what point in the song you are at? Why
should a plugin care if the
50 matches
Mail list logo