usenet
7/27/2006 6:28:00 AM
Jeremiah Dodds <apatheticagnostic@gmail.com> wrote:
> Thanks William and Hans. William, if I was on windows that probably
> would've helped.
>
> Hans, I don't necessarily need to save to file - it could be handy
> though. I'll check out ruby-audio.
>
> I really need to learn not to post these help requests when I'm
> sleep-deprived - I leave out vital information like what exactly I want
> to do, and what OS I'm running on.
>
> I want to generate the sound real-time - so I guess I'll need to figure
> out how to send it to /dev/dsp or /dev/audio or whatnot.
Something like this might work on *unix :
------------------------------------------------------------
Samplerate = 8000
def beep(frequency, amplitude, duration)
f = File.open("/dev/dsp", "w")
wave = ""
0.step(duration, 1.0/Samplerate) do |t|
y = Math.sin(t * frequency) * 50 + 127;
wave << y.to_i.chr
end
f.write(wave)
end
beep(2000, 100, 1)
------------------------------------------------------------
this code assumes the default settings of your soundcard are 8000 hz, 8
bits samples, signed, one channel. If you want more control over these
values, you will have to do fiddling with OSS IOCTL's or alsa libraries.
--
:wq
^X^Cy^K^X^C^C^C^C