На главную
ПРАВИЛА 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
  
> Утилита для преобразования величин отношения громкости звука, SVRC
    Написал на Delphi консольную прогу для конвертации различных величин отношения громкости звука. Первая версия была создана ещё 3 года назад, и сейчас она дополнена множеством возможностей.

    Какие величины она поддерживает?
    1. Децибелы (дБ).
    2. Соотношения амплитуд (по умолчанию) и мощностей (при использовании опции -P).
    3. Соотношения громкостей звука в субъективном восприятии (назовём это "соотношением ГСВ" для краткости; основано на том, что громкость субъективно удваивается каждые 10 дБ, но этот параметр можно изменять).

    При запуске без параметров ввод осуществляется в режиме диалога (выбор режима: типа величины исходного значения и/или самого значения). Здесь можно ввести тип перевода "D", "R" или "L" для перевода соответственно из дБ, соотношения амплитуд или соотношения ГСВ, а затем исходное значение. Либо сразу исходное значение исходя из следующих правил:
    • Если введено просто число (целое или вещественное, например, "-6" или "10.5"), преобразование производится из дБ.
    • Если введена дробь X/Y (например, "1/2", "10/3", "4/1" и т.п.), преобразование производится из соотношения амплитуд.
    • Если после числа или дроби указан символ 'x' или '%' (например, "25%" или "1/3x"), преобразование производится из соотношения ГСВ (1x = 100%).

    Результатом будет вывод заданной величины, а также эквивалентных значений в двух других единицах измерения.

    При использовании командной строки можно задать опции -D, -R или -L для аналогичных режимов и/или задать значение в том же формате:
    • SVRC 10 или SVRC -D 10 - преобразование из дБ.
    • SVRC 1/2 или SVRC -R 1/2 или SVRC -R 0.5 - преобразование из соотношения амплитуд.
    • SVRC 25% или SVRC -L 25% или SVRC -L 0.25 или SVRC -L 1/4 - преобразование из соотношения ГСВ.

    Результаты преобразования величин при запуске вышеуказанных команд (переведённые на русский язык):
    • 10 дБ = соотношению амплитуд 3.16227766016838/1 (1/0.316227766016838) = громкости 2x (200%) в субъективном восприятии.
    • соотношение амплитуд 1/2 (0.5) = -6.02059991327962 дБ = громкости 0.658812580012656x (65.8812580012656%) в субъективном восприятии.
    • 25% (0.25x) громкости в субъективном восприятии = -20 дБ = соотношению амплитуд 0.1 (1/10).

    Перевожу на русский (соответственно для каждого из приведённых примеров):
    • При увеличении уровня громкости на 10 дБ амплитуда (значения отсчётов, семплов) увеличивается в ≈ 3.16 раза, что субъективно воспринимается как увеличение громкости в 2 раза.
    • При уменьшении амплитуды в 2 раза, уровень громкости уменьшается на 6 дБ, что по ощущениям соответствует ≈ 66% от исходной громкости.
    • Чтобы уменьшить громкость в 4 раза, необходимо уменьшить уровень громкости на 20 дБ, т.е. уменьшить амплитуду в 10 раз.

    Если вы хотите использовать соотношения не амплитуд (напряжений, расстояний – силовых величин), а мощностей (энергетических величин), можно задать опцию -P.

    Если вы хотите изменить соответствие удвоения ГСВ и децибелов с 10 дБ на другое значение, можете использовать опцию -XDn, где n – величина в дБ (например, -XD20). Также можно задать эту величину в виде степени используемой формулы: -X3 (см. помощь).

    Для вывода помощи по возможным опциям (на английском языке), а также для просмотра формул(!) используйте опцию -? (или -P -? для вывода формул для мощностей, а не амплитуд).

    Кроме перечисленного выше можно указывать точность вывода значений (-F с субопциями), задавать тихий режим (-Q с субопциями), отключать лого (-NL), включить режим паузы после вывода результатов (-W).

    Любая из опций может начинаться со слеша (/) вместо дефиса (-).

    Надеюсь, это программа будет вам полезна ;)

    Прикреплённый файлПрикреплённый файлsvrc_1.36.zip (40,46 Кбайт, скачиваний: 5)
    Сообщение отредактировано: Jin X -
    aeskeygenassist bndstx cmpxchg16b dpps endbr64 f2xm1 gf2p8affineinvqb haddps incsspq jrcxz kxnorw ldmxcsr mpsadbw nop orpd pclmulhqlqdq qword rdpmc sha256rnds2 tzcnt unpcklpd vp4dpwssds wrfsbase xgetbv yword zword
      Очень хорошо, что предыдущую версию скачали всего пару раз, потому что я сделал новую, v1.35 (прикреплена в первом сообщении) :)

      Изменения следующие:
      ExpandedWrap disabled
        [-] Пофиксен баг, связанный с неправильным переводом дБ ↔ отношение громкости по восприятию при задании параметра -X.
        [*] Функции перевода вынесены (с изменениями имён и содержания) в отдельный модуль SoundVolumeConverter.pas.
        [*] Изменено дурацкое название "sound volume ratio in subjective perception [SVSP ratio]" на более приличное "loudness ratio (in subjective perception)".
      aeskeygenassist bndstx cmpxchg16b dpps endbr64 f2xm1 gf2p8affineinvqb haddps incsspq jrcxz kxnorw ldmxcsr mpsadbw nop orpd pclmulhqlqdq qword rdpmc sha256rnds2 tzcnt unpcklpd vp4dpwssds wrfsbase xgetbv yword zword
        И снова апдейт! v1.36 :whistle:
        ExpandedWrap disabled
          [*] Опция -S переименована в -L (т.к. скачиваний мало, я решил забить на обратную совместимость).
          [+] Добавлена опция -NL (не выводить логотип и копирайт).
          [*] Немного изменена работа опции -Q (теперь можно указывать любое сочетание субопций), некоторые из её субопций переименованы (V → S, S → L, вторая R → I), добавлена субопция U (не показывать единицы измерения).
          [*] Немного изменён модуль SoundVolumeConverter.pas (перегруженные функции переименованы в *_Exp и *_DLdB для более чёткого понимания единиц измерения доп. параметров, значение по умолчанию многих параметров PowerRatio отключено, больше функций помечены как inline). Про обратную совместимость см. выше :)

        p.s. Первое сообщение обновлено, архивы старых версий удалены.
        aeskeygenassist bndstx cmpxchg16b dpps endbr64 f2xm1 gf2p8affineinvqb haddps incsspq jrcxz kxnorw ldmxcsr mpsadbw nop orpd pclmulhqlqdq qword rdpmc sha256rnds2 tzcnt unpcklpd vp4dpwssds wrfsbase xgetbv yword zword
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script Execution time: 0,0786 ]   [ 15 queries used ]   [ Generated: 10.07.20, 22:24 GMT ]