Hi all --
I'm making my first forays into OSS DSP programming with an eye to
improving the standard linuxaudiodev module included with Python. (And,
of course, to using that module for my own ends!)
I'm rather confused by the semantics of write() in blocking and
non-blocking mode. Specifically, in the default mode (blocking, no
SNDCTL_DSP_NONBLOCK ioctl() call), it appears that write() will happily
write the entire buffer passed to it, and not return until almost all of
the data has been played. (I assume the last dribble is in a
lower-level [hardware?] buffer, so when write() returns there's still a
little bit of sound to be heard.)
However, in non-blocking mode, write() plays roughly 64k or 128k
(depending on the hardware device used) and returns immediately. This
is more like what I was expecting -- I guess the behaviour in blocking
mode is a bit surprising. Is it supposed to be like this? More
importantly, can I *rely* on write() in blocking mode always consuming
the entire buffer passed to it?
BTW, this is with Linux 2.4.20-rc1; the two audio devices are a
SoundBlaster Live using the OSS emu10k1 driver, and a Stereo-Link
external USB audio device using, you guessed it, the USB audio driver.
Thanks --
Greg
--
Greg Ward <gward(a)python.net> http://www.gerg.ca/
I hope something GOOD came in the mail today so I have a REASON to live!!
Hi guys,
I thought I would share some info about some utilities I found recently
with regards to overly painful compile times.
We have done some fairly extensive Corba based stuff at work, the last
few months. Needless to say the compile times we have had for these
beasts are numbing. Standard solution is of course faster machines, but
there are some utils that can help if you got some extra machines at
your disposal.
Have a look at
http://gecc.sourceforge.net/
or
http://distcc.samba.org/
Both these projects (where distcc seem more mature) provide the
possibility to distribute compilations over several machines.
Another solution would be to rewrite everything in Java and use Jikes
:-D...err perhaps not, but it's amazing how fast compilations are using
java and jikes...
Regards,
Robert
- reinventor of the wheel
New Yorkers for Fair Use Action Alert:
--------------------------------------
Please send a comment opposing the "Broadcast Flag" Proposal
to the FCC by this Thursday, December 5, 2002.
Tell the FCC to Serve the Public, Not Hollywood!
Okay, you folks understand this issue -- it's very important
to send word to the FCC by the public comments deadline,
this Thursday, December 5, that you OPPOSE the Notice of
Proposed Rulemaking #02-230. This rule would make it
illegal for ordinary citizens to own fully functional
digital television devices. We've made it easy; just follow
the links below.
1) Please send in your comments to the FCC using the form
provided below. Tell them that the movie industry should
not get a special privilege to own fully-functional
digital television devices. Read the alert below for
details.
2) Please forward this alert to any other interested parties
that you know of, who would understand and see the
importance of this issue.
3) Volunteer to help us with this and other alerts related
to your rights to flexible information technology in the
future. Two roles you can take up are to become a Press
Outreach Campaigner or a Commentator. Simply reply to this
email to show your interest.
New Yorkers for Fair Use Action Alert:
--------------------------------------
Tell the FCC to Serve the Public, Not Hollywood!
Public Comments Needed to Stop the "Broadcast Flag" Proposal
at the FCC
Please follow this link and use the form on the Center for
Democracy and Technology's site to let the FCC know that the
public's rights are at stake:
http://www.nyfairuse.org/action/fcc.flag.xhtml.
What's Going On:
The FCC is considering a proposal that digital televisions
be required to work only according to the rules set by
Hollywood, through the use of a "broadcast flag" assigned to
digital TV broadcasts.
Through the deliberations of a group called the Broadcast
Protection Discussion Group which assiduously discounted the
public's rights to use flexible information technology,
Hollywood and leading technology players have devised a plan
that would only allow "professionals" to have
fully-functional devices for processing digital broadcast
materials.
Hollywood and content producers must not be allowed to
determine the rights of the public to use flexible
information technology. The idea of the broadcast flag is to
implement universal content control and abolish the right of
free citizens to own effective tools for employing digital
content in useful ways. The broadcast flag is theft.
In the ongoing fight with old world content industries, the
most essential rights and interests in a free society are
those of the public. Free citizens are not mere consumers;
they are not a separate group from so-called
"professionals." The stakeholders in a truly just
information policy in a free society are the public, not
those who would reserve special rights to control public
uses of information technology.
Please go to the Center for Democracy and Technology's
Broadcast Flag Action Page and use their form to let the FCC
know that the public's rights are at stake:
http://www.cdt.org/action/copyright/.
----
Some background links:
http://bpdg.blogs.eff.org/archives/one-page.pdfhttp://www.eff.org/effector/HTML/effect15.22.html#IIIhttp://www.cdt.org/press/020807press.shtmlhttp://scriban.com/movabletype_archives/000334.shtmlhttp://scriban.com/movabletype_archives/000331.shtml
The following link is the FCC's "Notice of Proposed
Rulemaking" for the broadcast flag.
http://hraunfoss.fcc.gov/edocs_public/attachmatch/FCC-02-231A1.pdf
Woah!
Tack Kjetil!
I've been meaning to construct something like this for a veery long
time, I'm sincerely happy that you managed to pull it of!
Sometime in the near/distant/close/far future I'll be able to test this
(I'm not holding my breath), I can't wait!
So...next step would be VST synths, any chance you would pursue that? :)
Thanks again,
Robert
(now I can concentrate my -100% freetime on my other 101 projects ;-)
Kjetil S. Matheussen wrote:
> VSTServer V0.0.1.
> -----------------
> First release. Beta, but usable.
>
>
> ABOUT
>
> Vstserver is a wine program that must be running when using programs
> using vstlib.
>
> Vstlib is a library that can be used by programs to run windows
> vst audio plugins under linux/freebsd/i386solaris/etc.
>
>
> RUNNING
> Vstserver is started like this: "wine vstserver.so".
> You probably want to set the "VST_PATH" environment variable pointing
> to your plugins first.
>
>
> DEVELOPMENT
> Vstserver is released under the GPL, and vstlib under LGPL.
> If there comes many source-contributions, I will probably make it
> a sourceforge project. To use vstlib in a program, look at
> the tests/exampleclient program, and various vst plug-in documentation.
> The interface to the vstlib consists only of two functions (new/delete),
> the rest is like you would do when programming for windows, macos(X),
> beos, irix, etc.
>
>
> CURRENT STATUS
> Vstserver seems to be very stable. I have not found any plug-ins
> that wont run, and I am not able to hear any latency. And plug-ins
does not
> seem to cause more cpu-power than under windows.
> No GUI or graphics-support yet.
>
>
> BUGS
> 1. When running the ladspa "listplugins" program many times in a row,
> I get the following errors before the server freeze:
>
> err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
> err:region:CombineRgn Invalid rgn=0000
> err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
> err:region:CombineRgn Invalid rgn=0000
> err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
> err:region:CombineRgn Invalid rgn=0000
> err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
> err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
> err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
> err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
> err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes
> err:clipping:CLIPPING_UpdateGCRegion hVisRgn is zero. Please report
this.
>
> I dont know what this is. Its not errors coming from the vstserver
program.
> It seems to be related to X, allthough no graphics is used in the
vstserver.
> I hope its just the buggy libXrender.so library that wine shouts
about each
> time it starts.
>
> 2. Shared memory handlig might be faulty. I suspect that it doesnt free
> resources. (see server/shmhandler.c)
>
> 3. I havent read the vst plug-in documentation yet, and dont know
everything
> about it. This especially goes for the "AudioMasterCallback"
function, which
> for now just returns 1. I guess some more work needs to be done in
this area,
> and for the various dispatch opcodes too.
>
> 4. The processReplacing function in vstlib should perhaps be made
just by calling the
> process fuction. But I dont understand the difference between
processReplacing
> and processing.
>
>
> FUTURE
> Add GUI and graphics support to the server (help wanted). And maybe
make a
> DX-plugin server. (would be fun running pi-warp under linux).
>
>
> CREDITS
> vstserver and vstlib are made by Kjetil S. Matheussen / Notam.
> k.s.matheussen(a)notam02.no
>
> Some programming hints is gathered by looking at the pd vst-object
plugin~ source
> and the jack soundserver source.
>
>
>
>
> vst ladspa plugin v0.0.1 - alpha
> ---------------------------------
>
> Makes vst plugins located in $VST_PATH
> appear as ladspa plugins.
>
> I'm not sure how well this one actually works.
> The northpole plugin seems to work, but others
> don't. Oh well, its alpha for now.
>
>
>
>
> k_vst~, a Pd tilde object for hosting VST plug-ins.
> ---------------------------------------------------
>
> This is really just the plugin~ source made by Jarno Seppänen,
> but with a few lines changed (very few that is) to make it
> work with vst-plugins using the vstlib.
>
> The name was changed from plugin~ to k_vst~ to avoid nameclash
> with the plugin~ object running ladspa plugins.
>
> This object is for i386 non-windows (ie. linux/freebsd) only.
>
> This one works very well!
>
>
>
>
> -------------------------
>
> vstserver, ladspavst and k_vst~ are open-source programs made at Notam /
> Oslo, and can be downloaded from from http://www.notam02.no/arkiv/src/
>
>
>> I heard of USB speakers, could this be a valid solution ?
>> Are they supported under linux ? If yes which kind of models ?
> they're basically usb audio devices with amp and speaker in one
> box - so pretty much all of them work out of box (even the harman
> kardon ones that don't work with windows)
Thanks for the infos, but has anyone tried to work with more than
one signle stereo speakers set at time ?
I fear that bandwidth problems could arise when using 8 channels.
(AFAIK USB1 is 12Mbit)
Anyway these devices seem to be interesting:
http://www.adstech.com/products/USBTurboQuad4/intro/USBTurboQ4.asp?pid=USBX…
" The USB Turbo Quad 4 offers a powerful performance advantage over all
other USB host controllers by providing full USB bandwidth for each port
rather than sharing USB bandwidth over all ports. This results in an
increase in the number of devices that can simultaneously operate. Only
the USB Turbo Quad 4 ensures High-Bandwidth simultaneous operation of
USB devices such as cameras, speakers, scanners, modems and other
bandwidth intensive peripherals."
Just wondering if such a 4 USB port card plus + USB speakers works on
2.4 kernels / ALSA.
cheers,
Benno
--
http://linuxsampler.sourceforge.net
Building a professional grade software sampler for Linux.
Please help us designing and developing it.
Hi,
I'm looking for an "off-the-shelf" Multi-port MIDI interface, (Serial or
USB)
with some decent linux drivers. Anyone have any suggestions, advice,
stories,
pointers ?? ... i've googled but nothing interesting turned up.
thanks!
iroro
--
--o0o------------------------------------------------------o0o--
Soon we will be together, writhing profitably on a bed of
non-seasonal vegetables in equine bliss. With this vision
I see no reason why the operation to remove a 2.2kg
uneviscerated turkey carcass from my pericardium should fail
[tscg, 2002]
--o0o------------------------------------------------------o0o--
Hi,
a friend of mine is building a system that plays sounds on different
speakers (up to 8-10 mono channels ) based on certain input events such
as light sensors and mechanical triggers.
The audio quality does not need to be high.
Latency can be as high as 100 msec.
My question is what is the cheapest way to get 8-10 analogue outs.
(consumer quality).
I heard of USB speakers, could this be a valid solution ?
Are they supported under linux ? If yes which kind of models ?
Can one use multiple stereo USB speakers on the same USB bus ?
e.g. CD quality stereo audio uses 1.4Mbit thus I was wondering how
much channels one can reliably stream over USB so that there no
dropouts occur ?
Recent PCs have two USB outs, is this the same shared bus or can
one max out the bandwidth on both ports simultaneously ?
How about adding more USB cards, is this supported under Linux ?
The other alternative would be to use a multi-io card with 8 or more
channels or multiple 4 channel cards ?
The Terratec EWS88 8-analogue channels out seems interesting but a bit
expensive for my purpose.
How about using 2 4-channel cards ?
Which card would you suggest ? Hoontech ? Are these (or similar cards)
still available ?
Sorry for all these questions and thanks for infos !
cheers,
Benno
--
http://linuxsampler.sourceforge.net
Building a professional grade software sampler for Linux.
Please help us designing and developing it.
Eger kemoterapi yada radyoterapinin yan etkileri ile bogusan bir yakininiz varsa, �z�lmeyin ancak bitkisel kanser ilaci Carctol'u yakindan tanimak i�in zaman ayirarak asagidaki link'e tiklayin.
http://www.kanser-tedavisi.com
Listeden adinizin silinmesini istiyorsaniz a_cengiz2002(a)yahoo.com a bos e posta yollayin. Tesekk�rler
Hello, if you have got an acquaintance or a friend who is suffering from the side effects of chemotherapy, please visit the site below to see the truths about alternative herb cancer medicine Carctol.
http://www.kanser-tedavisi.com/English_homepage.html
If you wish to be removed from our list, please send us an email at this address bilgi(a)kanser-tedavisi.com so that we may remove your name. Thank you.
Hello All
I'm sending some midi data to synthesizer for playback
and it appears that the fifo /dev/midi (cmpci mpu401 driver)
is not emptying as fast as it should(could), since the play back
is highly irregular. Here are some numbers.
1) The timeing slice remains constant at 30 msec +/- 3usec,
timed both at the beginning and end of the loop,
so the irregularities are not due to loop variations.
2) A maximum of 64 bytes burst, with around 5 bytes normal
and an average of 1 byte (say) (ie many slices do nothing)
can occur during a slice, the buffer for the driver is
128 bytes with around a maximum capability of around 116 bytes
transmitted per slice, so the midi channel can easily sustain
the transmission rate at the rate I am sending information.
4) System load while the program is running is around 0.1%
5) The midi performance remains the same even if I do something
like build the kernel, and untar some package say glibc at
the same time.
When I say irregular I mean, for instance on a run of 16th notes
the notes will radically speed up and slow down. The notes all
have the correct pitches and voice changes etc. are all happening
correctly. Just this strange tempo problem.
Any thoughts or suggestions would be welcome.
Bruce
>
> > On my asus A7V266-E board i had to set down dma mode from DMA100 to
>DMA33
> > get LL working fine. (<3ms)
>
>That is very interesting information (I have the same board). Did you
>discover
>this by trial and error?
>
Yes and No ;) i had one "old" cable to disk2 and when i tried the latency
test
on the 2nd drive (DMA33) all worked fine. I have the latest BIOS installed.
- Stefan
_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*.
http://join.msn.com/?page=features/featuredemail