>
>Hello,
>
>the german magazine KEYBOARDS has answered a readers question about audio
>and linux with tremendous ignorance. I think this is a good chance to push
>linux to the attention of "the masses".
>
>Here is the full text of question and answer (first in german, so anyone
>can correct my errors ;-).
>
>... snip
well the answer from the guy is in my opinion correct atleast for now.
You need a LL-patch to get audio work as desired and AFAIK there is
no main stream distro with that patch already applied.
Please dont misunderstand me, i love audio on Linux but there is still
some work to do until its is ready for "anyone". And i think thats what
the answer was about.
- Stefan
_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*.
http://join.msn.com/?page=features/featuredemail
Greg Reddin wrote:
> Is there a web resource or book or something where one can learn
> about these programming caveats for audio developers? I knew nothing
> of this problem, but it makes sense when you mention it.
I don't think that there is an all-in-one howto around, most infos
are scattered around the net (and most issues can be solved
with a bit of knowledge of the real time paradigm and a bit of
common sense)
>
>
> Or do I just have to do this for a few years and learn the hard way?
> :-)
Most developers seems to do so, they are just too lazy to think
about the constraints that real time programming imposes.
They believe they can make full use of the operating system,
call any system calls they like, C++ constructors, malloc()s etc,
accesss to mutexes locked by low priority GUI threads
and then after wonder why their application does not work with
low latencies or why there are sporadic dropouts they cannot get rid of.
most problems go away if you increase the buffer sizes (thus latency)
to let's say 20-50 msec, but as we know any soft-instrument with
bigger than 15-20msec latencies becomes unplayable
(measured by professional standards).
Anyway there are not many rules to follow:
run the audio thread SCHED_FIFO
(and do not use SCHED_FIFO on other threads, except
when you know exactly what you are doing).
in the audio thread just do not call any system calls except
read/write to the audio device .
especially file system ops memory allocation, calling C++
constructors/destructors (cause memory allocation/deallocation)
etc. Basically any operation that could possibly be blocked
because it has to wait for some event, data, etc.
Do all communication between audio thread and other threads
via lock free FIFOs or shared mem.
Avoid mutexes like they were radioactive material.
(there are a few execptions where they are allowed
like using mutexes between two real time threads where you know
that they will not tie up the CPU for more than a certain amount of time,
or using pthread_mudex_trylock() in the audio thread that
tries to acquire the mutex but if it fails it returns immediately
without stalling).
For example Ardour is well designed in this regard, and this is why
Paul is an experianced programmer (and probably learned some RT issues
the hard way too).
Unfortunately many audio apps on linux do not meet "low latency standards"
or better are not designed with real time safeness in mind and I think
it is one of the obstacles that keep them out of the professional
domain making them look like a toy.
It is sad because there are many nice apps with an excellent
sound generation engine, but often the framework around that engine
is weak.
It does not that actually that much energy to fix it but people
seem either too lazy to do that or either do not know what the
RT-safeness guidelines are. I never understood it ...
it is much more complex to desing a synthesis algorithm, etc
than just avoiding a few mutexes and use a lockfree-fifo instead etc.
Anyway I agree it would be cool to have page on the LAD site that
explain all these issues and provide source for some basic routines
and classes. This would prevent that the mistakes are made
all over again.
cheers,
Benno
http://linuxsampler.sourceforge.net
-------------------------------------------------
This mail sent through http://www.gardena.net
Hallo,
hat jemand von euch in der aktuellen Keyboards die Antwort von
Herrn Hain auf die Leseranfrage zu Linux und Audio gelesen? Die
strotzt ja nur so von Unwissen, das schier danach schreit eines
besseren belehrt zu werden. Vielleicht könnten wir ja gemeinsam
eine Antwort erarbeiten.
Bei Interesse könnte ich heute abend auch den Text von Frage und
Antwort hier posten (leider gibt's die Leserbriefe nicht auf der
Keyboards Webseite).
So long
Uwe
--
voiceINTERconnect www.voiceinterconnect.de
... smart speech applications from germany
I too have a pair of Midiman 24/96's, and they sound great.
I've been toying with .asoundrc (I've read the RME Hammerfall config and
the TwoCardsAsOne page too), and so far I dont have what I want.
I looking for both cards to function in sync, as a four (or eight?) -
track recording platform.
Can someone point me in the right direction with my .asoundrc file,
and jackd options? how do i ensure the cards are synched?
Dear Sir,
I need your help,I am John Mboma the son of a
Late minister during the reign of mobutu seseko,
I came to know you in the course of my search for
a reliable and God fearing partner and I decide
to contact you because I believe you are a reputable
person and I felt you can help us over this confidential
matter. I count on your intergrity and honesty to be
able to handle this business.
My father was a minister in Democratic Republic of
Congo during the reign of Late President Mobutu.
Our father was killed during the rebel attack and
our house was burnt. We manage to escape to South
Africa with my mother and two of my sisters
where we are now taking refuge.Before the death of
my father he deposited US$30.5 MILLION, with a security
company in Europe.The money is kept in a trunk boxes
and was registered as precious substance. Thus there is
nobody that knows that it is money that is in the box.
All the document with which the money was deposited
is with us. I am looking for somebody to that is
capable and willing to travel to Europe Country to
receive the two trunk boxes of money on behalf of my
family from the security company.
We need a trust worthy and experience person that
will help us to invest this money in your country and
take us as one family and will also buy a house for us
over there where we can live safely.
We are expecting to hear from you.Please contact me
on this Email Address: johnmboma(a)uymail.com
Thanks for your anticipated and cooperation.please
include your telephone number and fax number in
your reply
Best Regards,
John Mboma.
EL GORDO SWEEPSTAKE LOTTERY COMPANY S.L
PLAZA COLONE-28080
MADRID-SPAIN.
FROM: THE DESK OF THE MANAGING DIRECTOR INTERNATIONAL PROMOTIONS/PRICE AWARD DEPARTMENT.
REF N�: EGSL/25003127/CSL/02
BATCH N�: 0007571982
DEAR FRIEND,
RE: AWARD NOTIFICATION/ FINAL NOTICE.
We are pleased to inform you of the release of the results EL GORDO SPANISH SWEEPSTAKE LOTTERY/ INTERNATIONAL PROGRAM, Held 12THJuly 2003. Your name attached to a ticket number 025-1146992-750 with serial number 2113-05 drew the lucky numbers 4-18-24-30-31-35 which consequently won the lottery in the 3rd category. You have therefore been approved for a lump sum payout of 625,000.39 (Six hundred and twenty five thousand dollars and thirty-nine cents) in cash credited to the file reference number: EGSL/25003127/CSL/02. This is the from a total cash price of 5,368,770.00 (Five million three hundred and sixty-eight thousand, seven hundred and seventy dollars only) shared among the seventeen international winners in this category.
CONGRATULATIONS!!!
Your fund is now deposited with a Trust and Security Company insured to your name.
We advice that you keep this award from public notice until your claiming or unwarranted taking advantage of this program by participants. All participants were selected through a computer ballot system drawn from 25,000 names from Asia, Africa, Australia, Canada, U.S.A. ,New Zealand, Europe and North America as part of our international promotions program which we conduct once every year. We hope that with part of your prize, you will part-take in our end of year high stake $1,300,000,000.00 international lottery.
To begin your claim please contact your claim agent, Mr. William Lopez, foreign services manager, payment and release order department, Tel: +34 696 023 002, OR via Email: superstandard(a)terra.es for processing and remittance of your prize fund into your designated bank account.
Note: All prize funds must be claimed before the end of September 2003 after this date all funds will be returned to the MINISTERIO DE ECONOMIA Y HACIENDA as unclaimed. In order to avoid unnecessary delays and complications, please endeavour to quote your reference and batch numbers in every correspondence with us to your claim agent. Furthermore, should there be any change in your address do inform your claim agent as soon as possible. Congratulation once again from all members of our staff and thank you for being part of our promotion program.
N.B. Any breach of confidentiality on the part of the winners will result to disqualification. Please do not reply to this email address. Contact your claim agent.
Best regards
The Management.
From; Mr. Michael Makeh,
Banque Financiere De L'Afrique,
Lome-Togo.
My dear,
I wish this my proposal will not come to you as a surprise. I am Mr. Michael Makeh, with Banque Financier De L'Afrique with regional office in Lome-Togo. We had a foreign client (Mohamed Hussein Hanadi ), who deposited the sum of US$7.8 million (Seven Million Eight Hundred Thousand United States Dollars) with our bank. Unfortunately,this client was among the victims of EGYPTAIR FLIGHT NO.990 that crashed on the 31-10-1999 in the atlantic ocean, U.S.A. Confirmable from the website; ( www.cnn.com/us/9911/02/egyptair990.list/index.html ). But, since that year after the death of our client, we have not had anybody that comes for the claims of this money as the next of kin to our client. A situation I have monitored closely with my position in our bank.
Now, having monitored this deposit and managed it over the years before and after his death, and hence nobody has showed up as the next of kin for the past years now, I have removed the file to my "private vault". I now humbly solicit for your assistance in this issue. I wish to present you as the next of kin to this our client so as to claim out this money, before it is remmited into the fedral account where other people may aswell claim it directly without going to this lenght. I have taken every necessary precautionary measures concerning this issue and arrangement has been concluded by me in achieving this goal, provided you will follow my instructions in the process. I am only waiting for your response to enable me move the funds to your agreed safe account. This does not have any risk attached to it as all the internal documentations would be handled by me and every loop holes sealed also provided you give me your assistance and support.
I therefore request you to confirm your interest by a return message and I will furnish you with the full details and what to do concerning this deal. What you stand to gain would be discussed and it is negotiable before the deal commences.
Thank you in anticipation of your urgent response to my request stating your wish in this deal.
Kind regards,
Mr. Michael Makeh.
Hi.
I released ZynAddSubFX 1.4.3 at
http://zynaddsubfx.sourceforge.net
ZynAddSubFX is a free software synthsizer with many
features.
Paul.
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
I have done some testing on different audio codecs with different
settings.
Results are available at http://www.sonarnerd.net/projects/wavcomp/
More tests to come... Any comments on testing procedure are welcome.
Is someone able to put test .wav through ATRAC (back-and-forth)? I'd
like to include it in test results.
--
Jussi Laako <jussi.laako(a)pp.inet.fi>
1. A short summary of changes
A set of severe bugs in audio mixing code have been fixed.
Pyecasound build process has been improved. Reporting chainsetup
parsing errors has been improved significantly. Support for
the JACK 0.80 transport interface has been added. Support for
reading and writing aiff, snd and au files has been fixed.
Changes have been made to ensure correct operation with
the NPTL package recently added to Linux kernel and glibc.
A serious bug in metronome timing was fixed. Minor bugs
in dynamic sample rate changes, MIDI-server initialization
and the ewf file format have been fixed.
---
2. What is Ecasound?
Ecasound is a software package designed for multitrack audio
processing. It can be used for simple tasks like audio playback,
recording and format conversions, as well as for multitrack effect
processing, mixing, recording and signal recycling. Ecasound supports
a wide range of audio inputs, outputs and effect algorithms.
Effects and audio objects can be combined in various ways, and their
parameters can be controlled by operator objects like oscillators
and MIDI-CCs. A versatile console mode user-interface is included
in the package.
Ecasound is licensed under the GPL. The Ecasound Control Interface
(ECI) is licensed under the LGPL.
---
3. Changes since last release
* Support for JACK 0.80 transport interface. The recently
released JACK 0.80.0 marks another milestone for Linux audio
development. The new transport interface allows concurrent use
of multiple independent audio applications with full
sample-accurate transport synchronization. This release of
Ecasound provides full support for the new transport API.
See the following links to ecasound-list postings that
give examples of how to use Ecasound with the new transport API:
http://eca.cx/ecasound-list/2003/08/0005.htmlhttp://eca.cx/ecasound-list/2003/08/0070.html
* Metronome timing bug. There was a subtle bug in the
pulse gate operator that is used to generate the
metronome signal. This bug caused a small (<0.5%) timing
error in metronome speed. The bug has been fixed, but the
change in speed might cause problems for working with
sessions recorded with previous versions of Ecasound.
Thanks to Carsten Bauer for finding the bug.
Full list of changes is available at
<http://www.wakkanet.fi/~kaiv/ecasound/history.html>.
---
4. Interface and configuration file changes
Libecasound interface version number was incremented to 11.
This release is backwards compatible with interface
versions 9 and 10. See 'ecasound/libecasound/ChangeLog'
for a detailed list of changes.
Libkvutils interface version number was incremented to 6.
This release is backwards compatible with versions 5 and 4.
See 'ecasound/kvutils/ChangeLog' for a detailed list of changes.
Note! Using libecasound and libkvutils outside Ecasound has
been discouraged since the release of 2.2.0 in Jan 2003. The
interface changes introduced in this 2.3.0 release should
only affect a small group of distributors and developers.
Apps such as Ecamegapedal need to be recompiled only if
you want to take advantage of the new features introduced
in the latest Ecasound release.
---
5. Contributors
Patches - Accepted code, documentation and build system changes
Kai Vehmanen (various)
Bug Hunting - Reports that led to bugfixes (items closed)
Jeremy Hall (3) -- non-default chainsetup srates, mixdown
signal leak bug, pyecasound install
Junichi Uekawa (3) -- non-default chainsetup srates,
pyecasound install, gcc-3.3 verification
Janne Halttunen (2) -- locale-settings broke map-* commands,
MIDI-server startup bug
Vegard Lima (2) -- feedback bug, ewf srate bug
Carsten Bauer (1) -- timing bug in metronome and pulse gate
Ismail Donmez (1) -- build errors with sys-readline option
Lars Henrik Mai (1) -- aiff/au/snd bug
Stephan Niemz (1) -- non-default chainsetup srates
Al Oemens (1) -- reporting chainsetup parsing errors
Oliver Thuns (1) -- -ei big shift-x values
Tommi Uimonen (1) -- problems with ecasignalview channel meter
layout
---
6. Links and files
Web sites:
http://www.eca.cxhttp://www.eca.cx/ecasound
Source packages:
http://ecasound.seul.org/downloadhttp://ecasound.seul.org/download/ecasound-2.3.0.tar.gz
Distributions with maintained Ecasound support:
Agnula - http://www.agnula.org
Debian - http://packages.debian.org/unstable/sound/ecasound2.2.html
DeMuDi - http://www.demudi.org
FreeBSD - http://www.freebsd.org/ports/audio.html
Gentoo Linux - http://www.gentoo.org
PLD Linux - http://www.pld.org.pl
PlanetCCRMA - http://www-ccrma.stanford.edu/planetccrma/software
SuSE Linux - http://www.suse.de/en
Contrib Packages for Distributions:
Mandrake - http://rpm.nyvalls.se/
Slackware - http://www.audioslack.com
Various distros - http://apps.kde.com/rf/2/info/id/2146
Note! Distributors do not necessarily provide packages for
the very latest Ecasound version.
--
http://www.eca.cx
Audio software for Linux!