Форум программистов, компьютерный форум CyberForum.ru

микширование файлов wav - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.78
Atlant_V
8 / 8 / 1
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 17:47     микширование файлов wav #1
Нужна помощь, нужно написать микшер, чтобы воспроизводилось два файла в формате wav. возможно кто-то писал видел, поделитесь ... А если нет, то возможно кто-то поделится идеями-советами?

На рис. приблизительно то, что я должен сделать.
Миниатюры
микширование файлов wav  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2013, 17:47     микширование файлов wav
Посмотрите здесь:

C++ 2 wav одновременно
C++ txt to wav
C++ Шумящие биты в WAV
Редактирование wav файлов в С++ C++
склеить 2 wav файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4846 / 2985 / 368
Регистрация: 10.11.2010
Сообщений: 11,026
Записей в блоге: 10
Завершенные тесты: 1
29.08.2013, 18:06     микширование файлов wav #2
Что конкретно надо? На рисунке микшер - это Mixer. Смешивать файлы можно просто: (s1 + s2) / 2
, где s1 - сигнал первого канала, s2 - второго
Atlant_V
8 / 8 / 1
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 18:28  [ТС]     микширование файлов wav #3
Цитата Сообщение от castaway Посмотреть сообщение
(s1 + s2) / 2
, где s1 - сигнал первого канала, s2 - второго
это будет работать для двух wav файлов?

Добавлено через 2 минуты
Цитата Сообщение от castaway Посмотреть сообщение
Что конкретно надо?
Конкретно, нужно микшировать два wav файла и затем пускать их на колонки
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
29.08.2013, 18:32     микширование файлов wav #4
тоже давно интересно как воспроизвести 2 wav файла одновременно (не используя всякие mciSendString).
castaway
Эксперт С++
4846 / 2985 / 368
Регистрация: 10.11.2010
Сообщений: 11,026
Записей в блоге: 10
Завершенные тесты: 1
29.08.2013, 18:35     микширование файлов wav #5
Цитата Сообщение от Atlant_V Посмотреть сообщение
это будет работать для двух wav файлов?
Это звучит удивительно, но это будет работать и для трёх, и для 4-х ...
Цитата Сообщение от Atlant_V Посмотреть сообщение
Конкретно, нужно микшировать два wav файла и затем пускать их на колонки
Ок. Поставим вопрос по-другому. Что ты подразумеваешь под микшированием?
Atlant_V
8 / 8 / 1
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 18:43  [ТС]     микширование файлов wav #6
Я неправильно понял вопрос. Должно браться на вход два файла и затем они воспроизводиться одновременно, то есть накладываться один на один. То есть на колонках человек должен слышать два файла как один.

Добавлено через 2 минуты
Цитата Сообщение от Игорь с++ Посмотреть сообщение
не используя всякие mciSendString
это как?
castaway
Эксперт С++
4846 / 2985 / 368
Регистрация: 10.11.2010
Сообщений: 11,026
Записей в блоге: 10
Завершенные тесты: 1
29.08.2013, 18:44     микширование файлов wav #7
Цитата Сообщение от Atlant_V Посмотреть сообщение
Я неправильно понял вопрос. Должно браться на вход два файла и затем они воспроизводиться одновременно, то есть накладываться один на один. То есть на колонках человек должен слышать два файла как один.
Я повторяю вопрос: что конкретно не получается? Чем конкретно тебе помочь?
Atlant_V
8 / 8 / 1
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 18:47  [ТС]     микширование файлов wav #8
Не все такие умные как ты! Именно, не знаю как "смешать" два файла.
castaway
Эксперт С++
4846 / 2985 / 368
Регистрация: 10.11.2010
Сообщений: 11,026
Записей в блоге: 10
Завершенные тесты: 1
29.08.2013, 18:53     микширование файлов wav #9
Цитата Сообщение от Atlant_V Посмотреть сообщение
Не все такие умные как ты! Именно, не знаю как "смешать" два файла.
Я тебе сказал как смешать два файла. Или ты хочешь чтобы за тебя всю программу написали, которая включает в себя: загрузку аудио файлов, их микширование, открытие устройства вывода звуковой карты, вывод на звуковую карту, закрытие устройства вывода звуковой карты и прочие мелочи.. ?
Atlant_V
8 / 8 / 1
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 18:55  [ТС]     микширование файлов wav #10
программа у меня уже написана, мне усложнили задачу, поэтому я и спросил у кого какие идеи
raxp
10140 / 6527 / 475
Регистрация: 28.12.2010
Сообщений: 21,167
Записей в блоге: 1
29.08.2013, 19:08     микширование файлов wav #11
Раз написана, то вам не хватает одного звена - смешивания. Доступ к данным у вас есть, теперь смешивайте их по алгоритму среднего поста #2.
Ermak_nk
6 / 6 / 0
Регистрация: 11.08.2012
Сообщений: 109
29.08.2013, 19:24     микширование файлов wav #12
Если wav файл 16 бит, то 2 байта данных складываются, как описано выше, если 8 бит - то 1 байт. При этом надо учесть 2 канала используются или 1.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,308
30.08.2013, 09:52     микширование файлов wav #13
И еще не забыть про частоты дискретизации. Потому что если частоты дискретизации файлов одинаковы, то метод из поста #2 отлично работает. А вот если различны, то все сильно хуже. Один из файлов придется предварительно передискретизировать.

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

Добавлено через 1 минуту
Цитата Сообщение от CheshireCat Посмотреть сообщение
А вот с этого места поподробнее.
можно уточнить вопрос?
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,308
30.08.2013, 14:54     микширование файлов wav #18
Каковы частоты дискретизации? Какое кодирование использовано? (Эта инфа вся есть в заголовке wav файла).
Ermak_nk
6 / 6 / 0
Регистрация: 11.08.2012
Сообщений: 109
30.08.2013, 14:56     микширование файлов wav #19
Цитата Сообщение от Atlant_V Посмотреть сообщение
мешает то, что каждый раз будут идти различные файлы на вход и каждый раз прописывать вручную не представляется возможным.
Так и прибавляйте каждый раз новый файл вторым значением, а когда второй файл отсутствует, то прибавляйте 0. Только что вы имели ввиду под "прописывать в ручную" я не понял, помойму ничего сложного в вашей задаче нет (если конечно не используется сжатие), тем более вы говорили, что проигрывание одного файла у вас уже реализовано.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2013, 15:12     микширование файлов wav
Еще ссылки по теме:

C++ Стегография. Формат .wav
C++ обработка WAV на C++
C++ Извлечение WAV - файлов из ресурсов и их использование

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

Или воспользуйтесь поиском по форуму:
Atlant_V
8 / 8 / 1
Регистрация: 14.08.2013
Сообщений: 99
30.08.2013, 15:12  [ТС]     микширование файлов wav #20
частоты дискретизации 22кГц
качество звука - 176 кбит\сек
формат аудио PCM
если я правильно понял

Добавлено через 4 минуты
Цитата Сообщение от Ermak_nk Посмотреть сообщение
Так и прибавляйте каждый раз новый файл вторым значением, а когда второй файл отсутствует, то прибавляйте 0
Наверно не так понял вас...
Yandex
Объявления
30.08.2013, 15:12     микширование файлов wav
Ответ Создать тему
Опции темы

Текущее время: 01:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru