Re: [linux-audio-dev] Getting out of the software game

2007-03-14 Thread Dmitry Baikov

On 3/14/07, Gordon JC Pearce [EMAIL PROTECTED] wrote:

I don't want to be associated with this nonsense any more.  It's not
what Free Software is about.

Ideal people in an ideal world do not need any licences and
open/closed sourcing.
We are not there.
Maybe you are.

Good luck.
May The Music be with you.


Re: [linux-audio-dev] Getting out of the software game

2007-03-14 Thread Dmitry Baikov

On 3/14/07, Gordon JC Pearce [EMAIL PROTECTED] wrote:

Anyway, rant over.  It's gone now.  I'm going back to concentrating on
hardware synths and analogue recording.


Good move, btw :)


Dmitry.


Re: [linux-audio-dev] Getting out of the software game

2007-03-14 Thread Dmitry Baikov

On 3/14/07, Christian Schoenebeck [EMAIL PROTECTED] wrote:

called Linux. And that was actually one of the reasons why I jumped on the
OSS train, because I didn't like wise developers to tell me what's good for
me or what's not. That should be up to the judgement of the respective user.


Then you will have wise HW vendors.

You can't have an absolute freedom. Your freedom is always bounded by
the freedom of another.
If developers will not take a freedom of choosing binary drivers from
user, then hardware vendors will take from users the freedom to use
free drivers.


Dmitry.


Re: [linux-audio-dev] Realtime problems with midi/osc sequencer

2007-03-10 Thread Dmitry Baikov

In addition to select() there's also clock_nanosleep(CLOCK_MONOTONIC,
0, tv, NULL), which in theory should give best resolution possible.

To set realtime privileges, use (taken from jack):

struct sched_param rtparam;
memset (rtparam, 0, sizeof (rtparam));
rtparam.sched_priority = priority;
pthread_setschedparam (thread, SCHED_FIFO, rtparam);



Interesting project, btw. I planned to start something like this myself.

Please, publish results of your timing experiments - very interesting!


Dmitry.


Re: [linux-audio-dev] Realtime problems with midi/osc sequencer

2007-03-10 Thread Dmitry Baikov

On 3/10/07, Christian [EMAIL PROTECTED] wrote:

On the one hand this indicates the thread running stable in realtime but
having a restriction to ~4ms/4000µs. Perhaps this is an in-system value

4ms means you have 250Hz kernel tick. Set it to 1024Hz or better try
tickless setup.


of sleep and the select approach Robin Gareus posted will help out.

I'd suggest using clock_nanosleep() and clock_gettime() with
clockid=CLOCK_MONOTONIC.
This is the more right approach than select/gettimeofday().


Dmitry.


[linux-audio-dev] jackmidi_alsaseq-0.4

2007-03-02 Thread Dmitry Baikov

Just can't resist.

-- Forwarded message --
From: Dmitry Baikov [EMAIL PROTECTED]
Date: Mar 2, 2007 3:59 AM
Subject: jackmidi_alsaseq-0.4
To: Jack Dev List [EMAIL PROTECTED]


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.


jackmidi_alsaseq-0.4.tar.bz2
Description: BZip2 compressed data


[linux-audio-dev] alsaseq reorders my events

2007-03-01 Thread Dmitry Baikov

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, 
timestamp);
frame_time = jack_frame_time(self-jack);
frame_offset = event.time - frame_time;

offset = ((long long)frame_offset) * 10 / rate;
timestamp.tv_sec = (long) (offset / 10);
timestamp.tv_nsec = (long) (offset % 10);
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)

[EMAIL PROTECTED] ~/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) (+50683ns)
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 8819 (86638585 + 28234) (+588208333ns)
80 4e 40  at 86669453 (86638585 + 30868) (+64308ns)
90 4e 7f  at 86673078 (86654965 + 18113) (+377354166ns)
80 4e 40  at 86676430 (86654966 + 21464) (+44716ns)
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:

[EMAIL PROTECTED] ~ $ 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 off0  78  64
128:2   Note off0  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 off0  78  64
128:2   Note on 0  78 127
128:2   Note off0  78  64
128:2   Note off0  78  64
128:2   Note on 0  78 111
128:2   Note off0  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.


Re: [linux-audio-dev] Sound processing objects architecture, is it possible?

2007-01-22 Thread Dmitry Baikov

On 1/22/07, Stefano D'Angelo [EMAIL PROTECTED] wrote:

What I'd like to work on is a sound processing architecture (LADSPA,
VST, DSSI, etc.) wrapper, which hides the details of a particular
implementation to audio program developers.

All this architectures have different APIs.
Will your one have an fat API (union of all APIs it hides) or a thin
API (intersection).
What will you do if APIs you wrap are doing the same things very different ways?

You say that if will be possible to compare standards or create a new ones.
If your API wraps them all, then it should automatically be best one.
So, why bother creating new API's if your proposal is in fact that new
API, which is better than any other.
And if it is not better, you can't use more advanced API through your wrapper.

Just some thoughts.

Regards,
Dmitry.


Re: [linux-audio-dev] Sound processing objects architecture, is it possible?

2007-01-22 Thread Dmitry Baikov

On 1/23/07, Stefano D'Angelo [EMAIL PROTECTED] wrote:

Good point! This is true, but there are lots of sound processing
plugins around, so maybe instead of creating a new API and then apply
some compatibility layer, it should be better to create a wrapping
tool natively. I think it should be also easier to expand.


Then, embrase LV2 and create LV2 plugins that will load VSTs, LADSPA
and anything you want.
Or if you want something not possible with LV2, write an extension proposal.

I think LV2 was designed as a very extendable API.
If it is not, in your opinion, then help the guys to improve it.


Regards,
Dmitry.


Re: [linux-audio-dev] Locks or no locks?

2007-01-12 Thread Dmitry Baikov

On 1/12/07, nick thomas [EMAIL PROTECTED] wrote:

Anyway, there's my question: which approach (lock-based or lock-free)
is generally favored for JACK programs? Thanks for helping a newbie
out!


You know th eanswer:


JACK's ringbuffer interface seems
to provide the necessary primitives to implement the latter approach.


It's the best.

Regards,
Dmitry.


Re: [linux-audio-dev] Re: MIDI

2006-11-12 Thread Dmitry Baikov

What is a really major issue, that all hw synths still have that slow
31.5kbps link.

Nonetheless, glad to hear FW-MIDI being that fast. And what about jitter there?
According to RME guys, without special handling USB-MIDI can suffer
delays about 6ms.
And with FW, they state there are the same problems (no numbers here)
and their Fireface has exceptional MIDI timing, comparing to all other
FW-offerings.

What do you think?


Dmitry.


[linux-audio-dev] ghostess patches

2006-10-16 Thread Dmitry Baikov

Hi!

Sean, thanks a lot for ghostess!
Take a look at the patches if you have time.

-execlp patch fixes things on 64-bit architectures: execlp() expects
its arglist to end with NULL, not 0. And on 64-bit architectures they
are different (0 is 32-bit int, and NULL is 64-bit pointer).

-configure and -jackmidi patches are from gentoo proaudio overlay and
are included for completeness.


Regards,
Dmitry.
diff -r 5678f72103c5 src/ghostess.c
--- a/src/ghostess.c	Mon Oct 16 01:06:53 2006 +0400
+++ b/src/ghostess.c	Mon Oct 16 01:05:06 2006 +0400
@@ -1034,7 +1034,7 @@ start_ui(d3h_instance_t *instance)
  * figure out which fds to close before the exec */
 if ((pid = fork()) == 0) {
 if (fork() == 0) {
-execlp(filename, filename, osc_url, dllName, label, tag, 0);
+execlp(filename, filename, osc_url, dllName, label, tag, NULL);
 ghss_debug(GDB_ERROR, : exec of UI failed: %s, strerror(errno));
 }
 _exit(1);
@@ -1107,7 +1107,7 @@ start_ui(d3h_instance_t *instance)
  * figure out which fds to close before the exec */
 if ((pid = fork()) == 0) {
 if (fork() == 0) {
-execlp(filename, filename, osc_url, dllName, label, tag, 0);
+execlp(filename, filename, osc_url, dllName, label, tag, NULL);
 ghss_debug(GDB_ERROR, : exec of universal GUI failed: %s, strerror(errno));
 }
 exit(1);
diff -r 5678f72103c5 configure.ac
--- a/configure.ac	Mon Oct 16 01:06:53 2006 +0400
+++ b/configure.ac	Mon Oct 16 01:05:06 2006 +0400
@@ -43,7 +43,6 @@ darwin*)
 *)
   darwin=no
   PKG_CHECK_MODULES(ALSA, alsa = 0.9.0)
-  AC_DEFINE(MIDI_ALSA, 1, [Define for ALSA MIDI support on Linux])
   ;;
 esac
 AM_CONDITIONAL(DARWIN, test x$darwin = xyes)
@@ -57,10 +56,17 @@ AC_SUBST(JACK_LIBS)
 AC_SUBST(JACK_LIBS)
 
 dnl Check for JACK MIDI support
+AC_ARG_WITH(jackmidi,AC_HELP_STRING([--with-jackmidi], [default=yes]),
+	[ if test $withval = yes;then with_jack_midi=yes;
+		else with_jack_midi=no; fi ])
+if test x${with_jack_midi} = 'xyes'; then
 AC_CHECK_LIB(jack, jack_midi_port_get_info,
  [with_jack_midi=yes
   AC_DEFINE(MIDI_JACK, 1, [Define for JACK MIDI support])],
  with_jack_midi=no, $JACK_LIBS)
+else if test x${darwin} = 'xno'; then
+	AC_DEFINE(MIDI_ALSA, 1, [Define for ALSA MIDI support on Linux])
+fi fi
 AM_CONDITIONAL(MIDI_JACK, test x$with_jack_midi = xyes)
 
 dnl Use lotsa flags if we have gcc.
