On Jul 23, 2006, at 2:06 PM, Dave Robillard
<drobilla(a)connect.carleton.ca> wrote:
> I don't see it as much of a problem anyway. At least in all my use
> cases, there's realtime crucial data (eg what MIDI tends to do,
> controllers, notes, etc) and there's data that just needs to get there
> sanely. The nice thing about the realtime stuff is that lost messages
> don't really matter, all you care about is the most recent one anyway.
Well, consider a volume slider on a mixing console.
One way to send its state is to sample its value and
send a packet every millisecond. In this case, your
"nice thing" is true -- the occasional burst of lost
or reordered packets will only cause brief "transient"
artifacts. The price paid for this "nice thing" is
sending 1000 packets per second, every second
of the performance.
The more efficient way to send the slide state
is to only send packets when a human finger
moves the slider. In this case, your "nice thing"
is not true -- the slider might be moved by the
human once per minute, and if the packet coding
that move is lost, that lost packet matters for the
entire minute.
RTP MIDI's recovery journal lets you safely use
this incremental update approach over a lossy
packet stream in an efficient way ... if
you need to send data over lossy networks
and that fits MIDI's semantics, and TCP's
head-of-line blocking latency is not acceptable,
I think RTP MIDI is the right protocol to use.
---
John Lazzaro
http://www.cs.berkeley.edu/~lazzaro
lazzaro [at] cs [dot] berkeley [dot] edu
---
Hello all,
I've set up a mailing list for specimen:
http://zhevny.com/mailman/listinfo/specimen
Additionally the web site now lives at http://zhevny.com/specimen. This
is a minimal re-working of Pete's old site. More improvements to follow.
Let me know if anything is badly broken. (I know the guide is broken,
but I need to re-do it with new screenshots anyway.)
I just changed the dns record for zhevny.com to point to a new host
earlier today. The TTL was set to 1 day, so some of you may get pointed
to the old box. Let me know if you have any issues, or just try again a
little later.
Thanks,
Eric Rz.
[ in linux-audio-users, originally in nmedit-devel ]
>our first release of Nomad - Nord Modular Editor is now available.
It is at
http://nmedit.sourceforge.net
if that was not mentioned.
The Nomad has also a UI builder for building UIs for modules.
Check the screenshots and "nomad-ui-editor.jpg".
Do we have anything similar? E.g. a collection of audio related
widgets for Glade?
How Nomad's UI builder could be re-used in other projects?
By using it like VSTGUI?
By building module UIs for Csound opcodes and writing Csound
exporter? I have earlier suggested that Nord Modular modules
could be written as Csound instruments, i.e.,
Nomad + Exporter + Csound == NM clone.
One may find several thousands of NM patches from the web.
Many of them are advanced and well documented.
http://nm-archives.electro-music.com/010_NordModular/014_Interesting_Thread…
Juhana
--
http://music.columbia.edu/mailman/listinfo/linux-graphics-dev
for developers of open source graphics software
>From: conrad berhrster <conrad.berhoerster(a)gmx.de>
>
>Now the question:
>- The worker thread is faster then the jackthread. (Sure, it should be). What
>is the usual way to pause the workerthread and wake up again, when the
>ringbuffer needs more data.
My alsashmrec uses
kill((pid_t)diskpid,SIGSTOP); (in disk writer process)
and
kill((pid_t)diskpid,SIGCONT); (in A/D reader process)
Perhaps that could be replaced with semaphore but what if
multiple processes uses the same disk service process?
That increases the number of SIGCONTs but otherwise the
processes would be uncoupled. How it is with semaphores?
>- How should the ringbuffer be initilized when starting to play?
Fill it up if its size was selected optimally.
If you have multiple songs and you don't know which the user
would like to play next, then make one ringbuffer per song and
fill them all up. Then the playing can start instantly when user
presses the song button.
Juhana
--
http://music.columbia.edu/mailman/listinfo/linux-graphics-dev
for developers of open source graphics software
Hello all,
I just updated the small set of Ambisionics related LADSPA plugins
available at <users.skynet.be/solaris/linuxaudio>.
The three decoders now feature optional phase aligned shelf filters
and independent control for LF and HF gain of the velocity components
(from in-phase over max rE to max rV). The distance compensation
is still there of course (and correctly calibrated !).
--
FA
Follie! Follie! Delirio vano e' questo!
>From: James Courtier-Dutton <James(a)superbug.co.uk>
>
>Is there a standard way of converting a 24bit sample to 16bit?
How your 24bit audio was made? If your audio card gives out
24-bit, then you may loose bits because there are no true 24-bit
converters.
At top you could use a smooth hard-limiter (which processes each
sample separately). It takes out random high peaks and makes the
audio more analogue.
At bottom the dither noise may not be necessary if the audio source's
noise floor is high enough. All dither tests seems to test against
the mathematical sine wave which you don't get if you do acoustic
music. Noiseshaping dither is suspectible as well because one
may then wonder where the high frequency noise introduced by the
dither goes to. No amplifier near me have a dither noise remover.
Juhana
--
http://music.columbia.edu/mailman/listinfo/linux-graphics-dev
for developers of open source graphics software
So, I've got a yamaha motif rack, and the manual
(which is here, btw:
http://www2.yamaha.co.jp/manual/pdf/emi/english/synth/MOTIFRACKE2.pdf )
On P. 46 of that manual describes how, and it seems like it should
be brain dead simple. There's a basic recieve channel on the
Motif Rack, (it claims that it is set to "1" -- I don't know if
that is zero or one based, so I tried both.
I think, if I send a byte sequence like:
0xb1 0xf3 0x03 0xc1 0x07
(or maybe substitute 0 for any 1 in the above, I tried them all)
It ought to do something.
I *can* change patches within a bank, that is the
Sending 0xc0 0x25 will change the current preset.
Just can't figure out the bank change thing. Well,
I'm retarded, or the spec is wrong, or the motif is broken...
I think I must be retarded.
At the moment, I've reduced things to a few lines of C
that just open up /dev/snd/midiC1D0 and write some
bytes out -- I know that much works because note-on and
patch change work.
Just wondering if anybody else out there has a Motif and
if they've ever gotten it to change banks.
-- steve
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Hi all,
My name is Jono Bacon (www.jonobacon.org) and I am one of the
developers working on Jokosher, a GStreamer based multi-track audio
editor written in Python for the GNOME desktop. Jokosher is designed
to be really simple to use, and we release our first 0.1 release on
Saturday. You can find out more at www.jokosher.org. although the
brand new, much improved site is released on Saturday too. I am also
one of the members of LUGRadio.
Anyway, for Jokosher 0.2 I want to include LADSPA support. From what I
understand, LADSPA not only provides an audio layer, but also a GUI
layer, so the widgets in the plug-in can be displayed in the host
toolkit. I know there is an antiquated GStreamer bridge for LADSPA,
but in terms of getting the GUI elements to display, I assume I need
Python bindings. Do such bindings exist?
Oh, and by the way, if you are in the UK, we are running an event
called LUGRadio Live 2006 with over 40 speakers, a room full of
exhibitors, lots of BOF sessions and a party. It is held in
Wolverhampton on the 22nd and 23rd July (next weekend). It would be
great to see a fraternity of Linux audio developers there. Anyone want
to come along? See www.lugradio.org/live/2006 for more details.
Thanks folks!
Jono
i notice this file: http://lv2plug.in/spec/lv2.ttl is in the nicely readable turtle format. my main question is, whether this will be transformed to RDF-XML during 'make install' or perhaps by the developer themselves (Eg, similar to leaving a configure script around for those who dont have autoconf).
mainly beacuse, it seems RDF-XML is the dominant serialization format, and having this additional dependency stand in the way means, at the very least one can't use Pyrple out of the box. i installed Redland and the Ruby and TCL bindings, and both conspicuously left out the "Redland::Parser.turtle" method, presumably beacuse i dont have it installed (and it's not in portage...)
cheers