LineIn plugin for Winamp 2/5 Documentation - Recording
Up | Previous | Next | Down
Performance
For recording you want to forget all you've read about performance, just set that maximum buffersize and maximum number of buffers (not advisable with version later than v1.42).
Very nice options would be:
line://bufsize=8192,numbuffers=100
Don't set that buffersize any higher, unless you have to, in versions later than v1.42 it is possible to set it higher, but officially it's not supported (and therefore could cause crashes).
Hardware
First of all you have to connect your hardware, if you're recording from a different program on the same PC skip this section and read the Software section.
Connecting your hardware is usually quite straightforward, but there are a few things to pay attention to:
- The mic-in of your soundcard amplifies signals, but usually not very well.
- The line-in of your soundcard does not amplify signals.
- Most soundcards use stereo minijack connectors, but digital interfaces are becoming more and more popular and a lot of (semi-)professional equipment has RCA connectors (like most stereos), so you have to pay attention to what plugs have to go where and which converters you might need (there is a convertor for almost everything).
Microphones
Microphones go into the mic-in (what a surprise) or they go into an external amplifier and then into the line-in.
Turntables
The signal from a turntable (record player) has to be amplified before it is recorded, otherwise you won't hear a thing. Luckily most soundcards have a mic-in, this can be used without problems for recording from a turntable directly (usually you need a cable that converts from those double RCA connectors to stereo minijack connector).
For best quality, however, you need a seperate pre-amplifier for turntables (usually you can just use the amplifier of your stereo, most have a special phono-in).
Tape recorders
These do not need amplification and can be plugged into your line-in without a problem.
Your stereo
It can be plugged into your line-in as long as it's amplified, so your stereo probably can. But you will usually need a converter from RCA to minijack. Also, if the maximum output signal of your stereo exceeds 1V you might not want to try it.
Volume settings
You should always begin with a low volume level and then increase to the desired height (this can be done while playing the device with my plugin, before you set Winamp up for recording).
Software
Skip this section if you're recording from a hardware device (or read it out of curiosity).
There are ways of recording from other programs on the same PC, besides the obvious of connecting your speaker out to your line-in.
A lot of soundcards have a kind of virtual device that lets you record all the sound that is output using the soundcard, this device can have all kinds of names and can simply be selected as described in the Basics section (the section about the volume control).
There is however another way to do this, a seperate program that creates a virtual device to which one application outputs sound and from which my plugin can input sound. Virtual Audio Cable is the only application I know of that does this and can be very handy (if you mail me I'll send you a copy). But there might be other programs that do this.
Setting up Winamp
The output plugin
The most important setting is which output plugin to take, there are a number of possibilities, here are a few:
- Nullsoft Disk Writer plugin
- Nullsoft MP3 Output plugin
- Nullsoft WMA Output plugin
There are also a lot of non-Nullsoft plugins (like my File Writer output plugin), but the above come with Winamp (or are available through the Winamp site).
The DiskWriter plugin
The DiskWriter plugin outputs the sound it receives to a file it names after the position of the entry in the playlist and its title (and its duration I believe). It puts that file into a directory you can select by configuring the plugin (select it in Winamp preferences and press Configure) or the first time you use it.
This plugin is my favourite, since it does nothing with the sound but save it. And when it's saved I can do anything with I want, open it in a sound editor, convert it to MP3, Ogg Vorbis, WMA, anything.
The only (and obvious) drawback is that it takes a lot of space. Suppose you wanted to record a record to MP3, but you really like that latest version of the lame encoder, so you first save it to WAV, then slice it up using a program like CoolEdit and then encode them to MP3, of course you'll also want to put the audio tracks on an Audio-CD:
- Recording: 40 minutes of sound at 44100 Hz, 16bps, Stereo:
(40*60) seconds * 44100 Hz * 4 bytes = 423360000 bytes = 404 MB
The slices are the same size, in total (you'll probably want to keep the original, so we're at 808 MB at this point).
Then we convert the slices to 128kbps MP3's:
404 MB * ( (128*1024/8=16384) bps / (44100 * 4=176400) bps ) = 38 MB
Now we're going to burn it, unfortunately you've got an old drive, so to be on the save side you first create an image that will be approximately 450 MB (probably even bigger).
In total that would be:
404 (original) + 404 (slices) + 38 (MP3's) + 450 (CD image) = 1296 MB
So if you've got enough space on your drive, this is the way to go, but else, forget it.
The MP3 and WMA output plugins
Their names speak for themselves, they record directly to MP3 or WMA, respectively.
The advantages are clear, but they also have disadvantages, such as increased processor load and possibly less quality than a standalone encoder (although this should not be necessary).
If you want to record to an Audio-CD, this is not advisable, since you'll be converting it to a lossy compression format first and then converting it back to PCM format again.
My File Writer output plugin
A few users of my LineIn plugin complained about the current date and time functions not working with writer plugins, so I decided to create a writer plugin myself, that would make those options work. Unfortunately it proved quite hard to simply make an output plugin that correctly read the title, so now I have made the writer plugin support expanding as well. This means that with my File Writer output plugin you can use something like this:
line://title=Current time is \%ts
Or with the new expand system (not implemented in the File Writer yet at the time of writing): line://title=Current time is \${curtime}
And then my output plugin will expand the %ts in the title to the current time (if you use the expanded title filename mode).
But I've also included support in my File Writer output plugin to simply append a string to the title that is handled in much the same way as the title option in my LineIn plugin. That means you can simply give all your created files a date and/or time stamp (or anything else you wish to append to the name).
You can download my File Writer output plugin here.
LineIn plugin options
Just use the following, unless you have trouble using it:
line://bufsize=8192,numbuffers=100
Most of the time the above will suffice.
Starttime, startdate and time
You can use the options stime, sdate and time for recording a program. Imagine I have my radio connected to the computer and all my device settings are right, and I wanted to record that show at 8 PM that I love (and I wouldn't be there to start and stop the recording at that time), then all I have to do is use these options (the show takes 30 minutes):
line://stime=20:00,time=30:00
This immediately shows a big difference in format between the stime and the time option, the stime option uses the h:m[s[.x]] format and the time option uses the [[h:]m:]s[.x] format. I did it this way to make it more intuitive, otherwise it would have been:
line://stime=20:00:00,time=30:00
Which looks a bit like overkill.
NOTE: In the new expand system both options use the [[h:]m:]s[.x] syntax, so only the last one would have the desired effect. But I might decide to change that later on.
The stime option works by pausing until it's time to start, that means you have to set it playing before that time (if you want the option to have any effect).
The sdate option works in a similar fashion, but then with dates. Keep in mind that the format for the date is yyyy-m-d, this was done to avoid any confusion (so you don't have to worry about mixing-up the month and day). It also means you have to specify the full year, not just the last two digits. An example:
line://sdate=2001-9-26,stime=20:00,time=30:00
If I played this now (it's now 2001-9-25, about 19:00), it would pause until tomorrow evening, 8 PM (or until 0:20 AM with the new expand system, use stime=20:00:00 instead).
The time option works by stopping after the specified time.
Recording
Press play :)
Up | Previous | Next | Down
To contact me, please mail to: th.v.d.gronde@hccnet.nl
I hope you'll enjoy my program(s).