diff -r 5678f72103c5 src/ghostess.c
--- a/src/ghostess.c	Mon Oct 16 01:06:53 2006 +0400
+++ b/src/ghostess.c	Mon Oct 16 01:05:06 2006 +0400
@@ -226,7 +226,7 @@ audio_callback(jack_nframes_t nframes, v
 unsigned int last_tick_offset = 0;
 #ifdef MIDI_JACK
 void* midi_port_buf = jack_port_get_buffer(midi_input_port, nframes);
-jack_default_midi_event_t jack_midi_event;
+jack_midi_event_t jack_midi_event;
 jack_nframes_t jack_midi_event_index = 0;
 jack_nframes_t jack_midi_event_count = jack_midi_port_get_info(midi_port_buf, nframes)-event_count;
 static snd_seq_event_t jack_seq_event_holder[3];
@@ -253,7 +253,7 @@ audio_callback(jack_nframes_t nframes, v
 
 int count;
 
-jack_midi_get_event_n(jack_midi_event, midi_port_buf, jack_midi_event_index, nframes);
+jack_midi_event_get(jack_midi_event, midi_port_buf, jack_midi_event_index, nframes);
 jack_midi_event_index++;
 
 jack_seq_event = jack_seq_event_holder;


[linux-audio-dev] hearnet improvement

2006-10-05 Thread Dmitry Baikov

Hi!
First of all, thanks for a great program!

I made two patches for it:
1) make hearnet suid and drop privileges right after libpcap initialization.
I had to move libpcap init code above jack

So, you can use hearnet as regular user.

2) Mutex in jack_process is a very bad thing. Moreover, it seems
there's no need for it, as voice-active field serves as a mutex.
Attached patch removes pthread_mutex.
If you think voice-active assumption is a weak one, the problem can
be solved with a pair of jack_ringbuffers: one for free voices and one
for active.


Regards,

Dmitry.
diff -r e33c4561875a Makefile
--- a/Makefile	Thu Oct 05 21:08:43 2006 +0400
+++ b/Makefile	Thu Oct 05 21:16:24 2006 +0400
@@ -9,5 +9,9 @@ clean:
 clean: 
 	rm -f hearnet *.o core*
 
+suid: hearnet
+	chown root hearnet
+	chmod u+s hearnet
+
 dist: all
 	darcs dist -d hearnet-$(version)
diff -r e33c4561875a hearnet
Binary file hearnet has changed
diff -r e33c4561875a hearnet.cpp
--- a/hearnet.cpp	Thu Oct 05 21:08:43 2006 +0400
+++ b/hearnet.cpp	Thu Oct 05 21:14:00 2006 +0400
@@ -178,6 +178,21 @@ int main(int argc, char **argv)/*{{{*/
 
 if (argc  1)
 	dev = argv[1];
+	
+// libpcap stuff /*{{{*/
+pcap_t *hdl_pcap;
+char perrbuf[PCAP_ERRBUF_SIZE];
+hdl_pcap = pcap_open_live(dev, BUFSIZ, 0, 0, perrbuf);
+if (hdl_pcap == NULL)
+{
+	fprintf(stderr,pcap_open_live; %s\n, perrbuf);
+	usage();
+}
+
+seteuid(getuid());
+ 
+/*}}}*/
+
 
 snprintf(client_name, sizeof(client_name), hearnet %s, dev);
 // jack stuff {{{
@@ -219,18 +234,6 @@ int main(int argc, char **argv)/*{{{*/
 	init_voices();
 
 
-// libpcap stuff /*{{{*/
-pcap_t *hdl_pcap;
-char perrbuf[PCAP_ERRBUF_SIZE];
-hdl_pcap = pcap_open_live(dev, BUFSIZ, 0, 0, perrbuf);
-if (hdl_pcap == NULL)
-{
-	fprintf(stderr,pcap_open_live; %s\n, perrbuf);
-	usage();
-}
- 
-/*}}}*/
-
 	timeval tv_start;
 	gettimeofday(tv_start,0);
 	srand(tv_start.tv_sec);
diff -r 8dea68398052 hearnet.cpp
--- a/hearnet.cpp	Thu Oct 05 21:21:15 2006 +0400
+++ b/hearnet.cpp	Thu Oct 05 21:55:43 2006 +0400
@@ -75,8 +75,6 @@ int process (jack_nframes_t nframes, voi
 {
 jack_default_audio_sample_t *out = (jack_default_audio_sample_t *) jack_port_get_buffer (output_port, nframes);
 
-pthread_mutex_lock(mutex);
-
 memset(out, 0, sizeof(jack_default_audio_sample_t)*nframes);
 	
 	for (int index = 0; index != MAX_VOICES; index++)
@@ -114,8 +112,6 @@ int process (jack_nframes_t nframes, voi
 		}
 	}
 
-pthread_mutex_unlock(mutex);
-
 return 0;
 }/*}}}*/
 /** jack callback to set sample rate */
@@ -138,8 +134,6 @@ void shutdown(void *arg)/*{{{*/
 /** packet handler called by pcap_dispatch in main() */
 void packet_handler(u_char * args, const struct pcap_pkthdr *pcap_hdr, const u_char * p)/*{{{*/
 {
-pthread_mutex_lock(mutex);
-	
 	voice* new_voice = get_free_voice();
 	if (new_voice)
 	{
@@ -155,8 +149,6 @@ void packet_handler(u_char * args, const
 		new_voice-attacklength = (rand()%20 + 1) / 1000.0f; // 10ms
 		new_voice-active = true;
 	}
-pthread_mutex_unlock(mutex);
-		
 }/*}}}*/
 
 void usage(void)/*{{{*/ 


Re: [linux-audio-dev] Re: very nice looking HW

2006-09-06 Thread Dmitry Baikov

On 9/7/06, John Rigg [EMAIL PROTECTED] wrote:

Hmm. The manufacturer's web page describes it as a 32 channel interface
but I could only count 16 :(


It's 16x16 = 8x8 analog + 8x8 ADAT optical


Dmitry.


Re: [linux-audio-dev] all your face are belong to audicle (source released!)

2006-08-16 Thread Dmitry Baikov

Finally, great news!

Runs fine, though I haven't done anything with it yet :)

To build it I had to comment line 83 in chuck.y:

//%expect 35


Regards,
Dmitry


Re: [linux-audio-dev] light C++ set for WAV

2006-07-26 Thread Dmitry Baikov

Hi, Erik!

I'd suggest making all wrapper functions inline,
as they are one-liners by definition and
anyway wrapper includes libsndfile headers.
So there's nothing to hide here.

Regards,
Dmitry


Re: [linux-audio-dev] diskstream and jack

2006-07-14 Thread Dmitry Baikov

Hi Conrad,


- 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.

Use semaphores, Luke!


-Which size should the ringbuffer have.

You need to experiment a bit, but I think 64k is sufficuent. Anyway
better do this user-controlled.


- How should the ringbuffer be initilized when starting to play?
- Any small program to have look into or a good inroduction into pthreads?.


You may look into my oss-jack wrapper. It's really simple and
emulation of blocking io does exactly what you need.

http://www.konstruktiv.org/joss/


Re: [linux-audio-dev] diskstream and jack

2006-07-14 Thread Dmitry Baikov

The short answer:

#include jack/jack.h
#include jack/ringbuffer.h
#include semaphore.h

sem_t block_wait;
jack_ringbuffer_t ringbuf;

init()
{
   int max_blocks = buffer_size_in_samples/jack_block_size
   sem_init(block_wait, 0, max_blocks);
}

jack_process()
{
   float *out = jack_port_get_buffer(...);
   jack_ringbuffer_read(ringbuf, out, block_size*sizeof(float));
   sem_post(block_wait);
}

int exit = 0;
worker_thread()
{
   while( !exit) {
   sem_wait(block_wait);
   read_from_disk_to_ring_buffer()
   }
}

correct program should use jack_default_audio_sample_t instead of float
and should deal with buffer size changes (as well as sample rate) ;)

I'll try to write a working example tonight (using libsndfile of course).
Or take a look at examples/capture_client.c in jackd distribution. It
uses mutex/cond but the idea is the same (semaphores are better,
actually. Jack example needs a fix).

Regards,
Dmitry.


Re: [linux-audio-dev] diskstream and jack

2006-07-14 Thread Dmitry Baikov

And don't forget to deal with xruns (skip one jack buffer on each xrun).


Re: [linux-audio-dev] diskstream and jack

2006-07-14 Thread Dmitry Baikov

This means every Port has his own Ringbuffer, right? So stereo needs two, 5.1
needs 6 ?
But i only need one sem_post for all, because i should avoid to have different
readpositions in my RingBuffers.

As you wish, you may have one interleaved ring buffer. But only one
semaphore to rule them all.



And if i understand Paul Davis in  the right way, i never read more data as
jack needed, and this isn't more as 1 or 2k - normally. ??!

Vice versa. You'd better cache more data (about 5 seconds, according
to Paul), as your disk-thread is not realtime (and should not be) and
may get stuck a bit.


Re: [linux-audio-dev] Creative EMU1212m

2006-07-13 Thread Dmitry Baikov

Hi James,

I am very interested in such a driver, but don't have a card to help you.
Will your driver work with Emu 1616M?


Best wishes,

Dmitry.


Re: [linux-audio-dev] memory-mapped wav files

2006-07-13 Thread Dmitry Baikov

If you need to stream a file, mmap'ed variant will eat memory up to
file size. Given large enough file, it will eat all you memory and
then will begin to page out unused portions of the file.
Of course, details on when and where will vary depending on VM-system
implementation.

The thing is, you really need only a small portion of a file. Memory
mapping is useful if you need all data to be (virtually) present in
RAM.

Regards,

Dmitry.


[linux-audio-dev] Re: [linux-audio-user] Re: First trip to Europe

2006-05-10 Thread Dmitry Baikov

To close this thread for now.

Thank you all for your kind and useful responces.
However, it turned out that the main showstopper is visa.
We can't get it for such a long time (a month), as it would be our first one.
Things get even more complicated, since my girlfriend right now is not
a student and does not have a job. They say we should build our
Shengen history and after one-two (more - better) short and regular
tours we can hope to get month-long visa anywhere we want.
Taking this into account, we have to postpone our Trip to the next
year and try to make two tours to shengen this year.
It's a pity, since tours via travel agencies are about twice as
expensive, but they are our only legal gates to europe.
Moveover, the choice of the first place to visit is also restricted.
We wanted to make London-Paris tour, but GB has very strict rules and
rules us out. Possibly, it will be France and/or Italy as the most
permissive ones.

Will try to match our DreamTrip with the next LAC.

Kind regards,
Dmitry.


Re: [linux-audio-dev] LADSPA 2 name

2006-05-10 Thread Dmitry Baikov

LAMA - Linux(Libre) Audio Modules Architecture

I hope The Dalai Lama will not object.


Re: [linux-audio-dev] Re: LADSPA2 name early consensus?

