Hello all!
I am happy to tell you that I've finished my very first plugins. I
would like to thank all those who helped me over here to get started
and to Tim who kindly provided free plugin IDs.
There are four plugins, each with mono and stereo variant:
- Clipping Booster - boosts/clips the signal after a non-linear amp
- Noisifier - applies AM to the signal with a variable noise source
- Non-linear Amplifier - amp with 6 transmission curve types
(round/parabolic/sine/etc.)
- Variable Noise - generates white/stepped/shot noise
Download plugins/docs: http://artemiolabs.com/software/wasp/
Online docs: http://artemiolabs.com/software/wasp/docs/WASP.html
Comments and suggestions are very welcome. But please don't be cruel
because this is my first serious C coding and very first DSP
experience! I've tested the plugins thoroughly in many hosts, I hope
they work for you too and will be useful.
Artemiy.
Hello all!
I have a question regarding linking multiple plugins into a single
library.
if I do:
$ ld -shared -o plugins.so plugins/*.o
- then ld complains that g_psStereoDescriptor and g_psMonoDescriptor
as well as _init and _fini functions are duplicate and does nothing.
If I try:
$ ld -shared -z muldefs -o plugins.so plugins/*.o
- this does some wizardry on changing the duplicate functions names
(_init and _fini) and in the host only the last plugin in the .o
files list is seen.
As I understand I cannot change the names of _init and _fini because
these are standard for libraries (or not?) and names of
g_psStereoDescriptor and g_psMonoDescriptor are standard for a LADSPA
plgin (or not?)... But what should I do? Or is is better to keep the
plugins in separate .so files?
Thanks very much!
Artemiy.
Hi all,
I am busy writing a grant proposal and I am now pricing audio/computer
equipment.
I plan to have all the computers dual booting lin/win and want the
best quality sound card I can get that will run on both lin and win
with the least trouble and the most bang for the buck.
I don't need multitrack recording necessicarily.
This issue has popped up on the list before but I would like to get a
fresh veiw on this from the list.
Thanks
Aaron
Hello all!
I am writing to ask if Richard Furse is in vacation and if there is an
alternative method of getting unique IDs for my plugins. I sent a
mail to ladspa(a)muse.demon.co.uk about 3-4 days ago, but haven't got
any reply yet.
I already created four plugins, each with mono and stereo variants, so
I need 8 IDs to publish the plugins. And I already know that there
will be 3-4 more plugins so I'd need a range of 14-16 ID's
actually...
So what should I do?
Thanks a lot guys!
Yours,
Artemiy.
by Kjetil Svalastog Matheussen <k.s.matheussenï¼ notam02.no>
Lee Revell:
>> It was in response to problems such as these that I began work on a
>> half-kernel, half-userspace system for emulating OSS devices. It's been
>> a while since I've done anything with it but if there's any interest in
>> such a system I could put my code (such as it is) up for download.
>
> No!!! That's exactly the wrong approach, it will only encourage
> applications to use the OSS API. Do you really still want to be using
> the same ancient binary-only flashplayer/realplayer plugin for 5 more
> years?
>
> Why don't you ask the Skype developers when they plan to support ALSA?
> Or figure out why it crashes with aoss?
>
I strongly disagree with you about this. Ross approach sounds like whats
needed. The OSS API is easier to understand and leads to less bugs and
less programming time. For programs like SKYPE, mediaplayers and other
types of non-realtime-sound applications, I really think programmers
should go for OSS instead of accessing ALSA directly.
And, as mentioned before, ALSA is linux only (except for alsa 0.5 which
was partly used in older versions QNX I think).
> > sourceforge. Can't get it to compile - it misses a
> > ./configure script when running "./build config".
>
> Run the cvscompile script, or see the INSTALL file.
>
> The patch should work with the 1.0.9b release, too.
Know it's been a while, but I have finally had some
time on my hands to look at it again. I used a CVS
snapshot from 2005-06-20 and the patch applies
cleanly. alsa-driver/ builds and installs without
trouble. However, alsa-lib won't build - with and
without the patch.
Using a CVS snapshot as of today, alsa-lib still
refuses to build - and the patch also fails :-/. The
patch is not in CVS (yet?) ? At least I haven't found
any references to IFACE_USB_CTRL in
alsa-kernel/include/asound.h.
The alsa-lib build error is
gcc -shared .libs/conf.o [...]-Wl,libasound.so.2 -o
.libs/libasound.so.2.0.0
/usr/bin/ld: .libs/libasound.so.2.0.0: undefined
versioned symbol name
snd_pcm_hw_params_get_buffer_size_max(a)ALSA_0.9
/usr/bin/ld: failed to set dynamic section sizes: Bad
value
collect2: ld returned 1 exit status
When I try to do the steps in cvscompile manually I
get the following:
jhje@flyvehest:~/alsa-cvs/alsa-lib$ automake --foreign
--copy --add-missing
src/Makefile.am:21: invalid unused variable name:
`AM_LDFLAGS'
Must be something obvious since the error is the same
between the two snapshots (?).
Cheers
-- Jan
____________________________________________________
Yahoo! Sports
Rekindle the Rivalries. Sign up for Fantasy Football
http://football.fantasysports.yahoo.com
--- Lee Revell wrote:
> So all the advice needed is "make sure you use the
> latest ALSA".
Just got dmix configured, inspired by this thread. It
is really simple using the steps in
http://alsa.opensrc.org/index.php?page=DmixPlugin.
Even Flash-stuff in Firefox behaves nicely now (just
start Firefox with "aoss firefox")!
Have I understood it right that ALSA 1.0.9 and later
sets up dmix per default, also for aoss, so that you
can play aoss stuff and multiple alsa streams
simultaneously ? That sounds exactly like what we need
to get stuff to "just work".
Cheers
-- Jan
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
by Kjetil Svalastog Matheussen <k.s.matheussenï¼ notam02.no>
Dave Phillips
>
> Please tell me more about snd-rt and CM, I'm very interested.
>
Hmm, well, theres no special support in CM for snd-rt,but common music (at
least partly) can be loaded into SND, so you can use some of common musics
functionality to schedule realtime events and control various things.
I don't know CM very well though.
Hello,
I made a new plugin based on the cmt lib and swh libs called buzzkill.
It's a simple "reverse hard limiter" - it kills amplitudes below a certain level.
It works good for two purposes: Eliminating "noise" or "hiss" at about -50 or -47 DB, which was my intention. But it also works good put before guitar distortion (I was using the CAP libs tube amp sims) - eliminating the noise you get (I've got an accoustic-electric plugged in through a m-audio delta card hooked through jack-rack and the CAP's tube amp sim... then I had BuzzKill set at about -25 to -20).
Compilation: I just copied and modified the stereo amp from cmt to make this, I put the "identifier numbers" to 10,000 and 10,001 (i dunno whatchya call'em - each plugin's got a unique one). So, if you throw this file into the cmt libary, add it to cmt.h or cmt.cpp right, and add an "-lm" to the makefile in the right place it compiles (call it "alpha version" if you have no idea what I'm talking about).
So - the guitar usage sounds good, right? But, if you make a sound right about at the threshold (which you get a bit of, being sloppy on the fretboard and maybe a beer here or there), it cracks up a bit, sounds weird. So - rather than use a "look ahead" type algorithm like I saw i nthe limiters, I thought about something simpler to understand (at least for me).. which was having the parameters be two dB values (let's call'em i1 and i2 between friends)... then, having a linear scale from the input to the output as follows:
if input is of i1 amplitude, 0 dB is output.
If input is between i1 and i2, output is linearly scaled from 0 to i2
(let's see, i'd say output=input*(i2/i1)+i1 .. i think that's right)
If input is greater than i2, output equals input
It gives you a rough transition at input=i2 but I think it'll be "good nuf, ya, let's jam, ya know"
I dunno, that's what I was thinkin.. hey, it's simple, right? :) Oughtta be fast too.
Cheers,
Dan
--
___________________________________________________________
Sign-up for Ads Free at Mail.comhttp://promo.mail.com/adsfreejump.htm