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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.78
Atlant_V
8 / 8 / 1
Регистрация: 14.08.2013
Сообщений: 99
#1

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

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

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

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

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

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

обработка WAV на C++ - C++
Совсем не работал с форматами на C++. Задание следующее: Написать программу, формирующую по исходному WAV ( 8 бит на отсчет) файлу новый...

txt to wav - C++
имеется txt файл с отчетами сигнала с известной частотой, необходимо из этих отсчетов сделать wav файл. Подскажите пожалуйста по этому...

Wav в bmp - C++
Подскажите, пожалуйста, как разложить побитово wav-file и сложить его в bmp? Можно примеры кода?

2 wav одновременно - C++
доброго времени суток всем. нужно одновременно проигрывать несколько wav файлов.. пробывал audiere, ничего сложного, но при попытке...

Шумящие биты в WAV - C++
Вот такой вопросик как писать программу для сохранения собственного сообщение в звуковом файле расширения .WAV программа должна...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 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 файла и затем пускать их на колонки
Игорь с++
433 / 456 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
29.08.2013, 18:32     микширование файлов wav #4
тоже давно интересно как воспроизвести 2 wav файла одновременно (не используя всякие mciSendString).
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 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
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 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
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 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
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
29.08.2013, 19:08     микширование файлов wav #11
Раз написана, то вам не хватает одного звена - смешивания. Доступ к данным у вас есть, теперь смешивайте их по алгоритму среднего поста #2.
Ermak_nk
7 / 7 / 0
Регистрация: 11.08.2012
Сообщений: 109
29.08.2013, 19:24     микширование файлов wav #12
Если wav файл 16 бит, то 2 байта данных складываются, как описано выше, если 8 бит - то 1 байт. При этом надо учесть 2 канала используются или 1.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,353
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
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,353
30.08.2013, 14:16     микширование файлов wav #15
"файлы 8 бит"
А вот с этого места поподробнее.
Ermak_nk
7 / 7 / 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
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,353
30.08.2013, 14:54     микширование файлов wav #18
Каковы частоты дискретизации? Какое кодирование использовано? (Эта инфа вся есть в заголовке wav файла).
Ermak_nk
7 / 7 / 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
Еще ссылки по теме:

Стегография. Формат .wav - C++
Пишу лабу по стегографии. Необходимо использовать формат .wav (.wave) и алгоритм LSB. Подскажите, сколько байт заголовка занимает сей...

Считать данные из wav в массив - C++
Здравствуйте!Знаю, что тема уже избитая, но все таки не понял и первый раз таким занимаюсь! Вопрос такой: Как считать значения...

Сохранить как .wav файл - C++
Подскажите пожалуйста как сохранить массив как wav файл, с полями структуры wav файла я разберусь , что писать в поле data ?

Склеить два wav-файла - C++
/* Написать программу, формирующую из двух WAV файлов третий путем конкатенации файлов. */ #include <stdio.h> #include...

Считать data из wav файла - C++
Ребят, все перелазил и не могу дойти как считать данные звукового файла. Заголовок считал. Теперь нужно считать в массив данные,...


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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru