На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование звука"
0) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с записью, обработкой, воспроизведением звука. Перед созданием темы подумайте, не будет ли она уместнее в разделах Разработка и тестирование программ, Наши исходники, а особенно Разовые заказы и подработки
1) На Раздел распространяются все Правила форума.Огромная просьба с ними внимательно ознакомиться.
2) Запрещается давать бессмысленные ответы вроде: "Снеси Мастдай", "ХП рулит", "Поставь Линукс" и т.д.
3) Запрещается создавать темы, в которых Вы намереваетесь получить ссылку на кряки, серийники и т.п. Также запрещено любое обсуждение p2p (peer-to-peer) сетей (BitTorrent, eDonkey и т.д.).
4) Реклама всякого рода пресекается беспощадно.
5) Используйте тэг [CODE] для выделения кода программы (непременно с указанием языка программирования - выбрать из списка. В противном случае бессмысленно!). Уважайте тех, кто будет читать ваш код!
6) Если решение вашей проблемы найдено, то не забываем помечать тему специальной функцией "Вопрос решён". Вам всего лишь требуется при написании последнего ответа поставить одну единственную галочку прямо над формой ответа.
7) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе

8) Если не прикрепляются/не скачиваются файлы, читаем Не прикрепляется / не скачивается файл. Любые обсуждения в данном разделе проблем с приложением файлов считаются оффтопиком! Со всеми вытекающими.

9) NEW! Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно. Попытки накрутки количества тематических сообщений за счёт поднятия древних неактуальных тем ("некрофилия") будут наказываться по велению левой пятки модераторского состава (см. пп.12, 13 Правил)



Нарушение Правил может повлечь наказание со стороны модераторов.



user posted imageFAQ Раздела user posted imageПоиск в Разделе user posted imageMSDN Library Online | Ваше мнение о модераторах: user posted imageBarazuk user posted imageRikkie
Закрыто barazuk 26-12-2006: Править FAQ могут только модераторы раздела
  
