Уменьшение громкости звука

Тема в разделе "WASM.AUDIO", создана пользователем Entropy, 28 авг 2022.

  1. Entropy

    Entropy Member

    Публикаций:
    0
    Регистрация:
    23 авг 2020
    Сообщения:
    136
    Как реализовано уменьшение громкости звука ? вот например имеется у нас 16-битный wav файл,как это файл нужно обработать что у меньшить громкость звука на 43 %,я думаю что план действий такой:
    из каждого отсчёта вычесть 43 %
     
  2. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.002
    Адрес:
    Россия, Нижний Новгород
    Да, всё верно. Только не забудь, что в сэмплах лежит амплитуда относительно "нижней" точки мембраны динамика, а тебе надо уменьшать относительно середины.
     
    Последнее редактирование: 28 авг 2022
    Entropy нравится это.
  3. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    368
    Адрес:
    Кольца Сатурна
    Звук часто не на % уменьшается на на децибелы, т.к. % уменьшает звук неравномерно (ухо слышит изменение громкости нелинейно).
    Формула такая: 10dB/20, где dB – величина в децибелах.
    Т.е. чтобы уменьшать звук на 6 децибел, нужно умножить каждое значение на 10-6/20 = 0,501 (т.е. уменьшить примерно в 2 раза).

    Если семплы записаны в знаковом формате (обычно для 16 бит так и есть), но проблем нет.
    Если в беззнаковом, сначала переводим в знаковый, вычитая 32768, затем делаем манипуляции и снова прибавляем 32768.
    Учитываем также, что при увеличении громкости значение может выйти за пределы диапазона (-32768 ... 32767).
    Делал как-то на Delphi модуль и программу для преобразования разных величин громкости/амплитуды/мощности звука.
     

    Вложения:

    • svrc_1.36.zip
      Размер файла:
      40,7 КБ
      Просмотров:
      7
  4. Entropy

    Entropy Member

    Публикаций:
    0
    Регистрация:
    23 авг 2020
    Сообщения:
    136
    Jin X, а как это выразить в процентах ?
    --- Сообщение объединено, 27 сен 2022 в 10:59 ---
    Jin X, количетсво децибел делить на 100 ?
     
  5. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.358