2006-04-27 Thread Dmitry Baikov
Here's my variants

LiMP - Linux/Libre Media Plugin
LAM - Linux Audio Module
LAMA - Linux Audio Module Architecture


[linux-audio-dev] Re: [linux-audio-user] Re: First trip to Europe

2006-04-20 Thread Dmitry Baikov
Thank you all for you replies so far. Waiting for more ;)
Need some time to analyse all info, but now some quick answers.

Jens M Andreasen [EMAIL PROTECTED] wrote:
 Given the almost unbeliveable long list of places to visit ...
:) You know, it's a plan. Flexible one. And for a month.
And I don't think we'll  travel again in a nearest year or so.

Frank, thank you for invitation, but it's nearly impossible for us to
be there at 18th of May.

On Wednesday 19 April 2006 23:32, Carotinho was like:
 Since when Russia is outside Europe?:)
Geographically it is inside, but it's not that easy to get visa.

It turns out we have to drop UK and Chezh since they are out of
Schengen zone and need separate visas. Switzerland is not an option by
the same reason.

Still trying to figure out the easiest way to get visa. The country we
get Schengen visa from should be the first country of our trip. Hope
it will be Finland. But it may be France.

Fons, thanks for your advice. Replaced Brussels with Antwerp. :) I
hope we'll get there.

Carotinho [EMAIL PROTECTED] wrote:
 Ehi, what's the ? after Milan?:)
Sorry, I know each country is very interesting and beautiful and needs
a separate visit. But we want to get the taste of europe and look
for places we'll want to study deeper.

Kind regards,
Dmitry.


Re: [linux-audio-dev] jack and sampling rates

2006-04-20 Thread Dmitry Baikov
http://www.mega-nerd.com/SRC/

Dmitry.


[linux-audio-dev] [OT] First trip to Europe

2006-04-19 Thread Dmitry Baikov
Hello, all!

Me and my girlfriend are planning a trip to Europe for a month between
May and June.
It will be our first trip abroad, so please help if you can with a good advice.
Since it's not so easy to get out of here (russia), and I can't visit
all that great  numerous openlab's etc., one of the main goals is
community building:
I'd like to meet (at least some of ) you, LADs/LAUs, in person.

Current plan is (yes, it's huge):
Moscow
St.Petersurg
--
Helsinki
Stockholm
Berlin
Koeln
Brussels
London
Paris
Bourdeaux
Madrid
Barcelona,Figeras
Genova
Milan?
Rome
Venice
Vienna
Prague
--
Moscow

There are two main questions
(lonelyplanet.com helps a bit, but residents can say much more):

1) what is the cheapest way to travel inside europe?
Bus? Airplane? If it's by air, how can we buy cheapest tickets? Which
company? How much days before the flight? etc. Or may be hitchhiking?

2) how hard is to find cheap place to sleep?

AND

Where can we meet YOU?

Sorry, we don't know exact dates as we are researching on european
visa (trip begins from Helsinki, since it seems the easiest way to get
into europe).


Sincerely,
Dmitry.


Re: [linux-audio-dev] multiface latency question

2006-04-12 Thread Dmitry Baikov
On 4/12/06, Esben Stien [EMAIL PROTECTED] wrote:
  post its latency (2x64)
 ..and I suppose you mean 48000 sampling rate.

I'm sure it does not matter, jdelay measures samples not seconds.
Or hw can have different paths for different sample rates?

 206.765
Thanks.

Dmitry.


Re: [linux-audio-dev] [ot] How do GUI-libs notify the program of changes?

2006-04-11 Thread Dmitry Baikov
   Well this sounds good, but I want it to do the standard-API- and
 mechanism-way. I want it to be easy for programmers to use the CUI library. I
 don't know will this still be ok with OSC as communication?

No matter what tech you use, you'll need:
1) communicational channel
2) message creation/parsing
3) message routing (handling)

Yes, you may use FIFO's (pipes) with standard POSIX API's as a
channel, and write messaging stuff yourself. But unless you have very
specific requirements, you'll end up writing liblo equivalent. With
the exception that you'll have to write and support it yourself.

Use liblo, it's easy.
Even if you choose to drop it, this experience will help.

Regards,

Dmitry.


Re: [linux-audio-dev] [ot] How do GUI-libs notify the program of changes?

2006-04-10 Thread Dmitry Baikov
Julien,

If I understand your question right, you have gui/cui and engine in
separate processes and want them to communicate.
My answer is: you are going the right way(tm), use OSC via liblo.

Regards,

Dmitry.


Re: [linux-audio-user] Re: [linux-audio-dev] music engine

2006-04-07 Thread Dmitry Baikov
 I can re-write Ableton Live with qt, and even
 make it fast in python (which escapes the linux-only concept, mind you
 :)) - that's not hard. What is hard is finding an engine that lets me
 focus on my GUI as opposed to the engine or *anything* related to
 communicating with the engine (besides the above calls, of course).

Wow! I'm thinking about something like Ableton Live (but I'm mostly
interested in MIDI),
and I hate writing GUIs.
I tried to do some GUI stuff first as the most dull and complex(for
me) part. But it's a pain.
Since there are peolpe wanting to make GUI stuff (surprise!), I'm
throwing this away and start working on the engine.

Btw, Live leaves much to be desired. Different tempos for different
tracks, for example.

Dmitry.


[linux-audio-dev] multiface latency question

2006-04-06 Thread Dmitry Baikov
Hello!

I'm planning to get RME Multiface (II) and have a question to it's owners.
Can you, please, post its latency in audio loop, measured with jaaa in
2x64 buffer setup.

Thank you.

Regards,

Dmitry.

P.S. crossposted from LAU, since there were no responces.


Re: [linux-audio-dev] multiface latency question

2006-04-06 Thread Dmitry Baikov
 Better use jdelay for that, that's why it exists !

Oops, my bad - I mixed up the names...

jdelay, definetely!


P.S. that's why I get no responces - they are still measuring


[linux-audio-dev] EMU 1212M

2006-04-06 Thread Dmitry Baikov
On 4/6/06, James Courtier-Dutton [EMAIL PROTECTED] wrote:
 Creative have actually donated an X-Fi and an EMU1212M to me.
 No datasheets, but at least having the hardware is a start. (Creative
 pass me some datasheets for other cards though)
 I have currently got as far as horrible noises coming from the EMU1212M.

So, does it mean that soon we'll have linux drivers for Emu 1212, 1616 and 1818?

Regards,

Dmitry.


Re: [linux-audio-dev] multiface latency question

2006-04-06 Thread Dmitry Baikov
  P.S. that's why I get no responces - they are still measuring
 It shouldn't take more than a minute...

I mean they are measuring with jaaa ;)

Still hoping to get the info,

Dmitry.


Re: [linux-audio-dev] multiface latency question

2006-04-06 Thread Dmitry Baikov
My Delta66 has latency of 188 samples.
In theory, Multiface's could have the same results, but it definetely
should do more buffering to send values to breakout box.

As Jan measured, there is a little: ~207 vs 188.

Thank you!

Dmitry.

P.S. if only EMU 1616M had linux drivers...
At least RME has much better quality for its price, I hope.


Re: [linux-audio-dev] Re: GPL Audio Hardware

2006-04-04 Thread Dmitry Baikov
LAD guys,

You are right in your comments, but please, take it easier.

Richard and OGP company have no illusions about them being audio professionals.
And yes, it's more useful to look at RME, Echo, M-Audio, but keep it
cool, please ;)

Thank you.

Best regards,

Dmitry.


Re: [linux-audio-dev] Re: GPL Audio Hardware

2006-04-04 Thread Dmitry Baikov
It will be cool to have something like RME Multiface with ExpressCard/34 option.

Dmitry.


Re: [linux-audio-dev] Re: GPL Audio Hardware

2006-04-04 Thread Dmitry Baikov
On 4/4/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 how expensive is a firewire port ?
 firewire stuff is THE niche to fill.
 most newer firewire devices are not supported if if i understand
 correctly.

It's is THE niche if it can provide 1-3ms roundtrip latencies.
For now (under linux at least) PCI/PCMCIA is unbeatable.
If I remember correctly, Motu 828 II (fw) under Mac OS X gives ~280
samples in audio loop.
It's good, but on the edge of usability for realtime processing.


Re: [linux-audio-dev] Free Software vs. Open Source: Where do *you* stand?

2006-02-21 Thread Dmitry Baikov
 weapon producers, who you're equating with evil
 (and, implicitly, weapon
 users, a fact which I find personally insulting).  That's all wrong,
Very arguable. I find him being right about weapons.

 Yeah, ever heard of capitalism?  Or do you have a bone to pick with
 that, too?
Capitalism in its pure as is form is very anti-human. It is very
effective and rational, but we are not robots. Moreover, our
irrational and ineffective parts are making us humans.

 Last I checked, Microsoft wasn't bombing any subways.
Living in a slavery of mind and soul is not what's called Life.


Re: [linux-audio-dev] Re: [admin] attention gmail users [...]

2005-12-01 Thread Dmitry Baikov
 To be specific, in Settings, choose the use UTF-8 option for Outgoing 
 message encoding on the General page.
Thank you.
Best regards,Dmitry.


[linux-audio-dev] Edirol FA-101

2005-10-21 Thread Dmitry Baikov

Hello!
Recently got FA-101.
But can't get it to work. Jackd log is below.
Thank  you in advance.

Regards,
Dmitry.


