Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Atlant_V
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99
1

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

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

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

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

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

Считывание заголовка wav файлов
Есть код: #include <stdio.h> #include <tchar.h> #include <conio.h>...

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

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

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

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

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

Добавлено через 2 минуты
Цитата Сообщение от Игорь с++ Посмотреть сообщение
не используя всякие mciSendString
это как?
0
castaway
Эксперт С++
4934 / 3039 / 455
Регистрация: 10.11.2010
Сообщений: 11,119
Записей в блоге: 10
Завершенные тесты: 1
29.08.2013, 18:44 7
Цитата Сообщение от Atlant_V Посмотреть сообщение
Я неправильно понял вопрос. Должно браться на вход два файла и затем они воспроизводиться одновременно, то есть накладываться один на один. То есть на колонках человек должен слышать два файла как один.
Я повторяю вопрос: что конкретно не получается? Чем конкретно тебе помочь?
0
Atlant_V
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 18:47  [ТС] 8
Не все такие умные как ты! Именно, не знаю как "смешать" два файла.
0
castaway
Эксперт С++
4934 / 3039 / 455
Регистрация: 10.11.2010
Сообщений: 11,119
Записей в блоге: 10
Завершенные тесты: 1
29.08.2013, 18:53 9
Цитата Сообщение от Atlant_V Посмотреть сообщение
Не все такие умные как ты! Именно, не знаю как "смешать" два файла.
Я тебе сказал как смешать два файла. Или ты хочешь чтобы за тебя всю программу написали, которая включает в себя: загрузку аудио файлов, их микширование, открытие устройства вывода звуковой карты, вывод на звуковую карту, закрытие устройства вывода звуковой карты и прочие мелочи.. ?
0
Atlant_V
8 / 8 / 0
Регистрация: 14.08.2013
Сообщений: 99
29.08.2013, 18:55  [ТС] 10
программа у меня уже написана, мне усложнили задачу, поэтому я и спросил у кого какие идеи
0
raxp
10186 / 6569 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
29.08.2013, 19:08 11
Раз написана, то вам не хватает одного звена - смешивания. Доступ к данным у вас есть, теперь смешивайте их по алгоритму среднего поста #2.
0
Ermak_nk
8 / 8 / 1
Регистрация: 11.08.2012
Сообщений: 109
29.08.2013, 19:24 12
Если wav файл 16 бит, то 2 байта данных складываются, как описано выше, если 8 бит - то 1 байт. При этом надо учесть 2 канала используются или 1.
1
CheshireCat
Эксперт С++
2913 / 1262 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
30.08.2013, 09:52 13
И еще не забыть про частоты дискретизации. Потому что если частоты дискретизации файлов одинаковы, то метод из поста #2 отлично работает. А вот если различны, то все сильно хуже. Один из файлов придется предварительно передискретизировать.

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

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

Добавлено через 4 минуты
Цитата Сообщение от Ermak_nk Посмотреть сообщение
Так и прибавляйте каждый раз новый файл вторым значением, а когда второй файл отсутствует, то прибавляйте 0
Наверно не так понял вас...
0
30.08.2013, 15:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2013, 15:12

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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