По поводу того, что я под каждую ноту/звукосочетание постоянно выделяю-освобождаю память.
Если я правильно помню, то первоначальная идея была сделать обычный double buffer;
пока один играется, другой заполняется отсчетами, потом меняем местами.
Видимо, я поленился это сделать и подумал что-то вроде
"ай да ну и фикъ с ним, буду под каждое новое звукосочетание выделять новый буфер"
Альтернативой является большой (кольцевой) буфер на несколько секунд.
Тогда, как уже говорил, можно будет сделать реверберацию, например.
По поводу envelope - да, верно, усиливающий/ослабляющий коэффициент
лучше сделать зависящим не только от номера периода, но и от номера
отсчёта внутри периода (того, что в проге называется phase).
15.03.2012, 16:45
xjiss
Re: Синтезатор с чистым строем
Цитата:
Сообщение от Toman
На самом деле, основной (первый вариант фразы, как оно было придумано изначально) - это который звучит вторым. Тот же, который звучит первым - это такой "зацикленный" вариант, который может идти в качестве фона или в качестве вставки для перехода во что-то ещё.
Я вот этак переосмыслил:
16.03.2012, 10:00
Toman
Re: Синтезатор с чистым строем
Цитата:
Сообщение от xjiss
Период в 100 отсчетов соответствует частоте звука 480 Hz.
Период в 101 отсчет соответствует частоте звука 475.248 Hz.
Разница - почти 5 Герц.
Допустим, что Ваш меандр с хитринкой действительно даст
период в 100.5 тактов дискретизации и, соответственно,
частоту звука 472.906 Hz.
Вообще-то 477.612. Ведь он же между 475 и 480.
Цитата:
А как Вы будете изображать, скажем, 478 Hz?
Период для этой частоты - 100.418.
Да точно так же. Меня же не волнует, что конкретная последовательность цифр не повторится за всё время звучания ноты, надо только чтобы частота была какая надо.
Цитата:
У Вас опять получатся полочки по 49 или 50 отсчетов
и 3 промежуточных значения. Единственное, что Вы сможете
изменить, это значения этих промежуточных отсчетов.
Вот именно, что их можно менять. И именно за счёт этого положение фронта сигнала будет с каждым периодом "ползти" именно в то положение, которое нам надо.
Цитата:
И Вы хотите сказать, что от величины этих отсчётов
будет зависеть частота меандра на выходе звуковой карты?
Что-то терзают меня смутные сомнения....
Вообще-то там не только величина, а и порядок (т.е., скажем, количество отсчётов в полках). Частота-то без всяких проблем будет той, что нужно. Другой вопрос - величина и характер возникающих артефактов и искажений. Но у вашего строго периодического сигнала с такой формой искажений вообще-то не меньше, просто они сами тоже имеют тот же период, и не "бьют" (но звук всё равно совершенно реально портят). Вообще-то, имхо, при частоте дискретизации 48 кГц у синтезируемого сигнала надо по возможности убирать (или изначально не вводить в состав, если это возможно) составляющие с частотами выше 16-19 кГц (т.е. начиная от 16 кГц фильтр начинает давить, а на отметке 19 кГц и далее - должен давить практически всё напрочь), тогда есть шанс избежать встречи с наиболее гнусными искажениями. В т.ч. и с тембровыми биениями.
Цитата:
Я вот этак переосмыслил:
Окончание как-то очень уж грустно звучащее, не в тему. Это же в общем что-то... ну, "весёлое" не совсем то слово, м.б. можно сказать торжественное.
Раз уж на то пошло, придумал свой вариант окончания второй части. Но сыграть это на синтезаторе через компьютерную клавиатуру уже сложновато, увы, в т.ч. из-за запрещённых сочетаний (жалко, т.к. тембр как раз очень подходит, и отсутствие постоянного вибрато, которым бесят меня имеющиеся в моём распоряжении MIDI инструменты). Поэтому пришлось набрать в нотном редакторе и оттуда же записать в виде звука:
(вообще последняя нота должна быть то ли подлиннее, то ли фермату туда ставить надо... С размером тоже не знаю, так ли это пишется, или надо было 2/4 и 3/4, т.е. все полные такты поделить пополам...)
Стилистически, правда, тоже не совсем в тему, т.к. тут конец не грустный, зато сугубо "озорной".
16.03.2012, 10:31
Toman
Re: Синтезатор с чистым строем
Вот, видимо, более правильный вариант - с переходом на ля в басу (и не забытым продолжением ля в среднем голосе) - вроде, так уже посерьёзнее звучит...
16.03.2012, 12:16
xjiss
Re: Синтезатор с чистым строем
Цитата:
Сообщение от Toman
Вообще-то 477.612. Ведь он же между 475 и 480.
Oops, это я по невнимательности вкопипастил
не для 100.5, а для 101.5, извиняюсь.
Цитата:
Сообщение от Toman
Вот именно, что их можно менять. И именно за счёт этого положение фронта
сигнала будет с каждым периодом "ползти" именно в то положение, которое
нам надо.
Не, я понимаю, что после фильтра будет что-то похожее
на то, что задумывалось. Но для того, чтобы убедиться,
что это действительно так (или не так), нужно неделю сидеть
с осциллографом, глядя на то, что идет с выхода
звуковой карты.
А с периодами звука, кратными периоду дискретизации,
голову ломать не надо, там всё самой собой естественным
образом получается. Ладно, забъём пока. :)
Я всё равно не собираюсь делать нецелые периоды.
Цитата:
Сообщение от Toman
Окончание как-то очень уж грустно звучащее, не в тему. Это же в общем
что-то... ну, "весёлое" не совсем то слово, м.б. можно сказать
торжественное.
О! Верно, торжественное, я тоже именно так сразу и ощутил,
только слово почему-то правильное не подобралось.
Или какой зов типа "вперед, нас ждут великие дела!"
Насчет моей переделки - я в Вашем окончании малость не разобрался,
поэтому налепил отсебятины :) Да, окончание печальное,
но мы тут же заходим на второй круг и нормально )
Там после ре чего идет у Вас? Ми?
Я порешил скакнуть сразу на Фа, а потом на Ми
(как бы мажор, но без терции, она там тоже косая вроде как)
Цитата:
Сообщение от Toman
Но сыграть это на синтезаторе через компьютерную
клавиатуру уже сложновато
Вчера вот незатейливый "попсовый" примерчик сыграл:
По всей видимости, это предел моих технических возможностей
для данного "инструмента":) И то на концовке замешкался малость,
очень неудобный для пальцев переход.
Цитата:
Сообщение от Toman
Вот, видимо, более правильный вариант - с переходом на ля в басу (и не
забытым продолжением ля в среднем голосе) - вроде, так уже посерьёзнее
звучит...
Честно говоря, у меня музыкального образования вообще никакого нет
(ну, не считая самообразования), поэтому слова типа "голосоведение"
или там "контрапункт" для меня есть китайская грамота... К сожалению
или не очень, не знаю :)
Послушаю попозже.
16.03.2012, 12:57
xjiss
Re: Синтезатор с чистым строем
По поводу биения квинты ми-си. Что-то мне тоже сейчас (за другим компом) показалось,
что с ней чегой-то не того... как раз на Вашем примере...
пока такое впечатление, что виноват шум вентилятора
в системнике.
В наушниках эффект есть?
16.03.2012, 18:01
Toman
Re: Синтезатор с чистым строем
Цитата:
Сообщение от xjiss
По поводу биения квинты ми-си. Что-то мне тоже сейчас (за другим компом) показалось,
что с ней чегой-то не того... как раз на Вашем примере...
пока такое впечатление, что виноват шум вентилятора
в системнике.
В наушниках эффект есть?
Насчёт наушников - не знаю. Но насчёт вентилятора у меня тоже независимо возникло такое подозрение. Кстати, как оказалось, бьёт там не обязательно квинта, а просто сами по себе эти ноты ми и фа. Вполне возможно, что вентилятор гудит где-то между этими двумя нотами.
Цитата:
Честно говоря, у меня музыкального образования вообще никакого нет
(ну, не считая самообразования), поэтому слова типа "голосоведение"
или там "контрапункт" для меня есть китайская грамота... К сожалению
или не очень, не знаю :smile:
У меня тоже нет музыкального образования. Слово "голос" я употребил в чисто техническом смысле - то, что считается голосом в нотном редакторе, и что считается голосом вообще по неким понятиям нотной записи. А также - то, что может рассматриваться как конкретная партия одноголосного инструмента. Поскольку их всего три (ноты делались с расчётом на то, чтобы они были исполнимы в данном случае минимальным возможным ансамблем из каких-то трёх духовых), тот, что между басами и верхним голосом, естественно назвать средним.
Контрапункта тут никакого нет, конечно: не умею я такового делать, увы.
Цитата:
Вчера вот незатейливый "попсовый" примерчик сыграл:
А что, круто! Свой вариант, тот, что в нотах, я бы в принципе, пожалуй, сыграл (собственно, свой вариант концовки и сочинил-то, сидя на работе, где кроме синтезатора клавишных инструментов нет, и даже гитара здешняя и та стоит с лопнувшей и пока не заменённой струной), но пресловутые аппаратные ограничения клавиатуры. Из-за которых и некоторые 3-звучные сочетания не проходят, а уж 4-звучные (которые естественным образом появляются при попытке сыграть переходы легато, а у меня тут почти всё и есть легато) почти все. В результате более-менее можно сыграть, только если опустить почти половину нот, все октавные удвоения. Уже тот вариант, который я вначале дал, разумеется, урезан таким образом, а уж концовка (в которой у меня в какой-то момент была мысль ввести 4-й голос, но всё же не стал этого делать, чтобы не увеличивать минимальный состав духового или струнного ансамбля ради 1 или 2 нот) и вовсе осталась бы почти одноголосной, либо прерывалась бы на запрещённых клавиатурой аккордах.
16.03.2012, 18:48
xjiss
Re: Синтезатор с чистым строем
Цитата:
Насчёт наушников - не знаю. Но насчёт вентилятора у меня тоже независимо возникло такое подозрение. Кстати, как оказалось, бьёт там не обязательно квинта, а просто сами по себе эти ноты ми и фа. Вполне возможно, что вентилятор гудит где-то между этими двумя нотами.
Именно так. Я потом по гитаре выяснил, что вентилятор гудит около фа-диез.
Но гитара та настроена слегка заниженно (кажись), так что гипотеза насчет того, что
бьет само ми или фа (синтезаторные и вентиляторные) - вполне правоподобна.
16.03.2012, 19:19
xjiss
Re: Синтезатор с чистым строем
Вот. Первый кусок.
Возможно, ритмический рисунок не соблюден. Как получилось )
А со вторым у меня полный трабл. :)
То ли не понимаю её ритмического рисунка,
то ли сбивает с толку его смена.
Кстати , "Зов" - имхо, неплохое название для этого.
Надо только придумать, кого зов.