Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/43: Рейтинг темы: голосов - 43, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 3

Захват и сохранение звука с микрофона в реальном времени

19.12.2012, 21:08. Показов 9281. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если есть готовое решение - дайте ссылку где посмотреть.

Нужно следующее:

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

Вероятнее всего, необходимо использовать стороннюю библиотеку так как в дальнейшем планируется обрабатывать полученный звуковой файл, в частности менять его формат, воспроизводить.

Всем заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.12.2012, 21:08
Ответы с готовыми решениями:

Воспроизведение звука с микрофона вебкамеры в реальном времени
Хочу сделать так, чтобы например сказал что-то в микрофон вебкамеры и оно тут же воспроизвелось в колонках(ну или наушниках). Возможно ли...

Захват звука с микрофона
Какие существуют средства в HTML5 для захвата звука с микрофона, сохранения и последующей его передачи на динамики компьютера? Меня...

Захват звука с микрофона
Нужно считать звук с двух микрофонов и возможность выбирать микрофон для считывания. audioFormat = new AudioFormat(44100,...

6
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
19.12.2012, 21:23
Нужно следующее:
контроль порогового уровня с микрофона и запись в файл при превышении некоторое время, задаваемое пользователем.

в частности менять его формат, воспроизводить
на какой формат?
0
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
19.12.2012, 21:31
через bass.dll создать поток HRECORD
C++
1
2
3
4
5
6
7
HRECORD BASS_RecordStart(
    DWORD freq,
    DWORD chans,
    DWORD flags,
    RECORDPROC *proc
    void *user
);
который будет слушать микрофон

далее по таймеру брать у него уровень текущего звука

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
type
  TBassLevel = record
    left: double;
    right: double;
  end;
 
// 
 
// max 32768
function ChannelLevel(stream: cardinal): TBassLevel;
var level: dword; 
begin
    level:=BASS_ChannelGetLevel(stream);
    result.left:=LOWORD(level)/32768;
    result.right:=HIWORD(level)/32768;
end;
после превышения порогового значения писать, либо не писать в файл

все это очень приблизительно. точнее дать не могу ибо догло искать.

подробней можно найти в оригинальной документации в bass.dll

Также есть класс BassSimple но его функционал пока не дотягивает чтобы сделать нечто подобное его же средставами. ибо надо будет спукаться в низкий уровень bass.dll API, зато у него окрытый код и можно посмотреть как организована запись с микрофона в файл
0
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 3
20.12.2012, 11:12  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
контроль порогового уровня с микрофона и запись в файл при превышении некоторое время, задаваемое пользователем.
Спасибо за быстрый ответ, но есть ли исходники данной программы?
Цитата Сообщение от raxp Посмотреть сообщение
на какой формат?
Формат нужен *.FLAKE

Добавлено через 5 минут
Цитата Сообщение от Alex_pac Посмотреть сообщение
через bass.dll создать поток HRECORD
который будет слушать микрофон

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

все это очень приблизительно. точнее дать не могу ибо догло искать.
подробней можно найти в оригинальной документации в bass.dll

Если можно, напишите подробнее, я не совсем понял как использовать код на С++ в Делфи.
Цитата Сообщение от Alex_pac Посмотреть сообщение
Также есть класс BassSimple но его функционал пока не дотягивает чтобы сделать нечто подобное его же средставами. ибо надо будет спукаться в низкий уровень bass.dll API, зато у него окрытый код и можно посмотреть как организована запись с микрофона в файл
Про этот класс я читал, пытаюсь разобраться.
0
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
20.12.2012, 20:11
на С++ там просто описание функции. Использовать также как и в Delphi
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
20.12.2012, 23:48
Формат нужен *.FLAKE
есть догадка, что вы делаете для GoogleSpeech API , и видимо речь про FLAC. Угадал?

Для конвертации использовал два способа: пакет NewAC, либо 'flac.exe' в консоли, поскольку наблюдались ситуации, когда DirectSound глючит.

Описание API вызова библиотеки GoogleSpeechRecognizeAPI2.DLL
0
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 3
21.12.2012, 07:50  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
есть догадка, что вы делаете для GoogleSpeech API , и видимо речь про FLAC. Угадал?

Для конвертации использовал два способа: пакет NewAC, либо 'flac.exe' в консоли, поскольку наблюдались ситуации, когда DirectSound глючит.

Описание API вызова библиотеки GoogleSpeechRecognizeAPI2.DLL
Да, именно это я и хочу сделать. Спасибо огромное.
Сам не догадался спросить на прямую.

По поводу примера в архиве. Ругается, что не может найти файл "audio.flac".
Он просто его не создает, не пишет с микрофона. Буду разбираться.

У меня Windows 7 максимальная x64, может нужно указать откуда брать звук?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.12.2012, 07:50
Помогаю со студенческими работами здесь

Захват звука с микрофона
Подскажите пожалуйста с помощью каких библиотек и каких их функций можно захватить звук с микрофона. Нужен массив звуковых значений для...

Захват звука с микрофона и воспроизведение
Здравствуйте! Подскажите чем можно брать звук с микрофона, чтоб можно было его передавать по сети и воспроизводить с другой стороны?

Захват видео с экрана с записью звука с микрофона
Добрый день. Требуется средствами C# 3.5 записать видео со звуком. Изображение - это состояние экрана, звук с микрофона. Необходима...

Реализовать захват звука с микрофона и его воспроизведение
Мне необходимо реализовать захват звука с микрофона и его воспроизведение. Набросал такой код по этой статье:...

Захват звука с микрофона без графической оболочки
Добрый день, дамы и господа. Сразу скажу, что в C# я нуб полнейший, на уровне чайника писал простейшие скрипты под свои надобности. Сейчас...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru