Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];




Вниз

нужно смикшировать два WAV файла 


TheNobody   (2001-09-29 05:21) [0]

или, хотябы одновременно их воспроизвести.
Подскажите, PLZ!



Sergii   (2001-09-29 16:40) [1]

Wav файл является цифровым представлением звуковой волны. Результатом микширование N звуковых волн есть процесс суммирования является волна равная сумме этих N волн. Но на самом деле задача, когда салдываются оцифровки не тривиальна. Амплитуда полученной волны запросто можно выскочить за пределы разрядности ЦАП-а, которым будет происходить обратное преобразование в аналог - т.е получится цифровая перегрузка, которая будет слышна как очень неприятный треск. Поэтому все "фирменные" алгоритмы микширования работают с повышением разрядности (Обычно 32 бита с плавающей запятой), а потом происходит обратное преобразование. Когда сигнал смикширован, например, в 32 битах, его потом либо нужно компресировать (сжимать динамический диапазон, что-бы он не превысил твоей разрядности), либо лимитировать (грубо говоря, все амплитуды выше уровня лимитирования приравнивать к некоторому заранее определенному значению амплитуды), либо понижать громкость смикшированного сигнала. Далее, при обратном преобразовании произойдет потеря разрядности -> ухудшение качества звука, да еще и другие побочные артефакты (лечаться Дизерингом, Нойс-Шейпингом). Вообщем, однозначногый ответ на поставленный таким обраом вопрос вряд-ли существует - находишь книжку по цифровой обработке и преобразованиях в аналог цифровых сигналов и отвечаешь на свой вопрос.



Andrey Klimov   (2001-09-29 18:49) [2]

http://www.carlosb.com/downloads/dwavemix.zip

http://www.torry.net/audio.htm



a_Lan   (2001-09-30 01:44) [3]

> Sergii
Глупее ответа я еще не видал! ;-)))))))))))))))))))

> TheNobody
Используй возможности DirectX (так рациональней будет), а если сам не разберешься, то воспользуйся советом Андрея Климова.



Fill   (2001-09-30 02:15) [4]

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



Fill   (2001-09-30 02:20) [5]

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



Sergii   (2001-09-30 03:08) [6]

2 a_Lan
приведите аргументы, или промолчите. Если вам не нравиться 2-е предложение, то понятно, что это должно читается как "Результатом микширование N звуковых волн является волна равная сумме этих N волн" - ну не заметил я этого ляпа - признаю свою невнимательность. А вот ваша фраза "Используй возможности DirectX (так рациональней будет" (Т.е. по вашему микшировать без DirectX не рационально???) скорее всего говорит о том, что вы очень далеки от понимания проблемы...



TheNobody   (2001-09-30 04:56) [7]

Спасибо!!! Пойду разбираться что к чему !!!




Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.038 c
4-42614           SergeyDonetsk         2001-11-08 12:50  2002.01.14  
Кто поможет проверить где ошибка?


14-42568          Крутов Алексей        2001-11-19 11:46  2002.01.14  
Delphi 4 & Windows 2000


4-42634           Tekman                2001-11-10 00:32  2002.01.14  
Окно без рамки


1-42508           nikols                2001-12-26 10:47  2002.01.14  
Как русифицировать QuickReport?


3-42368           andey                 2001-12-11 19:49  2002.01.14  
Изменение записей таблицы исходя из другой