JACK compiled with System V SHM support.
loading driver ..
IEC61883: Using FreeBobCtl lib version 0.0.1 (Build Oct 20 2005 - 01:33:14)
Reading from OSC URL: osc.udp://localhost:31000
requesting channel info from osc.udp://localhost:31000
adding generic handler...
adding /reponse handler...
parsing address...
sending request... waiting for response... ok
freeing...
done...
ConnectionInfo contains 1 connection_specs
IEC61883: Adding 1 capture connection(s)...
IEC61883:   capture connection 0: 0 streams, dim 0 from (0,11,11)
IEC61883: adding stream 0: (1,1) 0x06 0x02 - 0 (MicIn1 l)
IEC61883: adding stream 1: (6,2) 0x06 0x02 - 0 (MicIn1 right)
IEC61883: adding stream 2: (2,1) 0x06 0x03 - 0 (LineIn 34 l)
IEC61883: adding stream 3: (7,2) 0x06 0x03 - 0 (LineIn 34 right)
IEC61883: adding stream 4: (3,1) 0x06 0x03 - 0 (LineIn 56 l)
IEC61883: adding stream 5: (8,2) 0x06 0x03 - 0 (LineIn 56 right)
IEC61883: adding stream 6: (4,1) 0x06 0x03 - 0 (LineIn 78 l)
IEC61883: adding stream 7: (9,2) 0x06 0x03 - 0 (LineIn 78 right)
IEC61883: adding stream 8: (0,1) 0x06 0x04 - 0 (SpdifIn left)
IEC61883: adding stream 9: (5,2) 0x06 0x04 - 0 (SpdifIn righ)
IEC61883: adding stream 10: (10,1) 0x0D 0x0A - 0 (MidiPort)
requesting channel info from osc.udp://localhost:31000
adding generic handler...
adding /reponse handler...
parsing address...
sending request... waiting for response... ok
freeing...
done...
ConnectionInfo contains 1 connection_specs
IEC61883: Adding 1 playback connection(s)...
IEC61883:   playback connection 0: 0 streams, dim 0 to (0,11,11)
IEC61883: adding stream 0: (1,1) 0x06 0x03 - 0 (LineOut 12 left)
IEC61883: adding stream 1: (6,2) 0x06 0x03 - 0 (LineOut 12 righ)
IEC61883: adding stream 2: (2,1) 0x06 0x03 - 0 (LineOut 34 left)
IEC61883: adding stream 3: (7,2) 0x06 0x03 - 0 (LineOut 34 righ)
IEC61883: adding stream 4: (3,1) 0x06 0x03 - 0 (LineOut 56 left)
IEC61883: adding stream 5: (8,2) 0x06 0x03 - 0 (LineOut 56 righ)
IEC61883: adding stream 6: (4,1) 0x06 0x03 - 0 (LineOut 78 left)
IEC61883: adding stream 7: (9,2) 0x06 0x03 - 0 (LineOut 78 righ)
IEC61883: adding stream 8: (0,1) 0x06 0x04 - 0 (SpdifOut lef)
IEC61883: adding stream 9: (5,2) 0x06 0x04 - 0 (SpdifOut rig)
IEC61883: adding stream 10: (10,1) 0x0D 0x0A - 0 (MidiPort)
IEC61883D: Creating driver (period_size=256, ringbuffer_size=8192)
Creating IEC61883 client... 256/8192/48000
poll timeout = 5 ms
Creating 11 buffers of 8192 quadlets...
IEC61883C: Creating playback connection from node 65472, plug 0
prebuffers=0, buffers=300, irq_interval=100
Creating 11 buffers of 8192 quadlets...
IEC61883 Client created...
Initializing OSC debug  statistics server... port 31001 OK
Starting OSC debug  statistics server... OK
IEC61883CM: registered jack port cap_0_0_0_MicIn1 l
IEC61883CM: registered jack port cap_0_0_0_MicIn1 right
IEC61883CM: registered jack port cap_0_0_0_LineIn 34 l
IEC61883CM: registered jack port cap_0_0_0_LineIn 34 right
IEC61883CM: registered jack port cap_0_0_0_LineIn 56 l
IEC61883CM: registered jack port cap_0_0_0_LineIn 56 right
IEC61883CM: registered jack port cap_0_0_0_LineIn 78 l
IEC61883CM: registered jack port cap_0_0_0_LineIn 78 right
IEC61883CM: registered jack port cap_0_0_0_SpdifIn left
IEC61883CM: registered jack port cap_0_0_0_SpdifIn righ
IEC61883CM: registered midi port MidiIn_0_0_0_MidiPort_1 as 128:0
IEC61883CM: registered jack port pbk_0_0_0_LineOut 12 left
IEC61883CM: registered jack port pbk_0_0_0_LineOut 12 righ
IEC61883CM: registered jack port pbk_0_0_0_LineOut 34 left
IEC61883CM: registered jack port pbk_0_0_0_LineOut 34 righ
IEC61883CM: registered jack port pbk_0_0_0_LineOut 56 left
IEC61883CM: registered jack port pbk_0_0_0_LineOut 56 righ
IEC61883CM: registered jack port pbk_0_0_0_LineOut 78 left
IEC61883CM: registered jack port pbk_0_0_0_LineOut 78 righ
IEC61883CM: registered jack port pbk_0_0_0_SpdifOut lef
IEC61883CM: registered jack port pbk_0_0_0_SpdifOut rig
IEC61883CM: registered midi port MidiOut_0_0_0_MidiPort_1 as 128:1
Client start...
creating capture connections...
libiec61883 warning: iec61883_cmp_create_p2p_output: Failed to set the 
oPCR[0] plug f

or node 0.
Init ISO master receive handler on channel -1...
  (BUFFER=300,PACKET_MAX=2048
,IRQ=100)...
Start ISO master receive...
IEC61883C: couldn't start receiving: Invalid argument

DRIVER NT: could not start driver
cannot start driver



[linux-audio-dev] Re: [linux-audio-user] External audio interface (edirol FA/UA-101)

