the vacuum Ответов: 1

Захват звука микрофона в windows с помощью c/c++


В рамках проекта я должен захватить звуковой вход через микрофон, выполнить некоторую обработку сигнала и хотел бы сохранить полученный звук в windows с помощью c/c++.
Есть ли по умолчанию библиотека c/c++ или методы для захвата микрофонного входного звука в Windows?, pls предлагают лучший способ.... Pls предоставляют, если у кого-то есть примеры программ...

[no name]

Этот вопрос задавался миллион раз. Пожалуйста, погуглите это и найдите codeproject. Здесь и в других местах полно всякой всячины.

https://www.google.com.au/#q=capture + звук+windows+c%2B%2B

H.Brydon

Я согласен - это будет примерно один вопрос, заданный на 10 членов КП. Да, примерно так. :-)

[no name]

Я собирался сказать 10 миллионов, но поиск получил только 7 миллионов просмотров. Извращенная логика, я знаю.

Oso Oluwafemi Ebenezer

Посмотрите на http://msdn.microsoft.com/en-us/library/windows/desktop/dd743834 (v=vs.85). aspx Проверьте функции waveIn*, такие как waveInOpen, waveInStart и т. д

1 Ответов

Рейтинг:
10

Volynsky Alex

PortAudio-это бесплатная кросс-платформенная библиотека аудио ввода-вывода с открытым исходным кодом. Он позволяет писать простые аудиопрограммы на языке " C " или C++, которые будут компилироваться и запускаться на многих платформах, включая Windows, Macintosh OS X и Unix (OSS/ALSA). Он предназначен для содействия обмену аудио-программным обеспечением между разработчиками на разных платформах. Многие приложения используют PortAudio для аудио ввода-вывода. PortAudio предоставляет очень простой API для записи и/или воспроизведения звука с помощью простой функции обратного вызова или блокирующего интерфейса чтения / записи. Для получения дополнительной информации, пожалуйста, посмотрите здесь:http://www.portaudio.com/[^]

Инструментарий синтеза на языке C++ (STK) представляет собой набор классов обработки аудиосигналов с открытым исходным кодом и алгоритмического синтеза, написанных на языке программирования C++. STK был разработан для быстрого развития программного обеспечения для синтеза музыки и обработки звука с акцентом на кросс-платформенную функциональность, управление в реальном времени, простоту использования и учебный пример кода. Инструментарий синтеза чрезвычайно портативен (это в основном независимый от платформы код C и C++) и полностью расширяется пользователем (все исходные коды включены, никаких необычных библиотек и никаких скрытых драйверов). Посмотрите следующий сайт, связанный с этим вопросом тоже: https://ccrma.stanford.edu/software/stk/[^]

Цель SPUC (обработка сигналов с использованием C++) состоит в том, чтобы предоставить разработчику систем связи или разработчику алгоритмов DSP простые, эффективные и многоразовые объекты строительного блока DSP. Таким образом, обеспечивается переход от проектирования системы к реализации либо в программируемых микросхемах DSP, либо в аппаратной логике DSP.
Эта Библиотека Классов
1) основные строительные блоки, такие как сложные типы данных, целочисленные классы фиксированной разрядности, блоки чистой задержки и т. д.
2) основным строительным блоком цифровой обработки сигналов, такие как ель, Мих, Allpass, скользящая средняя, Лагранжа интерполяционные фильтры, НКО, Cordic вращателя.
3) несколько коммуникационных функций, таких как временные, фазовые и частотные дискриминаторы для сигналов BPSK/QPSK.
4) другие различные функции/классы, связанные с DSP/коммуникациями.
5) возможность проектирования нескольких типов пихтовых и БИХ-фильтров
6) различные адаптивные классы эквалайзеров
7) Эта библиотека теперь содержит код от нее 3.7.0. Код был изменен, чтобы работать вместе с сайт spuc и заменить вектор и Матрица-классы от ТНТ.
8) заглавные и прописные имена классов-это классы, изначально не входящие в SPUC

Для получения дополнительной информации, пожалуйста, посетите следующий сайт: http://spuc.sourceforge.net/[^]

Давайте посмотрим здесь : Совместимая с DirectX.Библиотека Захват Класса [^] еще один пример для вашего вопроса

Выборка звуков в Windows 32 относительно проста-как только вы знаете,как работать с асинхронным вводом. Вот вы можете посмотреть, как это работает:
http://www.relisoft.com/freeware/recorder.html[^]

Для программиста функции мультимедийного API Windows упрощают запись или воспроизведение звуковых сэмплов с помощью звуковой карты вашего компьютера и, следовательно, открывают множество возможностей для цифрового анализа и обработки звука. Эта страница показывает вам, как начать работу:
http://www.techmind.org/wave/[^]

В этой части вы можете увидеть, как записывать волновой звук с помощью низкоуровневых звуковых функций C++ Builder: http://www.bcbjournal.com/articles/vol2/9810/Low-level_wave_audio__part_3.htm[^]


Надеюсь, это вам поможет.
Удачи.

Алекс.


Joezer BH

Отличный ответ, Алекс!

Volynsky Alex

Большое спасибо Канни Бриск

CPallini

5.

Volynsky Alex

Спасибо