Hi everyone,
I'm working on a sampler and i have a really silly problem.
I simply want to mix sounds in a stereo buffer within the jack "process"
function.
So for each frame i sum the samples from each sound but then the values go
above 1 and i get clipping.
So my first thought was to divide by the number of samples playing, but it
ends up with a decrease in volume.
I tried to limit the values between -1 and 1 but it 's also clipping ->
distortion.
I looked into some sources and it seems i would actually just have to sum
the samples.
Can anyone help me with that ?
Thanks
Flo
>libzzuvb is probably closest to what you describe. you could also hack
together dino|seq24 with chionic|specimen, anything heftier (eg, wired,
LMMS, hydrogen) is likely to be more annoynig to extract
Those programs are to complicated. I need a toy to learn from it (it
should be simple, but written using good techniques). I tough more about
something like Hammerhead ( http://www.threechords.com/hammerhead/ ), or
even something easier (no gui, one soucefile).
>/dev/dsp represents a deprecated interface.
>moreover, what happens when someone wants to route the output of your
>cool, modified mod player through FreqTweak or jack_convolve?
Like I said, I want to learn from it, so I don't need a complicated soundserver support
(but I don't say that I won't ever use it).
If there isn't such program, then maybe someone could write it for me :D.
I need a framework of a sequenced sample player. This is becouse I want
to start my own project, and don't want to invent everything from
scratch. Ofcourse there is lot of this kind opensource applications, but
I need the simplest.
- It should use only /dev/dsp
- the sequence should be in a form of an char array, where the bits
decide what voice to play. For egzample:
seq[]={1,0,0,0,2,0,1,3,0,3,1,0,2,0,1,0} seq[0]==1 means that in first
step
should be played only the first sample (bassdrum),seq[1]==0 means pause
(no sample), seq[4]==2 second voice (snare), and seq[7]==3 means snare
+bass drumm.
- I need to understand how the sequence procesing, and sound mixing is
done in real time, and how the gaps betwen sounds should be iplemented.
- the samples should be held in raw arrays (16 of 8 bit), eventualy
downloadable from hdd.
- a simple dsp like lp-filter would be nice to see, becouse i am curios
how the time needed to proces the signal should be counted into the
latency (and buffer size).
- there is also a need for bpm clock.
- a simple interpolation would be nice.
Ok. I think that this is all! :P
Or wait!!!!! I have a better idea! I there a way to make those things
using for example libmikmod?
I would like to start a music program for live mixing of mod, and xm
modules (plaing, and muting chanels, realtime patterns changing, looping
sequences). If someoune is interested
in helping, I am open for sugestions.
Happy new year to you all!
I just wanted to remind you all that the deadline (8th of January) for the
LAC2007 is getting nearer, so now is the time to still write that paper, mail
that cd, or make that proposition for that tutorial.
Detailed info:
http://www.kgw.tu-berlin.de/~lac2007/index.shtml
Sincerely,
On behalf of the Linux Audio Conference 2007 Orga Team,
Marije Baalman
Hello all,
First of all, my best wishes for 2007 to all Linux Audio Developers !
2007 will be a special year for me. As some of you already know, I said goodbey
at Alcatel Space two months ago, and starting 8 Jan 2007 I'll be working at LAE
- Laboratorio di Acustica ed Elettroacustica - <http://www.laegroup.org/> in
Parma, Italy. LAE is an acoustics and electro-acoustics research and consultancy
lab operated by the university of Parma and by three companies active in the area
of acoustics and audio. My activities in LAD will continue of course, after maybe
a short break while the dust of moving to Italy settles.
Looking forward to meet you all at LAC2007 in Berlin !
--
FA
Lascia la spina, cogli la rosa.
Hi.
I just tried to get sound working on a LinkSys NSLU2 (ARM) running
Debian Etch using a USB sound card.
What I discovered I find pretty strange, and would like to know some
more details. Apparently, all ALSA native clients don't
manage to play sound click-free, they actually have underruns all the
time. However, if I use OSS (via the snd-pcm-oss module) and set
libao to use the oss driver, I get perfect playback with about
20% CPU use at maxiumum by the user-space app playing/decoding files.
This is a bit strange, isn't it. OSS-emulation actually uses the same
kernel code to access the actual hardware. I am just very vaguely
familiar with the whole ALSA architecture, but it feels as if
the problem here actually lies inside the user-space alsa libraries?
Did anyone ever see such an effect, and investigate more closely
what is the reason for the difference?
--
CYa,
Mario | Debian Developer <URL:http://debian.org/>
.''`. | Get my public key via finger mlang(a)db.debian.org
: :' : | 1024D/7FC1A0854909BCCDBE6C102DDFFC022A6B113E44
`. `'
`- <URL:http://delysid.org/> <URL:http://www.staff.tugraz.at/mlang/>
Greetings:
My ancient 800 MHz machine has dead PS/2 ports so I plugged my mouse and
keyboard into its available USB ports. Alas, the keyboard disappears
after selecting my kernel image (Demudi) in grub. I'm away from the
machine right now so I don't have the exact text of the error message.
However, I do recall that it refers to a USB-related IRQ error.
I tried to install the 32-bit version of 64Studio, but the error occurs
during the configuration process: As soon as I press Enter at the boot
prompt the keyboard is no longer present to the system. :(
I Googled for some more information regarding the problem and found that
it is in fact a known issue. However, none of the proposed solutions
worked for me. I also sent messages to the 64Studio dev list and to Free
and Daniel, but I've heard nothing back from them or the list (I think
my email to the list isn't getting there).
One thing does work: Dynebolic includes a nohid boot parameter that does
the trick ('linux nohid'), so I can still boot into the machine and
access my data. So, my question is: What's Dynebolic doing that the
other distros aren't ? I'd surely like to boot directly into my system,
and I'd like to install 32-bit 64Studio, but I can't do either until I
solve this problem.
Any suggestions ?
Best,
dp
I understand that LADSPA and friends specifically exclude any
functionality around how to find and load plugins, but it seems that a
lot can be gained by introducing some standards in this area.
As a package of audio apps/plugins for a Linux distro, here are two of
the problems I see:
1. Applications are often hard-coded to look in /usr/lib/ladspa (for
instance), when many systems may require that libraries live somewhere
else (like /usr/lib64/ladspa for x86-64, or /usr/lib32/ladspa for
n32-ABI MIPS Linux). I've had to patch a lot of apps for x86-64 Fedora.
2. We build binaries for the lowest common denominator, so the plugins
you'll find in Fedora, for instance, don't take advantage of SSE
hardware or instruction scheduling for different processors. This can
make a huge difference. What would be nice is if we could distribute an
RPM containing a plurality of plugin builds, and then have the
application load the plugin matching the capabilities the execution
platform.
Has there been any discussion around creating a plugin locator/loader
library? It would be nice if one could be written and then widely
adopted by app writers. (I'm not volunteering!)
AG