2005-09-28 Thread Dmitry Baikov
On 9/28/05, *Paul Davis* [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


 Is it possible in practice? And for what number of channels? Also,
   is FW
 much better than USB2 and why?

   yes, its much better: vastly higher bandwidth, much faster bus clock.


Theoretical(!) numbers are: FW-400 = 400MBits/s, USB2.0 = 480 MBits/s



 As for RME Multiface

   i'm not sure that its that hard anymore. kernel 2.6 seemed to have fixes
   ...
   --p


As I see, you insist on RME :) Reasonable choice. More expensive, but 
bullet-proof.
From reading RME mailing lists, I know there were many problems with 
Ricoh controllers (on PCI bursts). And everybody recommends TI. But most 
notebooks to choose from have Ricoh controllers. Do you know if these 
problems were solved? According to the list everybody went for Fireface 
now, so there's no feedback on modern cardbus setups.

And even less on linux setups.

Questions about FA-101 still remain :)

More opinions / experiences are welcome :)

Thank you.
Dmitry.



[linux-audio-dev] Re: [linux-audio-user] External audio interface (edirol FA/UA-101)

2005-09-28 Thread Dmitry Baikov

thats not a very fair comparison. USB2.0 is the new USB, FW800 is the
new FW :) but FW is also a better protocol, which means its easier to
get close the theoretical maximum than it is with USB.

Fair enough, given USB2.0 and FW400 in most of laptops. And UA-101 is a 
USB2 device (though, has no driver support yet)

Anyway, I'm interested in practical applications, not a theoretical ones.


if you were in the US, i could offer you the best prices on RME gear
(i'm a dealer), but with a european location, thats not likely.


Thank you, Paul. I also know where the linux drivers come from ;)

Dmitry.



Re: [linux-audio-dev] Sending USB msgs to sound card through snd_usb_audio driver - how ?

2005-06-07 Thread Dmitry Baikov
Use the Source, Luke!

As far as I seen (not far, really), it does not allow to send custom
messages. But nobody stops you from extending the driver a bit ;)



Re: [linux-audio-dev] Drum synth

2004-09-24 Thread Dmitry Baikov
[EMAIL PROTECTED] wrote:
 while speaking of software drumsynths (I also saw mention of the Stomper
 software earlier in this thread) - I'm pretty sure that Paul mda Kellett
 is also reading this list; maybe we can persuade him to open part of the
 source code for his Windows DrumSyn(*) program? When I toyed around with it
 some years ago I found it quite good in sound quality (not much eye candy,
Hey, great program! Why I hadn't found it earlier..?
I should now try it under Wine, until Paul shares the source :)

 but that's really a minor thing). Paul, are you with us? :-) C'mon, it's almost
 4 years old now ;-).
We all will be happy, Loki especially :)


[linux-audio-dev] VP kernels

2004-09-22 Thread Dmitry Baikov
Hello!
I'm not subscribed to LKML, so positng here.
Anyone tried 2.6.9-rc2-mm1-VP-S3?
In two words: no luck.
i8042 does not work at all (have an usb kbd hopely).
Nvidia-61.11 does not modprobe (unresolved symbols), but builds .

2.6.9-rc1-VP-S0 works fine. except for few lockups after writing cds
(may be not kernel, but xorg-6.8.0).

Any comments?

-- Dmitry.


[linux-audio-dev] Drum synth

2004-09-18 Thread Dmitry Baikov
Hello.
I finally started making my pet music project and realized I need a
drum synth to make some cool sounds. psindustrializer is good but also
need some tr-909-style sounds. I remeber from my old windoze days I
used a nice piece of software called Stomper. Does anybody know any
software for linux with comparable capabilities? Or we need to write
one?

Stomper does not work under wine :(

Thanks.


Re: [linux-audio-dev] Drum synth

2004-09-18 Thread Dmitry Baikov
  Hydrogen sounds like what you need:
  http://hydrogen.sf.net/
 not exactly, but is the best candidate i can think of for such a
 feature as being dicussed in this thread... i mean hydrogen could do
 quite well with some synthesis channels using the interface it has
 allready.
As far as I understand... Hydrogen is sample-player + drum-sequencer.
Do we need a kitchen sink there?

For me it would be better to have a separate drum-synth. So I can
drive it with seq24.
 
 Comix what do you say? :)
 show us the modular API to hook sample channels in hydrogen! :))
:)

It's time to port Stomper...I suppose.


Re: [linux-audio-dev] Drum synth

2004-09-18 Thread Dmitry Baikov
Sorry, sent personal emails instead of list. Reposting...

 Hydrogen sounds like what you need:
 http://hydrogen.sf.net/

Thank you. I know :) But hydrogen just uses samples.
I can download TR-909 or TR-808 samples and use them in Specimen (or
Hydrogen). The thing is to generate my own different(!) sounds. The
only thing I know for now which can help is Stomper, but it does not
work under Wine :(
Drumatic-VST also segfaults.
Uh...

  Hydrogen sounds like what you need:
  http://hydrogen.sf.net/
 not exactly, but is the best candidate i can think of for such a
 feature as being dicussed in this thread... i mean hydrogen could do
 quite well with some synthesis channels using the interface it has
 allready.
As far as I understand... Hydrogen is sample-player + drum-sequencer.
Do we need a kitchen sink there?

For me it would be better to have a separate drum-synth. So I can
drive it with seq24.

 Comix what do you say? :)
 show us the modular API to hook sample channels in hydrogen! :))
:)

It's time to port Stomper...I suppose.