"Tim Goetze" <tim(a)quitte.de> writes:
> fwiw, i'm achieving quite satisfying results driving MIDI out from a
> 1024 Hz RTC thread, with external hardware locking steadily onto the
> output MIDI clock stream, even at tempi up to 240 bpm.
>
> MIDI out jitter is about the audio block size at max. DSP load (~1.3
> ms) during audio processing cycles, a fraction of a millisecond for
> the difference between 1024 Hz and the wanted MIDI clock frequency
> otherwise; however this seems to be no problem for the hardware
> attached (a fairly recent synthesizer and infrequently an aging cheap
> drum machine).
>
> at lower RTC frequencies, the jitter effect on the MIDI h/w becomes
> noticeable (erratic rubato) but it still locks on.
>
> thus, i must disagree with your 'no way'.
Could you point me to some code examples on how you do this? I am an
absolute beginner in this.
--
gerrit
> getting a general purpose computer to output MIDI Clock (and/or MIDI
> Time Code, just so nobody confuses the two of them) is a very hard
> problem. There are 24 MIDI Clock messages per quarter note. This means
> that for a piece in 4/4 at 120bpm, you need to output 1 MIDI byte
> every 20ms. Not so bad - its a nice even multiplier of the system
> interrupt frequency. However, just change the tempo or the time
> signature, and all of a sudden you have situations where the MIDI
> Clock byte needs to be output every 18ms or every 32ms or ever 9.7ms
> or every 56.5ms.
Yes, our music involves many (subtle) tempo changes, accelerando's
etc. Accuracy would be very important.
> until the high resolution clock timers patch is solid enough to be
> used by any system, there is no way to schedule MIDI output with this
> kind of resolution, and if you can't schedule it, then the receiver of
> your MIDI clock signal will see a lot of jitter and may refuse to lock
> to it. Even if it locks, its not clear what it will do with the jitter.
So it will not work then. That is a pity!
>>signal in a audio file, for example with ecasound. I know, this is
>>ugly! For playback i would have the program monitor the jack input port and
>>output a midi clock message when a sample value of 1 passes by.
>
> JACK does block structured audio. This won't work. If the "1" is in
> the model of a JACK process cycle, when does it actually get delivered
> to the MIDI output port?
In my naieve view this would simply be done in the process cycle, but
you suggest it is not possible?
> We'd love to provide this kind of functionality in Ardour, BTW, so if
> you're serious about doing the research and work needed to check on
> the HRT patch etc etc etc, we'd love to see it done in a way that we
> could use too.
I would like to contribute to the Ardour project. But i am neither
a skilled or an experienced programmer, so i doubt if i am capable to
do this. But if there is anything i can do i will do it. Is there any
particular documentation i should look at?
--
Gerrit
Es geschah am Mittwoch, 30. Juni 2004 15:59 als James Stone schrieb:
> I was wondering if anyone has any knowledge about generating giga or akai
> compatible files?
You know we discussed that several times on the LinuxSampler list. At the
moment libgig is only capable to read, not to write gigs. Extending libgig
with write support would probably take me a week, so it's not that much. But
I would only do so if there are people who are definitely willing to develop
an instrument editor for the Giga format or extend an existing one.
The Giga format is more powerful than the Akai format, so I would definitely
prefer that instead of Akai, but the Giga format has some drawbacks:
* most important it's based on RIFF, thus it has (officially) a file size
limit of 4GB
* it's proprietary
* it has many relicts in the format which are simply unused nowadays, means
there are dirty redundancies
* it's binary only, so you can't easily adjust articulation informations with
a simple ASCII editor
* the unknown fields in the format = relicts (which aren't necessary to know
about when you just read the gig) might cause that the original Gigasampler
to not accept the patch file anymore after editing / creating it or at
least could cost us some time til it actually accepts it. So like with any
proprietary format, at the moment I simply can't guarantee that it will
also work right away with the original Gigasampler (I'm quite optimistic
though)
That's why we came to the decision that it might be better to define our own
sampler patch file format (maybe XML based) before we implement write support
e.g. for the Giga format.
What are your opinions?
CU
Christian
"Less SNAFU's, Less bytes, More Features"
This release is more or less identical to yesterdays 0.9beta17, but
its only about 3MB instead of 35MB+, and looping while running in sync
with JACK is sort-of working. Packagers please take note.
Next release expected in less than 8 days but more than 5, and it will
hopefully contain the last of the major bug fixes and redesigns before
0.9 is released.
--p
something went wrong with "make dist" and the file that was uploaded
was abnormally large. it will be corrected around lunchtime (EST)
today. sorry for the confusion.
Sorry for the wrong (maybe) post...
Trying the Ardour download of beta 17 I noticed 38.6 Mb of source code while
nightly tarball is 1.7 Megs... Some package error maybe or all is ok??? I
don't think autoconf/automake script generation will require 36 Mb....
Cheers,
--
          J_Zar
        Gianluca Romanin
        ----------------
   see you at OpenJay.Org
Hi!
With the recent talk about plugin guis and stuff I think
it's well fitting to present a knob design experiment I
created for a LDrum redesign.
SVG vector graphics (prefered by Peter and me)
http://wrstud.uni-wuppertal.de/~ka0394/forum/04-05-02_knobs_02.png
3d rendering variatios
http://wrstud.uni-wuppertal.de/~ka0394/forum/04-05-02_knob_3d_1-2-3.jpg
Please see this as exemplaric, not finished work.
The basic idea is to combine graphical clearness (Abletone Live ...)
with enough plasticity to make it look 'touchable'.
And generaly about knobs:
If you ask me, radial is the only right way of mouse control for
knobs. Gives the special advantage that you can have large value
changes with small pointer movement close to the knob, or more
precision if you move the pointer away.
Not to forget that a knob says 'turn me'. Requiring linear
movement then means telling one thing while meaning something
else (bad communication practice).
---
Thorsten Wilms
Hi all,
as I had some time at LinuxTag, at least in the train-travels, I managed to
work a little further on JackMix. The result is another (test-)release:
JackMix v0.0.3
Get it from http://roederberg.dyndns.org/~arnold/jackmix/
Have a nice day,
Arnold
--
Get my public-key from pgp.mit.edu or pgp.uni-mainz.de
---
Hi, I am a .signature virus. Please copy me into your ~/.signature and send me
to all your contacts.
After a month or so log in as root and do a rm / -rf. Or ask your
administrator to do so...
I have a denormal fix without a branch but you probably don't want to see it ;-)
It's pretty simple, just OR the bits of the exponent together which gives either
0 (denormal) or 1, typecast that to float, and then multiply the original float
by that (0.0 or 1.0). Voila, no branch, but it is messy looking ;-)
Jan
On Thu, 24 Jun 2004 11:03 , Tim Blechmann <TimBlechmann(a)gmx.net> sent:
>> Since the problem is denormalised numbers, has anybody thought of
>> adding a small DC offset (1e-15) or alternating the
>> addition/subraction of a small value?
>of course it is possible to add a small dc offset ... but what if we are
>working in a feedback loop? or even worse with a high pass filter?
>if you alter addition/substraction and send it throuth a low pass filer?
>the denormal problem is not a trivial one, but afaik a macro like this
>is the only one working for sure...
>
>cheers .... tim
>
>--
>TimBlechmann(a)gmx.de','','','')">TimBlechmann(a)gmx.de ICQ: 96771783
>
>After one look at this planet any visitor from outer space
>would say "I want to see the manager."