Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/29: Рейтинг темы: голосов - 29, средняя оценка - 4.59
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99

Микширование файлов wav

29.08.2013, 17:47. Показов 6254. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна помощь, нужно написать микшер, чтобы воспроизводилось два файла в формате wav. возможно кто-то писал видел, поделитесь ... А если нет, то возможно кто-то поделится идеями-советами?

На рис. приблизительно то, что я должен сделать.
Миниатюры
Микширование файлов wav  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2013, 17:47
Ответы с готовыми решениями:

Редактирование wav файлов
Добрый день, друзья. Подскажите, кто сможет, как в С++ именно в консольном приложении редактировать аудио файлы? В большом и широком...

Считывание заголовка wav файлов
Есть код: #include <stdio.h> #include <tchar.h> #include <conio.h> #include <math.h> // Структура, описывающая заголовок...

Паузы между проигрыванием wav файлов
Добрый день ,есть загвоздка с воспроизведением звуковых файлов ,воспроизводя поочередно их ,образуется довольно заметная пауза : ...

37
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
29.08.2013, 18:06
Что конкретно надо? На рисунке микшер - это Mixer. Смешивать файлы можно просто: (s1 + s2) / 2
, где s1 - сигнал первого канала, s2 - второго
1
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 18:28  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
(s1 + s2) / 2
, где s1 - сигнал первого канала, s2 - второго
это будет работать для двух wav файлов?

Добавлено через 2 минуты
Цитата Сообщение от castaway Посмотреть сообщение
Что конкретно надо?
Конкретно, нужно микшировать два wav файла и затем пускать их на колонки
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
29.08.2013, 18:32
тоже давно интересно как воспроизвести 2 wav файла одновременно (не используя всякие mciSendString).
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
29.08.2013, 18:35
Цитата Сообщение от Atlant_V Посмотреть сообщение
это будет работать для двух wav файлов?
Это звучит удивительно, но это будет работать и для трёх, и для 4-х ...
Цитата Сообщение от Atlant_V Посмотреть сообщение
Конкретно, нужно микшировать два wav файла и затем пускать их на колонки
Ок. Поставим вопрос по-другому. Что ты подразумеваешь под микшированием?
0
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 18:43  [ТС]
Я неправильно понял вопрос. Должно браться на вход два файла и затем они воспроизводиться одновременно, то есть накладываться один на один. То есть на колонках человек должен слышать два файла как один.

Добавлено через 2 минуты
Цитата Сообщение от Игорь с++ Посмотреть сообщение
не используя всякие mciSendString
это как?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
29.08.2013, 18:44
Цитата Сообщение от Atlant_V Посмотреть сообщение
Я неправильно понял вопрос. Должно браться на вход два файла и затем они воспроизводиться одновременно, то есть накладываться один на один. То есть на колонках человек должен слышать два файла как один.
Я повторяю вопрос: что конкретно не получается? Чем конкретно тебе помочь?
0
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 18:47  [ТС]
Не все такие умные как ты! Именно, не знаю как "смешать" два файла.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
29.08.2013, 18:53
Цитата Сообщение от Atlant_V Посмотреть сообщение
Не все такие умные как ты! Именно, не знаю как "смешать" два файла.
Я тебе сказал как смешать два файла. Или ты хочешь чтобы за тебя всю программу написали, которая включает в себя: загрузку аудио файлов, их микширование, открытие устройства вывода звуковой карты, вывод на звуковую карту, закрытие устройства вывода звуковой карты и прочие мелочи.. ?
0
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 18:55  [ТС]
программа у меня уже написана, мне усложнили задачу, поэтому я и спросил у кого какие идеи
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
29.08.2013, 19:08
Раз написана, то вам не хватает одного звена - смешивания. Доступ к данным у вас есть, теперь смешивайте их по алгоритму среднего поста #2.
0
8 / 8 / 1
Регистрация: 11.08.2012
Сообщений: 112
29.08.2013, 19:24
Если wav файл 16 бит, то 2 байта данных складываются, как описано выше, если 8 бит - то 1 байт. При этом надо учесть 2 канала используются или 1.
1
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
30.08.2013, 09:52
И еще не забыть про частоты дискретизации. Потому что если частоты дискретизации файлов одинаковы, то метод из поста #2 отлично работает. А вот если различны, то все сильно хуже. Один из файлов придется предварительно передискретизировать.

Да, и 8-битное кодирование - это чаще всего сжатое кодирование (А-закон или мю-закон). Так что об этом тоже нужно подумать.
0
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99
30.08.2013, 13:25  [ТС]
файлы 8 бит, используется один канал. Тот вариант s1+s2 не подходит. так как файлы могут быть разной длины. В зависимости от файла он должен играть постоянно, а другой проиграть раз.
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
30.08.2013, 14:16
"файлы 8 бит"
А вот с этого места поподробнее.
0
8 / 8 / 1
Регистрация: 11.08.2012
Сообщений: 112
30.08.2013, 14:35
Цитата Сообщение от Atlant_V Посмотреть сообщение
Тот вариант s1+s2 не подходит. так как файлы могут быть разной длины.
А что мешает в то время как один из файла закончился прибавлять s1+0 например?
0
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99
30.08.2013, 14:52  [ТС]
Цитата Сообщение от Ermak_nk Посмотреть сообщение
А что мешает в то время как один из файла закончился прибавлять s1+0 например?
мешает то, что каждый раз будут идти различные файлы на вход и каждый раз прописывать вручную не представляется возможным. плюс потом должно быть расширение до 3 и более входных сигналов

Добавлено через 1 минуту
Цитата Сообщение от CheshireCat Посмотреть сообщение
А вот с этого места поподробнее.
можно уточнить вопрос?
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
30.08.2013, 14:54
Каковы частоты дискретизации? Какое кодирование использовано? (Эта инфа вся есть в заголовке wav файла).
0
8 / 8 / 1
Регистрация: 11.08.2012
Сообщений: 112
30.08.2013, 14:56
Цитата Сообщение от Atlant_V Посмотреть сообщение
мешает то, что каждый раз будут идти различные файлы на вход и каждый раз прописывать вручную не представляется возможным.
Так и прибавляйте каждый раз новый файл вторым значением, а когда второй файл отсутствует, то прибавляйте 0. Только что вы имели ввиду под "прописывать в ручную" я не понял, помойму ничего сложного в вашей задаче нет (если конечно не используется сжатие), тем более вы говорили, что проигрывание одного файла у вас уже реализовано.
0
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99
30.08.2013, 15:12  [ТС]
частоты дискретизации 22кГц
качество звука - 176 кбит\сек
формат аудио PCM
если я правильно понял

Добавлено через 4 минуты
Цитата Сообщение от Ermak_nk Посмотреть сообщение
Так и прибавляйте каждый раз новый файл вторым значением, а когда второй файл отсутствует, то прибавляйте 0
Наверно не так понял вас...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2013, 15:12
Помогаю со студенческими работами здесь

Извлечение WAV - файлов из ресурсов и их использование
Добрый день! Сразу скажу, что тема относится к OpenAL, но подобного раздела на форуме (или хотя бы раздела программирования звука), нет,...

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

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

Ребята дайте код для воспроизведения файлов wav или mp3
Привет всем! Дайте код для воспроизведения mp3 или wav файла! Буду благодарен)

Написать программу, формирующую по исходному WAV файлу новый WAV файл
Написать программу, формирующую по исходному WAV файлу новый WAV файл, со сглаженным вершинами перегруженных (клипированных) фрагментов....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru