Страница 5 из 6 ПерваяПервая ... 456 ПоследняяПоследняя
Показано с 41 по 50 из 55

Тема: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

              
  1. #41

    По умолчанию Re: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

    //У Sample Modeling идея технологии в том, чтобы скрестить синтез и сэмплирование. Я не вникал в их математику//
    Давайте, вникнем. Цитирую -
    //Деревянные духовые используют сэмплы в качестве базового материала. Хроматизмы, сыгранные профессиональным исполнителем с очень широким динамическим диапазоном, записаны с использованием state-of-the-art технологии. В результате тембр максимально реалистичен, потому что записывался реальным, "живым" инструментом. Но аналогии с образцом, на основе библиотеки, здесь заканчиваются. Базовая, запатентованная технология, позволяет добиться непрерывной интерполяции среди различных параметров, таких как time, dynamics, pitch и formants. Дополнительные контроллеры обработки звука дают реалистичные легато, вибрато, писк, раздув, орнаментации и трели, pitchbends, субгармоники, рычание и флатер, выполняемых в реальном времени.//
    Обратите внимание -
    "Базовая, запатентованная технология, позволяет добиться непрерывной интерполяции среди различных параметров" - я уверен, что это не что иное, как метод по-периодного синтеза звука, тот самый, который использую я.


    Расскажу об этой "базовой запатентованной технологии" подробнее.
    Сложность использования семплов состояла в том, что для того чтобы звук был естественным, использовались достаточно длинные семплы, состоящие из многих периодов, и вырезанные из разных частей - из начала, из середины, из окончания развития звука. Сшивать эти большие кусочки вместе удавалось с трудом, переход от одного к другому был слышен.
    ...Продолжу рассказом о том, как это делаю я. В моей программе есть три различных группы параметров, каждая со своим алгоритмом создания звука - группа Фортепьяно, группа Виолы и группа Рельефа.
    Последняя группа использует рельеф звука внутри отдельно взятого периода. Этот рельеф может быть просто задан, исходя из некоторых соображений, или получен в виде реплики реального звука. Таких реплик можно набрать несколько - из начала, из середины, из конца реального звука. Я использую всего три таких реплики. По сути реплики являются маленькими семплами звука, длиной в один период. Реплики, снятые с реального звука для какой-нибудь одной частоты, путём сплайн интерполяции легко могут быть использованы на разных частотах звучания. Разные реплики путём обычной интерполяции могут быть плавно преобразованы в промежуточные значения.
    Для получения естественного звука используется небольшой набор реплик и параметр, позволяющий путём интерполяции плавно переходить от одной реплики к другой. Вот и всё.
    Что ещё важно - этот параметр должен не просто изменяться монотонно, а совершать девиацию - циклические не периодические отклонения от среднего значения. Так делаю я.


    И я уверен, что фирма Sample Modeling использует для создания звука именно реплики и метод девиации параметров.
    Потому и результаты хорошие.

  • #42

    По умолчанию Re: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

    //Если Вам нужен просто чистый звук, почему Вы не пользуетесь стандартными формами волн, зачем Вы вообще что-то городите...?
    ...Пила с резонансным фильтром и всего делов, с небольшим акцентом на атаках? Вы уверены, что знаете существующие решения, а не занимаетесь изобретением велосипеда?//


    Разумеется, не уверен. Потому и пришёл сюда, и спасибо, что подсказываете, что и где посмотреть.
    Теперь о "стандартных" формах волн.
    Из трёх алгоритмических групп, которые я использую - Фортепьяно, Виола и Рельеф, группа звука Фортепьяно основана на обычной синусоиде. Но используется эта синусоида, хотя и простым, но несколько необычным способом. Она не складывается с другими типами колебаний, не умножается на них, не проходит через фильтры. Она деформируется.
    Деформация синусоиды - очень простое в математической реализации преобразование, и пришёл я к нему, наблюдая за осцилограммами реального звука. Как делается деформация?


    Сначала синусоиду слегка обострим - возведём её в куб, возьмём 20% от того, что получилось, и сложим результат с исходной синусоидой. Укажем на степень обострения параметром ЕА=1.2 (100%+20%).
    Увеличим длительность первого полупериода на 15%, а длительность второго уменьшим, сохранив общую длительность периода. Укажем на этот факт параметром Е0=1.15 (100%+15%).
    Поступим точно также в отношении длительности четвертей внутри полупериода. Укажем на это параметрами Е1 и Е2.
    Теперь установим величины параметров ЕА, Е0, Е1 и Е2 в такие значения, прикоторых форма нашей деформируемой синусоиды совпадала бы с формой реального звука фортепьяно. И создадим девиацию параметров вокруг установленных средних значений, с тем, чтобы в каждом новом периоде колебаний эти параметры были бы несколько иными.
    Создадим звук, и мы услышим вполне приличное фортепьянное звучание.
    С помощью группы Рельефа добавим обертоны на первой стадии развития звука, укажем время атаки и коэффициент затухания, разное для синусоиды и обертонов, позаботимся о девиации спектрального состава обертонов.
    Специальной, но очень простой техникой - "тяни колебание вверх, толкай его вниз" добавим стук молоточка о струну. И пропустим результат через ревербератор.
    Звук фортепьяно готов.


    Хотя описанная техника кажется специфичной, но на деле она достаточно обща. Если мы значение параметра ЕА=1.2 изменим на значение ЕА=-2 уберём обертоны и увеличим время атаки, то вместо звука фортепьяно мы услышим звонкий звук горна. Конкретно звону горна, да и звону клавиши фортепьяно, очень способствует девиация параметра Е0. Изменяя размах этой девиации, изменяем ощущение звона в звуке.


    Нечто подобное я использую при работе с группой Виола. В этой группе звук синтезируется в форме равностороннего треугольника - довольно острого пичка, с длиной основания около четверти периода. Пичок может обужаться и может перемещаться по периоду. Для этого вводятся специальные параметры. Звук двигающегося пичка проходит через ревербератор и интерферирует со своими собственными задержанными эхо-копиями. Кстати, эти копии можно ещё и растянуть. Словом, возможностей много. Все звуки смычковых могут использовать эту алгоритмическую группу.


    В общем, вот такие, простые но специфические звуки. С ними я работаю.
    Чтобы создать звук того или иного инструмента, для него пишется сценарий. Верхняя часть сценария делает начальную установку параметров. Нижняя осуществляет их девиацию между периодами колебания.
    Приведу пример. Сценарий развития звука фортепьяно -


    CASE 8 'f-no 2 tembr => UDa=0 UDc=0 Ar=0 UEA=0 -2
    MU1=0 : AU1=1.5 : IF UD3a>0 THEN DU1=UD3a ELSE DU1=3.995
    V=INT(DU1) : DU1=DU1-V : IF UEA3=0 THEN UEA3=.3
    DU1=1-(1-DU1)*260/FS : DU3=1-(1-DU1)*2 : DU1=V+DU1
    MU3=0 : AU3=5 : IF UD3c>0 THEN DU3=UD3c
    MU5=2 : AU5=.5 : DU5=2.996 '==================== dop ==
    MU7=6006 : AU7=.15 : DU7=2.996 '==
    MU6=3000.5 : AU6=.5 : DU6=2.996 '==
    IF UW3<3 THEN MU7=0 : IF UW3<1 THEN MU6=0 : MU7=0 '====
    IF FS>260 THEN AU3=AU3*260/FS
    IF ARE3=1 THEN AU1=AU1*2
    IF ARE3=0 THEN A33r$="7550604565304035"
    IF ARE3=0 THEN A32r$="6560505555403045"
    IF ARE3=0 THEN A31r$="5560605545404045"
    Apm$="505050707050505560657035504744433857" : Dpm=.98
    R(0)=0 : V=FNR1(0,1006.4) : V=FNR1(0,2006.4) ': V=FNR1(30,-9)
    IF UW3>1 THEN V=FNR1(0,3206.4) : V=FNR1(0,4506.4) '<== dop ==
    V=FNR1(30,-9)
    CASE -8 : E0=1.25*(1+.2*FNTIM(4,T)) : EA=UEA3*(1+.2*FNTIM(8,T))
    E1=1.3*(1+.2*FNTIM(10,T)) : E2=1.3*(1+.2*FNTIM(7,T))
    V=(FNTIM(9,T)+FNTIM(13,T))/3 : Arr$=FNRE$(AU3/2-1+V,3)

  • #43

    По умолчанию Re: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

    Это что у Вас за DSL? Вы в чём-то типа SuperCollider работаете?

  • #44

    По умолчанию Re: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

    Цитата Сообщение от Modus Exciter Посмотреть сообщение
    Это что у Вас за DSL? Вы в чём-то типа SuperCollider работаете?
    Простите, не понял юмора. Я, кажется, не написал ничего такого, что не было бы понятно школьнику посещавшему уроки информатики.

  • #45
    Старожил Аватар для combinare
    Регистрация
    12.09.2013
    Адрес
    Бессарабія
    Сообщений
    3,769
    Записей в дневнике
    2

    По умолчанию Re: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

    Цитата Сообщение от Дмитрий_Маштаков Посмотреть сообщение
    CASE 8 'f-no 2 tembr => UDa=0 UDc=0 Ar=0 UEA=0 -2
    MU1=0 : AU1=1.5 : IF UD3a>0 THEN DU1=UD3a ELSE DU1=3.995
    V=INT(DU1) : DU1=DU1-V : IF UEA3=0 THEN UEA3=.3
    DU1=1-(1-DU1)*260/FS : DU3=1-(1-DU1)*2 : DU1=V+DU1
    MU3=0 : AU3=5 : IF UD3c>0 THEN DU3=UD3c
    MU5=2 : AU5=.5 : DU5=2.996 '==================== dop ==
    MU7=6006 : AU7=.15 : DU7=2.996 '==
    MU6=3000.5 : AU6=.5 : DU6=2.996 '==
    IF UW3<3 THEN MU7=0 : IF UW3<1 THEN MU6=0 : MU7=0 '====
    IF FS>260 THEN AU3=AU3*260/FS
    IF ARE3=1 THEN AU1=AU1*2
    IF ARE3=0 THEN A33r$="7550604565304035"
    IF ARE3=0 THEN A32r$="6560505555403045"
    IF ARE3=0 THEN A31r$="5560605545404045"
    Apm$="505050707050505560657035504744433857" : Dpm=.98
    R(0)=0 : V=FNR1(0,1006.4) : V=FNR1(0,2006.4) ': V=FNR1(30,-9)
    IF UW3>1 THEN V=FNR1(0,3206.4) : V=FNR1(0,4506.4) '<== dop ==
    V=FNR1(30,-9)
    CASE -8 : E0=1.25*(1+.2*FNTIM(4,T)) : EA=UEA3*(1+.2*FNTIM(8,T))
    E1=1.3*(1+.2*FNTIM(10,T)) : E2=1.3*(1+.2*FNTIM(7,T))
    V=(FNTIM(9,T)+FNTIM(13,T))/3 : Arr$=FNRE$(AU3/2-1+V,3)
    если проект open source, нельзя ли запушить на гитхаб и дать ссылку,
    а то вырванный из контекста фрагмент кода явно бесполезен, прошу прощения.

  • #46

    По умолчанию Re: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

    Я, кажется, не написал ничего такого, что не было бы понятно школьнику посещавшему уроки информатики
    Вы издеваетесь или манией величия страдаете? Пишете какой-то листинг непонятно на каком языке и предполагаете, что это кому-то будет понятно. И даже не ответили на вопрос, что за DSL.

    Что за магические числа?

    Здесь, например, чисто по синтаксису не понятно, как это можно было бы читать:

    MU5=2 : AU5=.5 : DU5=2.996 '==================== dop ==

    Что значит дветочие? Что значит .5? Апостроф - это комментарий? А что значит сам такой комментарий?

  • #47

    По умолчанию Re: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

    В суть сценария вникать особенно незачем - я просто хотел продемонстрировать что запись его достаточно компактна. Если программист разработает звук для какого-нибудь другого инструмента изменится только сценарий и он будет иметь другой номер. Когда мы в МИДИ назначаем инструмент, то пишем С_номер_канала номер_инструмента. У меня примерно то же самое - номер сценария, это номер инструмента. Остальное окружение ни программиста, ни пользователя не должно интересовать - оно остаётся неизменным. Но программисту, разумеется нужно знать возможности программы.
    Я оставляю код программы открытым именно для возможности разрабатывать и добавлять новые сценарии. Но можно программу и откомпилировать. и тогда это будет готовый продукт, работающий по партитурам и использующий готовый набор инструментов. сделал партитуру, вызвал программу и всё. Минут через 9 WAV файл 3-х минутной записи будет готов. Но всё точно также работает и из среды Турбо Бейсика, и ничуть не медленнее. А вот чтобы было побыстрее - среду программирования нужно менять. в современных условиях не только запись. но и онлайн звук получить можно. Тачно также, как на МИДИ форматах.

  • #48

    По умолчанию Re: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

    \\Что значит двоеточие? Что значит .5? Апостроф - это комментарий? А что значит сам такой комментарий?\\
    Что это такое школьники должны знать. Правда, они в наше время ничего не учат, но это их проблемы. Бейсик они на уроках изучают.
    Здесь, в сценарии присутствуют операторы присвоения А=.5 означает, что переменной А присваивается значение .5. Двоеточия разделяют операторы. Комментарий отделяется апострофом и в нём можно писать, что угодно.
    FN это обращение к некой периодической функции, Т в её аргументе это время, прошедшее с момента появления звука, выраженное в секундах.
    Но я, конечно, пошутил - нужно не прото читать, но и знать суть того, что написано в сценарии, чтобы понимать, какие регулировки звука он производит.
    Но Вам в суть вникать не нужно - я просто демонстрирую. что сценарий, это достаточно компактная запись.

  • #49

    По умолчанию Re: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

    Ну, Бейсик я действительно не знаю. Не знаю, почему он так называется, самый запутанный синтаксис, даже после C++ я его не осилил. Испорченный Фортран .

  • #50

    По умолчанию Re: Классическая музыка на компьютере с синтезом хорошего звука. Новый метод.

    Забив на оператор GOTO, *
    Все перешли на языки сложнее,
    Чем Бейсик. Но по-прежнему милее
    Мне он. Люблю его за простоту.

    За численные строк обозначенья, **
    Универсальность функции INKEY$, ***
    За мысли постепенное теченье,
    За все RETURN, которые там есть, ****

    За длинный милый ряд волшебных звуков,
    За амплитуды, полнящие файл,
    За классику - всех Бахов и их внуков,
    За всё, что я пока не записал.

    За возвышенье творческих мотивов,
    За любованье ритмикой танго.
    За страсть любви, без всяких перерывов,
    Достойную Поэта.

    Одного достаточно, чтоб целый мир восславить.
    Не важно - языком, или пером.
    Как говорил Алмyстафа красавец, *****
    С любовью этой, дай Бог, не умрём.
    __________
    * использование оператора GOTO считается дурным тоном в программировании
    ** строки текста программы на Бейсике могут нумероваться
    *** функция INKEY$ возвращает код нажатой клавиши, а также отслеживает комбинации клавиш
    **** RETURN возврат из подпрограммы
    ***** Алмyстафа - персонаж книги "Пророк"Д.Х.Джебрана

  • Страница 5 из 6 ПерваяПервая ... 456 ПоследняяПоследняя

    Похожие темы

    1. Новый метод настройки фортепиано
      от KLIZMA в разделе Фортепианный настройщик
      Ответов: 132
      Последнее сообщение: 16.11.2019, 16:25
    2. Города нет в списке Куплю скрипку 1/4, хорошего качества и звука, для выступлений. Город не важен.
      от Tea в разделе Покупка и продажа инструментов и аксессуаров
      Ответов: 0
      Последнее сообщение: 16.06.2014, 13:16
    3. Москва Новый белый виолончельный футляр ищет хорошего хозяина!
      от Katrin в разделе Покупка и продажа инструментов и аксессуаров
      Ответов: 2
      Последнее сообщение: 17.06.2012, 02:17
    4. Ответов: 0
      Последнее сообщение: 21.02.2011, 08:36
    5. Классическая музыка
      от Дашуня в разделе Помогите опознать мелодию
      Ответов: 0
      Последнее сообщение: 26.04.2009, 18:09

    Метки этой темы

    Социальные закладки

    Социальные закладки

    Ваши права

    • Вы не можете создавать новые темы
    • Вы не можете отвечать в темах
    • Вы не можете прикреплять вложения
    • Вы не можете редактировать свои сообщения
    •  
    Яндекс.Метрика Rambler's Top100