Конечно, трудно говорить о какой-то высокой точности параметров, снятых с помощью такого генератора - ведь карта может и шипеть, и, что хуже, свистеть (давать паразитный сигнал на определенной частоте), может быть задействован какой-либо особый режим звучания (например - реверберация). Однако если звуковая карта качественная, то и генератор из нее получится удовлетворительный. Есть еще тонкость - современные звуковые карты имеют тенденцию выдавать слабый сигнал, требующий дополнительного усиления. Так что возможно, что к карте потребуется подключить внешний усилитель.
Предлагаемая здесь программа позволяет с помощью вашей 16-разрядной звуковой платы, поддержтвающей частоту дискретизации 44.1 кГц, генерировать чистый тон в диапазоне от 15 Гц до 10 кГц. Насчет 15 Гц следует быть осторожным - соответствующие данные на карту, конечно, поступают, а вот что с ним делают фильтры, которые могут стоять по выходу, неизвестно, и такой низкочастотный сигнал может на самом деле просто не генерироваться (обрезаться фильтрами).
Шкала установки частоты, к сожалению, линейная, а не логарифмическая, как, возможно, хотелось бы. Зато есть три режима работы, устанавливаемые при выборе соответствующиего множителя. При этом вся шкала покрывает диапазон до 100 Гц, до 1 кГц или до 10 кГц. Абсолютная точность выставления частоты с помощью органов управления, естественно, падает с расширением диапазона. Интенсивность сигнала задается из системного микшера.
Программа написана на Дельфи 2.0, в связи с чем ее объем велик, а текст мал. Те, у кого есть Дельфи, могут загрузить здесь ИСХОДНЫЙ ТЕКСТ (~4k), откомпилировать его и, возможно, адаптировать под свои требования. Тем, у кого Дельфей нет, и кто не боится запускать чужой исполнимый файл, скачанный из Интернет, могу предложть ОТКОМПИЛИРОВАННУЮ ВЕРСИЮ (~110k) генератора.
Внимание. Другие программы, как использующие звуковую карту, так и работающие совершенно независимо от нее, могут нестабильно работать совместно с генератором. По возможности, закройте остальные приложения или хотя бы сохраните редактируемые данные, прежде чем запускать генератор.