Keep in mind that each call to $sound tells mIRC to open the file, read the data then close the file. So if you're going to retrieve the artist, title and bitrate information out of an mp3 file, mIRC will open & close it 3 times. It could be much faster if all the necessary information would be read in one instance, which is what a DLL can efficiently do.