> FAQ , В процессе разработки
    Содержание

    I. Литература

    0. Глоссарий (здохло)
    1. Книги (электронные)
    2. Книги (бумажные)
    3. Неотсортированные вопросы / ответы

    II. Исходники
    1. Исходники к книгам
    2. OpenSource
    3. Наши исходники

    III. FAQи, статей и т.д.
    1. FAQи, сборники статей и т.д.

    Сообщение отредактировано: barazuk -
      Книги (электронные)

      Литература по цифровой обработке сигналов

      "Рабинер и Голд Теория и практика цифровой обработки сигналов", "Введение в цифровую обработку сигналов. Е. Машеров", "Устойчивые методы обработки результатов измерений. В.С.Сизиков", "Цифровая обработка речевых сигналов. Рабинер и Шафер", "Отнес, Эноксон. Прикладной анализ временных рядов", "Харкевич. Борьба с помехами", "Быстрое преобразование Фурье для обработки сигналов в устройствах автоматизации Сергей Лазарев,Евгений Рогожкин,Феодосий Захарук", "Дж. Бендат, А. Пирсол. Прикладной анализ случайных данных", "Введение в цифровую фильтрацию. Под ред. Р.Богнера и А. Константинидиса" и многое, многое другое. БОльшая часть на английском языке.




      WebSound.Ru: Книжная полка

      "The Master Handbook Of Acoustics", "Искусство сведения. Дэвид Гибсон", "Signal processing for mobile communications handbook", "The Audio Engineer's Approach to Understanding Digital Filters For the idiot such as myself", "Digital Signal Processing Handbook", "Introduction to digital signal processing ", "Applications of digital signal processing and acoustics" и многое, многое другое. Подавляющая часть на английском языке.



      Там же: статья Основы психоакустики




      Библиотека Ихтика

      "МакКаски М. - Звук в играх. Технологии программирования (2004)(31 Mb)(pdf).pdf", "Обработка звука на PC.RAR", "Steinberg Nuendo 2 - секреты виртуального звука.rar", "Александр Левин Самоучитель компьютерной графики и звука.pdf", "Звуковая Студия в PC.pdf", "Миллер Т. - DirectX 9 с управляемым кодом. Программирование игр и графика (2005).pdf", "Программирование стратегических игр с DirectX 9.0.RAR", "Gove D.Playing and recording sound in Delphi.htm", "Creative Sound Blaster Audigy. Руководство пользователя.rar", а также еще 6993 позиций общим объёмом 72 Гб по разным околокомпьютерным направлениям - руководства по программированию, описания программ, ФАКи, энциклопедии, технические описания...
      Сообщение отредактировано: barazuk -
        Книги (бумажные)

        За этот список - мегареспект 7in X




        Статус: Must Have
        Обработка звука на PC. Наиболее полное руководство (+ дискета)Н. Секунов
        Мягкая обложка, 1238 стр. (уф! ), 2001 г.
        Издательство: BHV - Санкт - Петербург; Серия: В подлиннике
        Цена: 244 р

        Статус: Must Have
        Руководство программиста по работе со звуком
        Тим Кинтцель
        Мягкая обложка, 432 стр., 2000 г.
        Издательство: ДМК Пресс; Серия: Для программистов
        Цена: 110 р

        Статус: Very Interesting
        Музыкальный компьютер. Секреты мастерства
        Р. Петелин, Ю. Петелин
        Мягкая обложка, 608 стр., 2001 г.
        Издательства: Арлит, БХВ - Петербург; Серия: Компьютер и творчество
        Цена: 112 р

        Статус: Very Interesting
        Программирование звука в Windows. Руководство для профессионалов
        О. Гордеев
        Мягкая обложка, 364 стр., 1999 г.
        Издательство: BHV - Санкт - Петербург; Серия: Мастер. Руководство для профессионалов
        Цена: 48 р

        Статус: Very Interesting
        Цифровая обработка сигналов
        А. Б. Сергиенко
        Твердый переплет, 608 стр., 2003 г.
        Издательство: Питер; Серия: Учебник для вузов
        Цена: 183 р

        Статус: Interesting
        MIDI - язык богов (+CD-ROM)
        Д. В. Николенко
        Мягкая обложка, 144 стр., 2000 г.
        Издательство: Наука и Техника; Серия: Конспект программиста
        Цена: 77 р

        Статус: Interesting
        Музыкальная азбука на РС. Самоучитель (+ дискета)
        Вера Трусова, Евгений Медведев
        Мягкая обложка, 488 стр., 2003 г.
        Издательство: BHV - Санкт - Петербург; Серия: Самоучитель (`BHV`)
        Цена: 190 р

        Статус: Interesting
        Виртуальная звуковая студия Sonar (+ CD-ROM)
        Р. Петелин, Ю. Петелин
        Мягкая обложка, 736 стр., 2003 г.
        Издательства: BHV - Санкт - Петербург, Арлит; Серия: Компьютер и творчество
        Цена: 221 р
        +
        Статус: Interesting
        Sonar. Секреты мастерства (+ CD-ROM)
        Р. Петелин, Ю. Петелин
        Мягкая обложка, 656 стр., 2002 г.
        Издательство: БХВ-Петербург
        Цена: 197 р
        p.s. Честно говоря, понятия не имею, что такое Sonar, но интересно...

        Статус: Interesting
        Аранжировка музыки на РС
        Р. Петелин, Ю. Петелин
        Мягкая обложка, 272 стр., 1999 г.
        Издательство: BHV - Санкт - Петербург; Серия: Компьютер и творчество
        Цена: 53 р

        Статус: Interesting
        Реальность виртуального звука (+ CD-ROM)
        Евгений Медведев, Вера Трусова
        Мягкая обложка, 496 стр., 2002 г.
        Издательство: БХВ - Петербург
        Цена: 176 / 123 р

        Статус: Maybe
        Звуковая студия в PC
        Р. Петелин, Ю. Петелин
        Мягкая обложка, 255 стр., 1998 г.
        Издательство: BHV; Серия: Компьютер и творчество
        Цена: 41 р
          Неотсортированные вопросы / ответы

          Q: Как вывести звук на определенную колонку (для систем с более чем 2 каналами)?
          Q: Как описать заголовок для буфера с более чем 16 битами на сэмпл?
          Q: Как определить формат звука как "с плавающей точкой"?


          A: Ответ на эти и некоторые другие вопросы по "новым" форматам звука с примерами можно найти в документе от Майкрософтов:

          http://www.microsoft.com/whdc/device/audio/multichaud.mspx

          Q: Как изменить громкость МП3-файла без перекодирования? 25.01.2008

          Отвечаю в сотый раз. ;)

          Если интересует, какой именно программой это можно сделать, то для этого есть:
          а) MP3Gain
          б) mp3DirectCut
          и многие другие :)

          Если интересует принцип работы этих программ, то он изложен в манах к MP3Gain:

          Цитата
          Lossless Gain Adjustment

          The bad news: MP3Gain can only adjust the volume of your mp3 files in steps of 1.5 dB.

          The good news: 1.5 dB is a small enough step for most practical purposes. Most humans can just barely hear a volume change of 1 dB.

          The other good news is that this volume adjustment is completely lossless. In other words, if you adjust an mp3 by -6 dB and then change your mind, you can adjust it again by +6 dB and it will be exactly the same as it was before you made the first adjustment.

          Here's the technical reason why it's lossless, and also why the smallest change possible is 1.5 dB:

          The mp3 format stores the sound information in small chunks called "frames". Each frame represents a fraction of a second of sound. In each frame there is a "global gain" field. This field is an 8-bit integer (so its value can be a whole number from 0 to 255).

          When an mp3 player decodes the sound in the frame, it uses the global gain field to multiply the decoded sound samples by 2(gain / 4).

          So if you add 1 to this gain field in all the frames in the mp3, you effectively multiply the amplitude of the whole file by 2(1/4) = 119% = +1.5 dB.

          Likewise, if you subtract 1 from the global gain, you multiply the amplitude by 2(-1/4) = 84% = -1.5 dB.


          Для ленивых краткая расшифровка: в каждом фрейме МП3-файла содержится значение "global gain" - уровня усиления для каждого конкретного фрейма. Подробнее - см.
          http://www.mp3-tech.org/programmer/frame_header.html
          http://websound.ru/programming/info/mp3head.htm
          http://freeprog.spb.ru/sources/id3.phtml
          http://www.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/ (сырцы по теме)
          Сообщение отредактировано: barazuk -
              OpenSource

              Тут собираем библиотеки, программы с открытым исходным кодом. Естественно, имееющие отношение к программированию звука :)




              SSRC

              Это чего? А это классический алгоритм качественной конвертации частоты дискретизации. Использован во многих опенсорсных и фришных прогах и библиотеках, например, в http://www.avisynth.org

              Тип лицензии: LGPL.

              Компилятор: GCC

              Обновления: Последнее известное мне на 24.04.2007г.: Version 1.30 (28/06/2005)

              обсуждение, скачать




              LibSndFile

              Библиотека для чтения/преобразования звука в разных форматах. Не поддерживат MP3 по соображениям лицензионной чистоты.

              Поддерживает форматы звука (s - signed, u - unsigned): PCM 8-bit u/s, 16-bit s , 24-bit s, 32-bit s, 32-bit float, 64-bit double, u-law, A-law, IMA ADPCM, MS ADPCM, GSM 6.10, G721 ADPCM 32 kbps, G723 ADPCM 24 kbps, G723 ADPCM 40 kbps, 12/16/24 bit DWVW, Dialogic ADPCM, 8/16 bit DPCM

              Поддерживает контейнеры для этих форматов: Headerless RAW, Microsoft WAV, SGI/Apple AIFF/AIFC, Sun/DEC/NeXT AU/SND, Paris Audio File PAF, Commodore Amiga IFF/SVX, Sphere Nist WAV, IRCAM SF, Creative VOC, Sound forge
              W64, GNU Octave 2.0 MAT4, GNU Octave 2.1 MAT5, Portable Voice Format PVF, Fasttracker 2 XI, HMM Tool Kit HTK, Apple CAF.
              Причем о большей части форматов я не имею никакого представления :)

              Тип лицензии: LGPL.

              Кроссплатформенность: Win32 (Microsoft Visual C++), i586-pc-linux-gnu (Linux on PC hardware), powerpc-unknown-linux-gnu (Linux on Apple Mac hardware), powerpc-apple-darwin7.0 (Mac OS X 10.3), sparc-sun-solaris2.8 (using gcc), mips-sgi-irix5.3 (using gcc), QNX 6.0, i386-unknown-openbsd2.9

              Обновления: Последнее известное мне на 24.04.2007г.: Version 1.0.17 (Aug 31 2006)

              обсуждение, скачать сырцы, скачать сырцы + скомпилированную под Win32 Dll




              Normalize

              "A fast PCM WAV normalizer". Что делает? Сканирует ВАВ-ку, определяет макс. амплитуду, и если она меньше, чем позволяет разрядность, то производится нормализация "на месте", т.е. прямо в оригинальном файле.

              Поддерживает форматы: только несжатые (PCM) WAV - файлы, 8 и 16 бит, частота не имеет значения :), размером до 4 Гб (максимальный размер для данного контейнера).

              Тип лицензии: FreeWare.

              Платформа: Win32 CLI

              Обновления: Последнее (автор прекратил доработку): Version 0.253 (18.07.2004)

              описание, сырцы, бинарник под Win32
              Сообщение отредактировано: barazuk -
                Наши исходники


                Издаем звуки!

                Здесь собирается коллекция демонстрационных исходников по извлечению звука на разном уровне: API, DirectShow, DirectSound, сторонние библиотеки и т.д. Для исходников, по возможности, указаны версии операционных систем и компиляторов, на которых успешно проверены (или должны работать согласно документации).
                В большинстве случаев исходники упрощены до минимума - чтобы уменьшить количество кода, не имеющего прямого отношения к рассматриваемому АПИ.



                MessageBeep


                Платформа: Win32 (Win95/Win98/SE, WinNT 3.1/4.0/Win2000/WinXP)
                API: Win32
                Язык: C++
                Компиляторы: MS Visual C++ 6.0 SP5, Borland C++ Compiler 5.5, MinGW
                Дополнительные библиотеки/компоненты: -

                Самый примитивный способ извлечь звук: системный звук по умолчанию

                ExpandedWrap disabled
                  #include <windows.h>
                   
                  #pragma comment(lib, "user32.lib")
                   
                  int main(void)
                  {
                    MessageBeep(MB_OK);
                    return 0;
                  }




                MCI

                Платформа: Win32
                API: MCI
                Язык: C++
                Компиляторы: Borland C++ Builder
                Дополнительные библиотеки/компоненты: -

                Запись и воспроизведение звука с использованием MCI команд (Билдер) (сообщение #570776)



                DirectShow

                Платформа: Win32 (Win98/SE, WinXP)
                API: DirectShow
                Язык: C++
                Компиляторы: MS Visual C++ 6.0 SP5, Borland C++ Compiler 5.5
                Дополнительные библиотеки/компоненты: -

                Несмотря на примитивный пример, в нем получаются указатели на интерфейсы, позволяющие достаточно полно контролировать процесс воспроизведения:
                IGraphBuilder - строит граф фильтров для воспроизведения файла данного типа и позволяет с ним работать;
                IMediaControl - позволяет поставить на паузу, возобновить или остановить воспроихведение;
                IMediaPosition - получение длительности потока, чтение / установка текущей позиции и скорости воспроизведения;
                IBasicAudio - управление громкостью и балансом


                ExpandedWrap disabled
                  // Тупейший стартовый код для воспроизведения звуковых файлов через DirectShow.
                  // (c) BarazuK, 2007  http://forum.sources.ru/index.php?showuser=6739
                  // Мегареспект B.V. за идею и "козу" на ВижуалВасике
                   
                  // Компилируется успешно (проверено мной):
                  // MS Visual C++ 6.0 SP5:
                  //   cl play3.cpp
                  // Borland C++ Compiler 5.5 в составе "C++BUILDER COMMAND LINE TOOLS"
                  //   bcc32 play3.cpp
                   
                  // Для MS Visual C++ можно написать немного красивше
                  // с использованием смартпойнтеров ATL.
                  // Но тогда, очевидно, не будет компилироваться Багландом.
                  // Выложу чуть позже.
                   
                  #include <windows.h>
                  #include <mmsystem.h>
                   
                  #include <control.h>
                  #include <STRMIF.H>
                  #include <UUIDS.H>
                   
                  #include <conio.h>
                  #include <stdio.h>
                  #include <math.h>
                   
                  #pragma comment(lib, "OLE32.LIB")
                  #pragma comment(lib, "WINMM.LIB")
                   
                  // Единственное отличие - BCC прекрасно обходится без этой библиотеки
                  #ifdef _MSC_VER
                  #pragma comment(lib, "STRMBASE.LIB")
                  #endif
                   
                  #define HELPER_RELEASE(x) { if (x) x->Release(); x = NULL; }
                   
                  HRESULT PlayAudioFile(LPCSTR szFile){
                    WCHAR wFile[MAX_PATH];
                    MultiByteToWideChar(CP_ACP, 0, szFile, -1, wFile, MAX_PATH);
                      
                    HRESULT hr = CoInitialize(NULL);
                    if(FAILED(hr)) return hr;
                   
                    IGraphBuilder  *pigb  = NULL;
                    IMediaControl  *pimc  = NULL;
                    IMediaPosition *pimp  = NULL;
                    IBasicAudio    *piba  = NULL;
                   
                    __try{
                      hr = CoCreateInstance(CLSID_FilterGraph, NULL,
                        CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&pigb);
                      if(FAILED(hr)) return hr;
                   
                      hr = pigb->QueryInterface(IID_IMediaControl, (void **)&pimc);
                      if(FAILED(hr)) return hr;
                   
                      hr = pigb->RenderFile(wFile, NULL);
                      if(FAILED(hr)) return hr;
                   
                      hr = pigb->QueryInterface(IID_IMediaPosition, (void **)&pimp);
                      if(FAILED(hr)) return hr;
                   
                      REFTIME len;
                      hr = pimp->get_Duration(&len);
                      if(FAILED(hr)) return hr;
                   
                      hr = pimc->Run();
                      if(FAILED(hr)) return hr;
                   
                      hr = pigb->QueryInterface(IID_IBasicAudio, (void **)&piba);
                      if(FAILED(hr)) return hr;
                   
                      for(;;){
                        Sleep(50);
                   
                        if(kbhit()){
                          int nKey = getch();
                   
                          if(nKey == 27) break;
                        }
                   
                        REFTIME pos;
                        pimp->get_CurrentPosition(&pos);
                   
                        const int nBarSize = 53;
                        static char bar[nBarSize + 1];
                   
                        int nFilled = int(pos * nBarSize / len);
                        memset(bar,           0xDB, nFilled);
                        memset(bar + nFilled, 0xB0, nBarSize - nFilled);
                        bar[nBarSize] = 0;
                   
                        printf("\r[%03d:%05.2f / %03d:%05.2f] %s",
                          (int)floor(pos / 60.0), pos - 60.0 * floor(pos / 60.0),
                          (int)floor(len / 60.0), len - 60.0 * floor(len / 60.0), bar);
                   
                        if(pos >= len)
                          break;
                      }
                   
                      pimc->Pause();
                      pimc->StopWhenReady();
                   
                      hr = S_OK;
                    }__finally {
                      HELPER_RELEASE(piba);
                      HELPER_RELEASE(pimp);
                      HELPER_RELEASE(pimc);
                      HELPER_RELEASE(pigb);
                   
                      CoUninitialize();
                    }
                   
                    return hr;
                  }
                   
                  int main(int argc, char** argv)
                  {
                    HRESULT hr = PlayAudioFile(argc == 2 ? argv[1] : "test.mp3");
                    // Вот тут бы неплохо результат обработать, но лень...
                    return 0;
                  }
                Сообщение отредактировано: barazuk -
                  FAQи, сборники статей и т.д.




                  Sound and Music Programming @ GameDev.Net (на буржуинском языке :))

                  Loading a Wave File, Sound Formats and Their Uses in Games, 3D Sound in Games, A Guide To Starting With OpenAL, A Quick Guide to FMOD, Beat Detection Algorithms, How to Construct a Lowpass Filter, Introduction to Ogg Vorbis, Programming 3D Sound With OpenAL in Windows, Resonant Lowpass Filter Soruce, Sound Server Programming, Using MCI for MP3 Playback...




                  Программирование звука @ GameDev.Ru

                  Использование DirectX Audio 8 (DirectMusic), DirectMusic. Урок 1, DirectMusic. Урок 2, Введение в OpenAL, и проигрывание музыкального формата OGG/Vorbis.

                  Сравниваем количество статей с буржуинским сайтом и делаем вывод о том, что английский учить таки нужно :)
                  BarazuK





                  FAQ's (часто задаваемые вопросы и ответы на них) и Описания и статьи @ websound.ru

                  Аудио FAQ
                  • Алгоритмы кодирования аудио: "О стандартах MPEG и об их истории (updated)", "Что такое CBR и VBR?", "Каковы отличия режимов CBR, VBR и ABR применительно к кодеру Lame?", "Какие методы кодирования стерео информации используются в алгоритмах MPEG (и других)?", "Какие параметры предпочтительны при кодировании MP3?", "Какие алгоритмы компрессии существуют (альтернативы MP3 и др.)?", "Как соотносятся сложность музыкальной композиции и сложность кодирования с потерями?", "Что такое "эффект пустышки"?"
                  • Другие вопросы: "Можно ли осуществить преобразование из одного потокового формата аудио данных в другой?", "Можно ли осуществить преобразование WAV в MIDI, WAV в трекерный модуль?", "Можно ли выделить/убрать из аудио потока звучание конкретного инструмента или голоса?", "Какие существуют способы преобразования MIDI в WAV?", "Какой метод сравнения двух аудио сигналов можно признать наиболее точным?", "Что такое стеганография?", "Задача: оцифровать материалы со множества аудио кассет и отреставрировать. Как?", "Что такое оконная функция в анализе Фурье, какие типы оконных функций существуют?", "Каковы принципы работы динамического и компандерного шумоподавителей для магнитофонов?", "Что такое DVD-A (или кратко о стандарте DVD Audio)?", "Что такое SACD?", "Чем отличаются CD-DA, DVD-A и SACD?", "Что такое LFE?", "Что мы слышим?"

                  Очень интересно про МП3 написано :) Зачитался.
                  BarazuK


                  FAQ по цифровому представлению звуковых сигналов,
                  FAQ по электронному созданию и обработке звука.

                  Общие статьи
                  Профессия - звукорежиссер.

                  Физика звука и слуха
                  Громкость - Теоретические сведения, Звук: немного теории, Что такое децибел?, Что и как мы слышим, Восприятие и сжатие звука.

                  Теория цифрового звука, методы, звукообработка
                  Аналоговый блюз, Цифровой звук - обо всем по-порядку, Принципы цифрового звука, FFT анализ (Fast Foutrier Transform - Быстрое Преобразование Фурье), Параметры цифрового звука, Обработка звука - фильтры, Обработка звука - свертка.




                  Программирование звука в DirectSound @ helloworld.ru

                  Перепечатка из КомпьютерПресс 12'2000.

                  30% - текст, 70% - перевод АПИ, + простенькая прога, взятая из самплов мелкомягких :)




                  Работа с VST плагинами @ PCSynth.ru

                  Базовые сведения о VSTi плагинах, Практика программирования VSTi в Image-Line Sytrus, Частотная модуляция и Native Instruments FM8, Техника использования линии задержки в Native Instruments Absynth
                  Сообщение отредактировано: Rikkie -
                    Бесплатные (почти) библиотеки

                    Так... Уже который год всё никак не двигается в ФАКе описание годных библиотек. А вопросы про изобретение велосипеда повторяются без конца...

                    FMOD Ex Programmers API

                    Совместимость: Windows, Windows 8, Macintosh, iOS, Linux 32/64 bit, Android, Google Native Client, Blackberry, Xbox 360, PS3, Wii, Wii U, PS Vita, 3DS

                    Интерфейс: C#, C++, библиотеки для MS Visual Studio, Metrowerks Codewarrior, Borland, LCC-Win32, Dev-C++, MinGW и CygWin

                    Возможности: Умеет чуть менее, чем всё:
                    1) Низкоуровневое и управляемое данными АПИ;
                    2) полностью софтовый микшер с floating point 32-битной интерполяцией;
                    3) настраиваемая конфигурация вывода с эффектами окружения:
                    Цитата
                    Input channels can be mapped to any output channel through a simple 2D matrix. Output to mono, stereo, 5.1, 7.1 and Dolby Pro Logic or Pro Logic 2 with ease!
                    Included with the API is a whole suite of 14 DSP effects, such as echo, chorus, reverb, etc which can be applied throughout the DSP mixing network.

                    4) Поддержка сжатых сэмплов (mp2, mp3, ADPCM and XMA) с созданием лупов без кликов и прочих артефактов
                    5) Поддержка кучи разных форматов файлов (wav, midi, mp3, XMA, ogg и семейство секвенсорных mod-форматов - только краткий перечень. Который легко может быть расширен через механизм плугинов. FMOD Ex может воспроизводить файлы с количеством каналов вплоть до 16!)
                    6) 3Д звук. Размещение источников звука в виртуальном 3Д пространстве, с реализацией эффекта Допплера и многого другого
                    7) Виртуальные "голоса". FMOD Ex может воспроизводить тысячи звуков одновременно (при небольших аппаратных требованиях) благодаря учёту взаимного расположения в пространстве и приоритета звуков.

                    Полезность:
                    Цитата Лень переводить
                    Today, FMOD products are widely used within the gaming industry. The sound of over 1500 different titles, FMOD Interactive Audio Middleware has been used in games series such as: World of Warcraft, Starcraft, Crysis, Bioshock, Forza, Guitar Hero and other hit titles such as Dragon Age and L.A Noire. Users of FMOD products include: Activision Blizzard, Disney, Microsoft, Sony, Ubisoft, THQ, Take 2 Interactive, Unity, Crytek, Trinigy. Outside of the gaming industry, FMOD is used in the simulation sector in the domestic and defense industries and auto industry.

                    Итого: мы имеем библиотеку, которая пригодна как для потокового воспроизведения тучи форматов (в том числе прямо из Инета), так и для проэктов, связанных с записью с микрофона или другого источника, конвертированием звука, реализации звука и музыки для игр с уже реализованным 3Д - движком, в том числе - с низкой латентностью, и всё это мегакроссплатформенно и при достаточно низких затратах процессорного времени.
                    Сообщение отредактировано: barazuk -
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:
                    Закрыто barazuk 26-12-2006: Править FAQ могут только модераторы раздела


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0492 ]   [ 15 queries used ]   [ Generated: 19.03.24, 10:40 GMT ]