Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.05.2011, 19:39
evgeny_sh evgeny_sh вне форума
Прохожий
 
Регистрация: 22.01.2011
Сообщения: 4
Репутация: 10
По умолчанию Запись с микрофона в поток

Господа, небольшой ламерский вопрос.
Как считать звук с микрофона, поместить в MemoryStream и впоследствии воспроизвести, не сохраняя все это дело в файл?
Формат - WAV, т.к. насколько я понял, PlaySound из mmSystem воспроизводит исключительно его.
Желательно обойтись без сторонних компонентов и библиотек.
Ответить с цитированием
  #2  
Старый 29.05.2011, 21:48
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Я так понимаю, методом научного тыка, прыгая по разным форумам, вопрос снимается?
Ответить с цитированием
  #3  
Старый 01.06.2011, 07:40
foka2002 foka2002 вне форума
Прохожий
 
Регистрация: 01.06.2011
Сообщения: 10
Репутация: 10
По умолчанию

для получения приличного качества вам потребуется: микрофон, звуковая карта и редактор звука (читай - SoundForge, лучше и не придумаешь). Микрофоны бывают в основном двух видов: динамические и конденсаторные. Интересный парадокс: в различных комплектах со звуковыми картами и просто как аксессуары к компьютеру продаются в основном конденсаторные микрофоны. В комплектах к полупрофессиональной аппаратуре и караоке - динамические. В студийной же практике конденсаторные микрофоны используются куда более часто, чем динамические. Опишу различия. Динамический микрофон - пассивное устройство, т.е. для его работы не требуется внешний источник питания. Обычно динамические микрофоны имеют быстро убывающую с расстоянием чувствительность, т.е. при удалении от микрофона сантиметров на двадцать ничего нормального уже не запишешь. Конденсаторный микрофон - активное устройство, и для его работы требуется питание. Обычно трехконтактные разъемы у звуковых карт рассчитаны на конденсаторные микрофоны, и на третий контакт подается напряжение для их работы. Чувствительность у конденсаторных микрофонов обычно выше, и убывает с расстоянием меньше. Более того, для получения хороших результатов запись на конденсаторный микрофон надо производить с почтительного расстояния хотя бы в несколько сантиметров.

Пара слов о звуковой карте. Сегодняшние звуковые карты обычно годны для нормальной записи. Они имеют достаточно низкий уровень собственных шумов и хорошие аналогово-цифровые преобразователи. Конечно, они далеки от совершенства, но кто скажет, что в профессиональном аппарате АЦП во столько же раз лучше, во сколько профессиональный сэмплер стоит дороже обычной звуковой карты класса SB AWE64?

Звуковой редактор для меня был, есть и, видимо, в обозримом будущем будет, Sonic Foundry Sound Forge. Этот редактор предлагает очень хорошие инструменты редактирования звука, от простых (типа повышения/понижения громкости) до мудреных вроде качественного ресэмплирования на другую частоту выборки. С использованием некоторых DirectX plugins возможности SoundForge по обработке звука просто безграничны. В общем, не разглагольствуя: все последующие советы и размышления будут даваться со ссылкой на этот редактор. Если вы планируете многодорожечную запись (например, накладывать голос на музыку, и неоднократно) - вам также понадобится многодорожечный редактор типа Sonic Foundry Vegas (рекомендую Steinberg Nuendo, но это дьявольская штучка , однако он будет использоваться только в качестве магнитофона и его рассмотрение выходит за рамки данной статьи.

Итак, всё это вы имеете. Теперь надо разобраться с типом микрофона, подключить его как полагается, настроить уровень записи - и вперёд. Замечу, что мне попадались динамические микрофоны, которые, хоть и имели приличный вид и стоили немало, оказывались неприемлемыми для записи, ибо у них была просто некачественная мембрана. Если микрофон после подключения к усилителю "бубнит" (т.е. не воспринимает высокие частоты) - ничего с ним сделать уже не удастся. Все конденсаторные микрофоны, попадавшиеся мне, включая и мой на подставочке, не страдали таким недостатком. Однако динамические микрофоны обычно имеют более или менее экранированный шнур, а вот конденсаторные для компьютеров похвастаться этим как правило не могут - отсюда больший уровень шумов. Для меня особой разницы нет - пробовал и те, и эти. Описываемая мною технология одинаково хорошо работает с обоими типами микрофонов.

Воткнуть микрофон в звуковую карту обычно проще простого - вход как правило всего один. Чаще (но не всегда) вход рассчитан на оба типа микрофонов. Впрочем, небольшой эксперимент покажет что к чему. Если при подключении конденсаторного микрофона ничего не слышно (тривиальные операции с микшером опустим - значит, не судьба. Динамический же микрофон подходить должен всегда.

Об уровне записи. Желательно выводить его чуть-чуть ниже значения, при котором возникает перегрузка. В SoundForge и подобных существуют индикаторы для контроля за уровнем записи. Говорите (или пойте) в микрофон на той громкости, на которой будете записываться, и следите за уровнем, уменьшая или увеличивая уровень записи на микшере. Как только достигнете перегрузки - уменьшите децибела на три и будьте в дальнейшем спокойны. Кратковременные перегрузки во время записи (обычно при чрезмерно активном произнесении звуков "п" и "б") не страшны и впоследствии корректируются.

Вопреки мнениям некоторых беспокойных людей замечу, что запись вокала можно производить не на 44 кГц, а вовсе даже и на 32 кГц, экономя при этом место. При такой частоте выборки максимальная воспроизводимая частота - 16 кГц, что для голоса вполне приемлемо. Если уж так понадобится, впоследствии можно перевести из 32 в 44, хотя толку в этом и немного. Многодорожечные редакторы (Vegas) обычно поддерживают сведение треков с различными частотами выборки.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter