Just can't resist.
---------- Forwarded message ----------
From: Dmitry Baikov <dsbaikov(a)gmail.com>
Date: Mar 2, 2007 3:59 AM
Subject: jackmidi_alsaseq-0.4
To: Jack Dev List <jackit-devel(a)lists.sourceforge.net>
After missing several deadlines, we are finally here.
This is the latest and greatest release of jackmidi alsaseq bridge.
It is getting ready for inclusion into jackd (I hope), and I'd like to
test is as hard as possible.
I hope you will help me here :)
Everything it needs is an svn version of jackd.
For timing it by default uses hrtimers (available on 2.6.19+), there 3
more variants for your pleasure: select, poll and alsa queues. To
enable them, uncomment corresponding define in the beginning of
alsa_seqmidi.c. Although, hrtimers (via clock_nanosleep) shows the
best results.
Alsa queues suffer from events reordering, unless used with
jack_time.patch. This is NOT a problem of alsa-seq, but is nearly
impossible to avoid.
To sum up, the default setting (clock_nanosleep) gives the best results so far.
Regards,
Dmitry.
On 3/2/07, Nick Copeland <nickycopeland(a)hotmail.com> wrote:
> If Microsoft patent any capabilities that are present in the ALSA codestream
> them ALSA itself is exempt from the patent. This is written into the patent
> laws, they cover the possibliity that somebody had a product that was later
> patented by some other, wiser party. If the company in potential infringment
> can prove prior implementation then they are exempt.
>
Prior art doesn't exempt the first implementor, it invalidates the
patent, at least in the US.
Lee
Hi,
Since Microsoft recent audio related patent "that looks a lot like
ALSA", I thought this could be interesting :
http://www.showusthecode.com/
In short it's an open letter to Steve Ballmer asking him to show the
code and patents that Linux supposedly copied from Microsoft (haha,
what a joke...)
Happy reading,
__________________
Marc-Olivier Barre,
Markinoko.
After the bug fixes release of Alsaplayer, the hard work has begun. A
discussion comes on our todo list in regards with new input plugins.
We have an experimental wavpack plugin that constantly check the frame size.
Does anyone ever hear about streams with variable byte-per-sample and frequency
parameters (for example, at start it was 16bit/2ch/44100 but in the middle it
will be 24bit/5ch/48000)? (for wavpack or other formats as well)
Ciao,
Dominique
On Thu, 2007-02-22 at 06:42 -0600, Jan Depner wrote:
> I can say that the QT package is much easier to use and has
> better documentation and support. Not that GTK is terrible, it's just
> not as polished or professional.
the enemy of the good is the better.
i, for one, used the past 3 days to write a python module named
"audiogui", which provides widgets to mimick the look and feel of
traditional audio hardware panels (i dare you to start an audio ui
design war with me). it will be the base for providing an engine which
renders panels from stylesheets, to be used with plugins of aldrin - but
of course that whole thing could be connected to an OSC library and
control any DSSI host.
the basic idea was to imitate the design seen from native instruments
plugins and propellerheads reason. of course i'm damn proud that the
results look so well ;)
here is a demo showing the three widgets DecoBox, Knob and LCD, with
different settings applied.
http://www.paniq.org/images/audiogui5.png
in case you want to play with it, the module is based on PyGTK+ and
Cairo, and can be checked out from the aldrin svn.
http://svn.zeitherrschaft.org/aldrin/trunk
you find the scripts in share/aldrin, they are named audiogui.py and
lcdfont.py. run audiogui.py for above demonstration.
--
Leonard Ritter
-- Freelance Art & Logic
-- http://www.leonard-ritter.com
Hi!
I nearly finished alsaseq driver for jackmidi, but have a problem.
Alsaseq reorders events in fast sequences, so note-on/note-off pairs got mixed.
The algorithm of sending is simple:
snd_seq_ev_schedule_real(&alsa_event, output_que, 1, ×tamp);
frame_time = jack_frame_time(self->jack);
frame_offset = event.time - frame_time;
offset = ((long long)frame_offset) * 1000000000 / rate;
timestamp.tv_sec = (long) (offset / 1000000000);
timestamp.tv_nsec = (long) (offset % 1000000000);
snd_seq_event_output(self->seq, &alsa_event);
Here are the traces of what is going on:
jackmidi_alsaseq reads events from external midi interface and send
them to another midi interface.
Log shows what is being sent to alsaseq and when. Output format is:
[event] at [event.time] ([frame_time] + [frame_offset]) (+[offset]ns)
c0ff@ace ~/src/jack/alsamidi $ ./jackmidi_alsaseq
port created: in (20:0) MIDI 1
port created: out (20:0) MIDI 1
port created: in (24:0) USB Trigger Finger MIDI 1
port created: out (24:0) USB Trigger Finger MIDI 1
port_event: ADD 130:0
port created: out (130:0) aseqdump
90 4e 7f at 86646526 (86622198 + 24328) (+506833333ns)
80 4e 40 at 86649830 (86622200 + 27630) (+575625000ns)
90 4e 7f at 86654006 (86622201 + 31805) (+662604166ns)
80 4e 40 at 86656795 (86638582 + 18213) (+379437500ns)
90 4e 7f at 86660562 (86638584 + 21978) (+457875000ns)
80 4e 40 at 86663502 (86638584 + 24918) (+519125000ns)
90 4e 7f at 86666819 (86638585 + 28234) (+588208333ns)
80 4e 40 at 86669453 (86638585 + 30868) (+643083333ns)
90 4e 7f at 86673078 (86654965 + 18113) (+377354166ns)
80 4e 40 at 86676430 (86654966 + 21464) (+447166666ns)
90 4e 6f at 86678638 (86654967 + 23671) (+493145833ns)
80 4e 40 at 86680654 (86654968 + 25686) (+535125000ns)
We can see that all events go strictly in order (their frame_time is
monotonically increasing). Frame offsets are so big, because it runs
under jackd -d dummy -p 16384.
At the same time, aseqdump is hooked to jackmidi_alsaseq output port:
c0ff@ace ~ $ aseqdump
Waiting for data at port 130:0. Press Ctrl+C to end.
Source_ Event_________________ Ch _Data__
0:1 Port subscribed 128:5 -> 130:0
0:1 Port subscribed 128:2 -> 130:0
128:2 Note on 0 78 127
128:2 Note off 0 78 64
128:2 Note off 0 78 64
128:2 Note on 0 78 127
128:2 Note on 0 78 127
128:2 Note on 0 78 127
128:2 Note off 0 78 64
128:2 Note on 0 78 127
128:2 Note off 0 78 64
128:2 Note off 0 78 64
128:2 Note on 0 78 111
128:2 Note off 0 78 64
We see, Note on/Note off events are mixed.
Your suggestions, please.
Regards,
Dmitry.
P.S. Not wanting to start a flame war, but it is exactly the case, why
it's better for jackmidi driver to use as lower-level interface as
possible - less problems, more control.
P.P.S. alsa-devels, if you reply, please CC me, i'm not subscribed.
With ongoing preparation to "Integrate End User and Developer Resources
at linuxaudio.org" (workshop @ LAC2007) we are proud to announce a first
version of Dave's linux-sound application index as public-wiki:
http://apps.linuxaudio.org/
this is by far no cute end-user resource portal yet, but a first
step in merging data and setting up a prototype back-end!
We are looking for interested people to contribute at various levels and
suggest to use the mailing list for general discussion while keeping
dokuwiki and style related requests at
http://apps.linuxaudio.org/wiki:open_discussion
Further [major] back-end development on http://apps.linuxaudio.org/ will
probably not happen until LAC2007, but we are interested to tweak the
look and feel, fix bugs, and collect feedback.
We're also looking for qualified LAU's and LAD's to verify and maintain
the current content with editor privileges, responsibilities and deeds.
next up: docs.linuxaudio.org:
- static documentation (docbook, LateX, [x]html)
- slides and presentations (PDF, ps, png jpg,..??)
- music (collaborate with or outsource to freesound et al.)
- include (external?) video presentations, movies, etc
- source code (coding examples: wiki-page; svn-mirror/server ??)
for each hosted documentation there will be an option for user
annotation(s). eg. wiki-discussion page, blog-comments,
email-notify[-mailing-list]? - some of it will be merged with
apps.linuxaudio.org which will provide automatic indexing; details
remain to be discussed.
some of the intended supported formats imply moderation / maintained
upload or installation of static documentation. - the ring of
maintainers could evolve with key-signatures, and parts of the system
may become completely open. - suggestions:
http://apps-devel.linuxaudio.org/wiki:suggest_doc
ico & robin
Dear list members,
On the 1st of march at 0h00 GMT, the three LA* lists will be moved to
linuxaudio.org. What will it change for you ? not much :
¤ The new address you send your posts to will be :
linux-audio-announce(a)linuxaudio.org for LAA
linux-audio-dev(a)linuxaudio.org for LAD
linux-audio-user(a)linuxaudio.org for LAU
¤ All the user currently subscribed will be migrated automatically,
you do NOT need to create a new account
¤ Your password will be reset in the process, so will your parameters.
Sorry we cannot do better than this... To get a password reminder (the
first one should be automatically generated), you will find the lists
home page at http://lists.linuxaudio.org/
¤ The former addresses will still be valid, but when you will post to
them, you will receive a reminder asking you to post on the new list.
To avoid having duplicates when merging archives, the posts on the
former addresses _will not be received_ by the list members.
¤ We will have a bigger and faster server, a spamassasin setup and
interfacing with mailman is also in progress so administration will be
easier _and_ moderation will be less pain (thus faster to do).
I hope everything will go smoothly. If any of you run into trouble I
will be on #LAD(a)freenode.net during the migration and available at
"mobarre at linuxaudio dot org" which will be the new list admin
address to help you with anything you'd need.
Cheers,
__________________
Marc-Olivier Barre,
Markinoko.
Dear all,
thanks to many submissions from yourselves, we have been able to create an
extensive program for the Linux Audio Conference in Berlin in March,
featuring many paper presentations, tutorials, workshops and demos, and not
to forget concerts on each night of the conference.
(btw, if you still have some linux-made songs you would like to send in for
the Radio music, feel free to do so; there are no restrictions on genre
there, and we especially created that category to give a place for linux-made
recordings).
Below is the press release.
Hope to see you all in Berlin!
------------
The 5th Linux Audio Conference is taking place in Berlin (Germany) in 2007.
The TU-Berlin is hosting the conference in cooperation with people of the
Humboldt University Berlin, the Berliner Künstlerprogramm of the DAAD, the
festival MaerzMusik, the Instituto Cervantes Berlin and the Tesla Berlin.
The conference shows once per year important developments in the subject Â
making music with Linux and open source tools. Invited is everyone who is
interested in the possibilities of this platform.
The LAC is offering a wide range of workshops, tutorials and hands on demos.
There will be presentations on the subjects Computer Music, Music Production,
Drivers and Sound Architectures and Audio Distributions.
The LAC aims at bringing together developers and users of Linux and
open source audio software with the goal of information sharing, project
discussion and music.
Each day of the conference there is a concert which features music composed
and created with open source software. One of the highlights of the conference
is the demonstration of a auditorium of the TU-Berlin, that has been equipped
with a new spatialisation system (Wave Field Synthesis), driven by a
Linux-Cluster.
The program of the conference is now online and (free) registration is
possible.
Free admission to all events except to the concerts at the Tesla and the
MaerzMusik
LAC2007 22.3. to 25.3.2007, TU-Berlin, www.lac.tu-berlin.de