Hi lists,
my little report on the lac-concerts and some other subjects of the lac
in Karlsruhe will be broadcasted tomorrow on SWR2 JetztMusik Magazin at 23h.
Michael
Well, mixed results tonight.
I was able to get some sound to go across the ADAT
cables from the PC to the AW4416. But not good sound.
On the bright side, I think I more or less understand
connecting things up with jack, ecasound, and so on.
On the bad side, so far it's not working too well.
I monitored things with "jackmeter" and this meter
registered peaks near 0dB for the stuff I was playing
with ecasound, and pretty high levels for the most part.
On the AW4416, the levels were registering between -30dB
and -48dB. I guess I don't understand how ADAT works.
I was under the impression the signal going across the
cables was digital -- and so to get a reduction in levels
like that, I would expect some digital numbers would have
to go from being big numbers to being small numbers, which
seems unlikely thing to happen to numbers encoded as pulses
going down a cable. So I conclude I don't know how ADAT
works, except it's not as I imagined it did.
Oh, and besides a drastic loss of signal level, the signal
was distorted strangely. Hard to describe. This may be
due to xruns... I haven't got things to work without xruns
yet, but that shouldn't cause a drop in levels, right? Just
kind of choppiness, dropouts, crappy sound, right?
Transfering from the AW4416 to the PC did not work at all.
on capture_1 and capture_2, I got very low level white noise
apparently. Are those the s/pdif ports? On the other
channels input was dead silence.
I tried both ADAT ports on the RME board, with similar results
on each. I tried swapping the two ADAT cables in case one of
the cables was bad... this did not seem to make a difference.
Maybe the RME just transmits harder than the Yamaha, so it's
signal makes it across (just barely, crossing the finish
line at -48dB) while the yamaha's signal dies.
I did change the RME's frequency to 44.1kHz in qjackctl's
setup window.
Maybe there are some clues in here:
[root@zuul R15]# cat /proc/asound/R15/rme9652
RME Digi9636 (Rev 1.5) (Card #2)
Buffers: capture f6a00000 playback f6400000
IRQ: 10 Registers bus: 0xea000000 VM: 0xf88a2000
Control register: 48029
Latency: 1024 samples (2 periods of 4096 bytes)
Hardware pointer (frames): 1024
Passthru: no
Clock mode: autosync
Pref. sync source: ADAT1
ADAT1 Input source: ADAT1 optical
IEC958 input: Internal
IEC958 output: Coaxial only
IEC958 quality: Consumer
IEC958 emphasis: off
IEC958 Dolby: off
IEC958 sample rate: error flag set
ADAT Sample rate: 44100Hz
ADAT1: No Lock
ADAT2: Sync
ADAT3: No Lock
Timecode signal: no
Punch Status:
1: off 2: off 3: off 4: off 5: off 6: off 7: off 8: off
9: off 10: off 11: off 12: off 13: off 14: off 15: off 16: off
17: off 18: off
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Hi!
I am trying to notify a high priority (nice -20 or nice -19) thread from
a realtime thread (from a jack callback to be precise). Of course I want
the realtime thread to not block, but I want the high priority thread to
react as soon as possible. For the first implementation, I used a
condition, and pthread_cond_signal. But as I can't aquire a mutex within
the realtime thread, at least not always (at most with trylock()), this
results in racy code.
Also, it doesn't integrate well with poll(), which the high priority
process should be able to use. So basically I want to switch to a pipe
write() instead of pthread_cond_signal.
Now the question is: am I producing priority inversion, then? I've seen
that the kernel code of pipe write has code like
mutex_lock(PIPE_MUTEX(*inode));
(in fs/pipe.c, linux-2.6.16.16), so can this mutex cause priority
inversion?
However, on the other hand, I examined the code of
glibc-2.3.6/ntpl/sysdeps/pthread, and found in pthread_cond_signal.c:
__pthread_cond_signal (cond)
pthread_cond_t *cond;
{
/* Make sure we are alone. */
lll_mutex_lock (cond->__data.__lock);
/* Are there any waiters to be woken? */
if (cond->__data.__total_seq > cond->__data.__wakeup_seq)
{
/* Yes. Mark one of them as woken. */
++cond->__data.__wakeup_seq;
++cond->__data.__futex;
/* Wake one. */
lll_futex_wake (&cond->__data.__futex, 1);
}
/* We are done. */
lll_mutex_unlock (cond->__data.__lock);
return 0;
}
So it looks like there is some kind of low level mutex locking involved
even when signalling a condition. Can't this also lead to priority
inversion?
So what is the best way to achieve that some lower priority thread will
definitely wakeup from a realtime priority thread, without causing
priority inversion, under recent linux kernels?
Cu... Stefan
--
Stefan Westerfeld, Hamburg/Germany, http://space.twc.de/~stefan
Hello,
I am looking for a cross-platform implementation of an atomic
integer.
Under Linux, a build an c++ class "atomic" around asm/atomic.h,
(which I can use as if it where an int), but I'd like to have a
solution that also works on Windows XP and Mac OS X.
Thanks for any suggestions,
Maarten
> > In any case, Linux Sampler and Kontakt are
> > different sorts of samplers at this point. Linux Sampler is more in the spirit
> > of Gigasampler, and Kontakt is more like an emulation of a hardware sampler (but
> > vastly more flexible).
>
> The key words there are "at this point." As noted, the *long-term*
> potential of Linux Sampler is probably still much greater than Kontakt-in-wine.
Agreed. Maybe time is best spent improving linux sampler. Then again, good VST
has benefits, although I do see how it may hurt the long term goals of free
software. I'm just not sure if the best way to help free software is to limit
it's ability to integrate with proprietary software.
> >
> > Noted. However, I remain unconvinced that Linux Sampler is intended to be a
> > drop-in replacement for something like Kontakt.
>
> I don't think it's intended to be a drop-in replacement for Kontakt; I
> think it's just intended to be cool.
I can appreciate that.
-Forest
Hi!
Trying to understand some magic with Ipmulse Response, FFT and so on, I'm playing with
scipy, matplotlib (and python as new language for me as a bonus). Concrete IR was got
with help of DRC (rec_imp, saying more strictly).
Currently I have got this frequency response graph:
http://gaydenko.com/mix/needSmooth.png
And the question is: what is common way to smooth the result? Some offtopic apps has
something like "1/24, ..., 1/3 octave smoothing". What does it mean?
Andrew
Hi peeps.
I've just been running an app through valgrind and I'm getting a few
of these:
==11955== Syscall param write(buf) points to uninitialised byte(s)
==11955== at 0x4D51BDB: (within /lib64/libpthread-2.4.so)
==11955== by 0x4B27CDD: (within /usr/lib64/libjack.so.0.0.23)
==11955== by 0x4B29434: jack_deactivate (in
/usr/lib64/libjack.so.0.0.23)
==11955== by 0x4B2945F: jack_client_close (in
/usr/lib64/libjack.so.0.0.23)
==11955== by 0x40402F: jackpart_close() (jackPart.cc:86)
==11955== by 0x40235F: mainLoop() (sampleplayer.cpp:438)
==11955== by 0x40237B: main (sampleplayer.cpp:444)
==11955== Address 0x7FEFFE934 is on thread 1's stack
I can't see anything wrong on my part, so I thought I'd check with
people who know more than I before I tear my program apart.
I also get them coming from jack_port_register, jack_activate and
jack_connect.
Any ideas?
James
> You are... Linux sampler doesn't support built-in effects because of what
> working with audio is like under linux. JACK (jack audio connection kit)
> is an application that allows one to manage connection between various
> audio software. This includes linux sampler, but also plugins based on the
> LADSPA sdk. You are right to say that there are no built-in effect in
> Linuxsampler. It's not a lack of functionnality. It's meant to be like
> this because you can connect linuxsampler's output to a effect management
> rack like jack-rack (which also benefits of being jack compatible) have
> any effect you like applied (and there's loads ! see
> http://www.ladspa.org/).
I can appreciate this modularity as much as the next fellow, but having effects
support in the sampler itself is near-critical. Creating sophisticated sounds
using a sampler requires it.
I need to have multiple layers of samples, each filtered and modulated
differently. You can't do this in post-processing. It just isn't possible.
Even supposing Linux Sampler could route sounds out to effects and back in to
the sampler, that would be far to complicated to be even remotely usable without
giving up huge amounts of sampling felixibility.
This is not about applying reverb to a drum kit. It's about having 6 samples
triggered when I press a key on the keyboard, and each sample being filtered,
pitch bended, saturated differently, and modulating all of those parameters
using LFO's, envelopes, and midi parameters. You can't do that using "outboard"
effects.
-Forest
Aqualung: Music Player for GNU/Linux
http://aqualung.sf.net
Release 0.9beta5
It is our greatest pleasure to announce the fifth official beta
release of Aqualung. Some features you'd rarely stumble upon in
other players (at least not too many of them at once):
* Gapless playback (designed for this from the ground up)
* High quality decoders (eg. libMAD for mp3), many supported formats
* High-quality sample rate conversion support via libsamplerate
* LADSPA support
* Music Store for organizing your music
* And much, much more...
We hope you will enjoy this release. The release ChangeLog follows below.
2006-06-30 Tom Szilagyi <tszilagyi at users dot sourceforge dot net>
* Aqualung 0.9beta5
http://aqualung.sf.net
This is a new milestone release after 17 months of silent
development. Large parts of the program have been rewritten,
refactored, fixed, etc. A multitude of new features have been
added to the software, which now weighs into Open Source with
about 30,000 lines of GPL'ed source code, all written by a handful
of free-time developers (no, you won't need your whole hand).
It won't make too much sense to precisely list every change made
to the sources during this period - the list would be prohibitively
lengthy. For the curious, the mailing list archive is recommended.
The most important, high-level changes are summarized below.
* Group CDs in the Playlist via "Album mode". Shuffle between
records but play their contents in order!
* Statusbars in Playlist and Music Store display statistics and
other data.
* Multiple Music Stores are supported - useful for separate
genres, file formats or for music mounted from different file
servers via NFS.
* CDDB support!
* iFP driver support for integrating with iRiver HW players!
* Completely reworked Settings dialog, the new control center!
* Embed Playlist into Main window for a more compact look!
* Search facility for Music Store and Playlist.
* Add support for Musepack (via libmpcdec), Monkey's Audio, Ogg Speex.
* Rudimentary album art (cover display) support.
* RVA-related work, improved metadata support.
* Fixed a boatload of bugs concerning cyrillic filenames, etc.
* MP3 improvements (file recognition, clipping, seeking...)
* Better fault tolerance in Ogg Vorbis decoder.
* Various GUI fixes, new command line options, etc, etc.
* Improved build system for skins, icons, etc.
* New skins (Ocean, Plain), new Logo (see About box)! ;-)
* Better RT behaviour with Jack output.
* Compiles and runs on AMD64 (thanks to Mark Knecht for testing)!
Hi peeps.
I've been writing an app that requires volume envelopes. I've
implemented the envelope part myself, but I was wondering if there
was a library about to do it.
I ask because I realised that probably everyone on this list has
written something that uses envelopes, and probably written it
better and with more features than I have.
More generally, is there a library/toolkit of audio bits and bobs
about?
James