Hello List,
I'm new to audio programming and have problems finding the right
solutions for the development I work on right now:
I need to use the left and the right audio channel seperately. The
device is an ARM based board with a AC97 soundchip. It seems to work
with OSS so far and I did choose libsdnfile to open Soundfiles and get
the PCM. As far as I learned the audio data is coded in one stream,
one sample left, one sample right. Is there a way to separately fill
the soundcard buffers with ALSA?
The only solution I can think of right now is to recode the audio
data to left only or right only and to use a library like esound to
mix them together. Is this the right way to do such a thing?
Any suggestions, pointers, hints are highly welcome.
Greetings,
Tobias
I got myself one of the PlusDeck units last summer after having received
some documentation from the product team about their serial control
protocol, so I figured that I'd have some chance at actually making a
recording program for Linux for it.
The impetus for all of this is a stack of 300 or so audio tapes that my
fiancee has, which contain mostly south Indian music recordings, including
training lessons, from her late teacher T Viswanathan. Some of those
probably don't exist anywhere else at this point, so putting them to digital
would be a good thing (tm).
Anyway, I have 2 goals.
First, the practical, get all this music to digital dumps (flac in ogg
containers for metadata seems to be the best bet). I'm trying to figure out
the best ways to do this on a Mandriva Linux 2.6.12 kernel (on an AMD64
3000+ processor running 32bit, with Via onboard sound.) The PlusDeck just
ends up being an input line jack into the sound card.
I've run some tests with ecasound both straight off the alsa device, and
through ecasound to jackd (both as root to get real time). It is hard to
tell if I'm doing better with jackd or not, but I'm making some long
recordings and letting my musical fiancee tell me if she can hear the
difference. :)
Given that I've got the serial protocol sorted out, it seems like the
practical approach is just a command line ripper that will start up all the
right audio bits, start the tape, and stop when the tape gets to the end.
Full automation is what I'm looking to create.
Is ecasound a good option here? How much better will ecasound + jackd be
over ecasound at realtime? Would building some kind of plusdeck control
plugin for another recording program make more sense? If so, which one?
Second, I'd like to turn whatever I learn during the practical phase into a
reasonable open source Linux tool for using the PlusDeck. I'd be a bit
unnerved if that required that I set up all jack & ecasound bits, as well as
kicked them off as setuid root, but better options are failing me at the
moment.
Any advice, ideas, suggestions, questions... even flames would be welcomed.
I've spent a bit of time learning more than I ever thought I'd end up
knowing about Linux audio already, and know I have a whole lot more I need
to learn still.
Thanks in advance,
-Sean
--
__________________________________________________________________
Sean Dague Mid-Hudson Valley
sean at dague dot net Linux Users Group
http://dague.nethttp://mhvlug.org
There is no silver bullet. Plus, werewolves make better neighbors
than zombies, and they tend to keep the vampire population down.
__________________________________________________________________
Tobias,
I wrote a program that does just this some years ago for IED
(www.iedaudio.com). What you are doing is not trivial. When an announcement
starts on the left channel (for example) you will want to fill the right
channel with zeroes. However you must fill the buffers in small blocks so
that if an announcement starts on the right channel, you can start stuffing
the right channel without a long delay. You might want to investigate Paul's
program JACK for this. It splits the audio into separate buffers for each
I/O.
If you really have to have it ASAP, why not just buy an IED system? :)
-Ben
Ok, given a pair of commodity Linux PC's with cheapo onboard audio
codecs capable of SPDIF input and output, assuming I sent identical
input signals into both machines and didn't perform any processing in
the middle, could I reasonably expect the output signals to be
synchronized, or should I expect unpleasant phasing / delay effects
when listening to both channels simultaneously as a result of the
inherently flakey consumer-grade codecs?
The above is a simplification that should address my major concern...
The goal here is to use a pair of redundant, inexpensive machines for
live midi-controlled (headless) playback where the physical security
of the location is lax enough that using my laptop + hammerfall would
be too risky, not to mention 35 channels worth of overkill. Ideally
these two machines would accept some sort of SPDIF format square-wave
from some low power clock logic on their inputs and play identical,
pre-cached wav files on their outputs when they recieve simultaneous
"go" signals from the MIDI playback desk.
Any experiences or opinions are welcome...
Thanks,
- Mike Piantedosi
jack.udp may be used to transmit audio between two computers, each
computer running their own jackd.
My understanding, based upon earlier threads in the linux audio lists,
is that to avoid xruns due to clock drift in this situation, the sound
cards of the two computers must be synchronised in some way, e.g. using
word clock.
Is this (still) correct? Or has jack.udp been developed to include
synchronisation?
(On a side note, it seems that Rohan Drape's web pages that are linked
to from the jack pages, http://www.alphalink.com.au/~rd/sw/jack.html,
have disappeared.)
Asbjørn Sæbø
Gerard van Dongen/Gilcher passed away on Friday the 4th of March, after
a brave battle with colon cancer. Gerard worked as a composer, musician
and computer programmer in Rotterdam as well as played live with many
improvisational and electronic musicians in the Netherlands including
Bart Maris, Tom Wouters, Joe Williamson, Henk Bakker, Peter van Bergen
and Ann LaBerge. He performed solo-concerts with electronics and/or
piano compositions and played for numerous dance and theatre
productions, produced radio-plays for the internet, and was a technical
designer and software programmer for multimedia theater. Gerard was also
an active member of the Pure Data and Linux Audio Developers
communities, and contributed code for the user interface of the Ardour
project.
Gerard kept a very positive outlook throughout his illness, and he will
certainly be missed.
Marie Louise Gilcher has organized a memorial service for Thursday, 9
March at the "Crooswijk" Cemetery in Rotterdam.
--
derek holzer ::: http://www.umatic.nl
---Oblique Strategy # 118:
"Make what's perfect more human"
Hi!
I know, this may be a bit off topic. But I've a dificulty:
I'm currently programming a textbase "GUI"-lib. I want the programming API
to be similar to on of a real GUI-lib (gtk, you name them).
Now I'm wondering, there are menus. Menus have menuitems and if you click on
one, something should happen. How is this "something should happen" part
usually done? - I thought of the java-apporach, deriving your own menu-class.
But it doesn't feel right. I have my dificulties with trying GUI-libs myself,
for I'm blind. I could write some code, but wouldn't know, if it works, like I
planned.
Any thoughts, help on this, anyone? I would be greatful!
Kindest regards
Julien
--------
Music was my first love and it will be my last (John Miles)
======== FIND MY WEB-PROJECT AT: ========
http://ltsb.sourceforge.net - the Linux TextBased Studio guide
I am working on project that does not have an api. I was wondering where
to find information on building an api. We have a plugin system but the
user needs the entire source if they want to build a plugin. The project
I am talking about is Denemo (A gtk frontend to lilypond).
Jeremiah
Dear Linux audio software users and developers,
many of you may know me - a sound designer behind many free sounds I keep on
making for Hydrogen rhythm machine and other samplers.
Now I am pleased to announce Rhythm Galaxy vol. 1 - an all-new sound library
which boasts a huge load of drums, percussion and effects - from analog and
digital emulations to brand new, amazing sounds. It is a low-cost but very
high-quality library which delivers just the right sounds for various styles.
Rhythm Galaxy vol. 1 includes over 250 world-class, superb sounds which
satisfy the needs of professional composers and music-making lovers who have
been searching for fresh, unique and inspiring material. All sounds are
totally original material, they have been created completely from scratch,
using Roland Fantom-S, V-Synth and VC-1 synthesizers, Krok 2401 analog vocoder
and also ALSA Modular synth.
Rhythm Galaxy is available in two formats:
- .WAV files grouped in folders ("Kick", "Snare", etc.) - suitable for any
hardware/software sampler
- Hydrogen drum kit with all 256 sounds (will work only in Hydrogen 0.9.4
sound library manager).
Sound demo:
http://soniccharger.com/media/demos/Rhythm_Galaxy_1_demo.mp3
Specs and complete sample list:
http://soniccharger.com/media/manuals/Rhythm_Galaxy_manual.pdf
More info:
http://store.rolandclan.info/?action=catalogueViewItem&category=4&id=RGALAX…
You can also read more about me and my works at http://sineshine.com.
Sincerely,
Artemiy.
Also check out
http://www.gobolinux.org/abstk/
which supports ncurses and Qt back-ends. Unfortunately no GTK though,
and I don't know about what development state it is in.
steve
> On 3/6/06, Cedric Roux <Cedric.Roux(a)eurecom.fr> wrote:
> > On Mon, 6 Mar 2006, Florian Schmidt wrote:
> >
> > > I always wondered whether it was possible to do something like a
> > > generic/abstract UI thing. You bind yourself to ncurses at the moment,
> > > but wouldn't it be cool, if the same code could sit ontop of either
> > > ncurses or X/Gtk/Qt, or even be communicated via audio interface and user
> > > talking.
> >
> > [...]
> >
> > > Anyone know if such a thing exists yet? Or any thoughts on the matter?
> > >
> > > Flo
> >
> > What about uiml?
> > http://www.uiml.org/
> >
> > xul could also be an answer, but maybe not. Take a look at it.
> > http://www.mozilla.org/projects/xul/
> >
> > Take care,
> > Cédric.
> >
> >
>
>