http://www.perlmonks.org?node_id=1014297


in reply to Re: How to record audio file?
in thread How to record audio file?

This is pretty much what I was looking for, thanks for the tip. It has very high level api calls but unfortunately, the MCI library seems limited as for how much I can configure the soundcard I'm recording from (audio is recorded too low with too much noise), so I guess I have to keep looking for a more robust customizable audio library API. I found that audacity uses the portaudio api, but the perl module to access that is too low level for me at this point.

Replies are listed 'Best First'.
Re^3: How to record audio file?
by Lotus1 (Vicar) on Jan 20, 2013 at 18:08 UTC

    How will the recording level affect the amount of noise?

    I was going to test this module but found it won't install due to missing dependancies on CPAN.

      Lotus1:

      How will the recording level affect the amount of noise?

      It doesn't. The noise is there. But i think the higher the input level is the less you can here the noise in the recordings.

      Regards, Karl

      «The Crux of the Biscuit is the Apostrophe»

        The OP was incomplete with more details dribbled out as the OPer deflected and discounted the offered possible solutions. My question was attempting to get the OPer to give more clues as to the experience level and goals.

        On my XP laptop under the audio properties the microphone input level can be set. The OP doesn't say why the level needs to be set in the Perl program or if it needs to be continiously changed. Maybe the OP wants to implement compression or some effect. I didn't want to invest too much effort in answering someone who didn't search google for the modules or to give better details up front but it is a topic I am highly interested in.

Re^3: How to record audio file?
by karlgoethebier (Abbot) on Jan 22, 2013 at 14:14 UTC

    ress, i didn't use Win32::SoundRec yet.

    But from the manual:

    record([$bitspersample, $samplespersec, $channels])
    ...The three parameters are optional. $bitspersample defaults to 8, $samplespersec defaults to 11025, $channels defaults to 1.

    Even cheaper cards have up to 24Bit/96kHz. Did you try?

    And perhaps using a preamp/mixer?

    Regards, Karl

    «The Crux of the Biscuit is the Apostrophe»

      We're getting off topic here but I'm curious why you think the recording resolution will affect the recording level? A high resolution or high frequency sample of a small signal is still a small signal.

        Lotus1:

        ...but I'm curious why you think the recording resolution will affect the recording level.

        I didn't say this. But i'm shure that increasing sample rate/sample depth will decrease signal-to-noise ratio noise. The input level is another thing.

        Very best regards, Karl

        «The Crux of the Biscuit is the Apostrophe»