Сап, /sci/Дело в том, что мне нужно сделать синтезатор а-ля FLдля себя, конечно же, но для этого мне нужно разобраться с представлением звука. Спектрограмма - самое очевидное, что может быть, но как так получается, что за 1 шаг дискретизации на спектрограмме может быть отображена целая гамма частот? Разве динамик может одновременно выдать такую гамму? Есть версия, что он просто очень быстро выдаёт все частоты по-очереди, поэтому спектрограмма должна быть как бы "под углом", который при большой частоте дискретизации незаметен, но инфы по этому варианту я не нашёл. И ещё - я проигрываю звук в 440Гц, но на пике появляется какая-то вертикальная линия в самом начале и плюс две горизонтальных линии около 15КГц вместо одной линии на 440Гц. Как всё это понимать?
>>408528 (OP)Алсо, пишу на мерзком шарпе, чему сам не рад. На пикрл я генерирую синусоидальную волну на 440Гцsample_rate = 8000freq = 440duration = 3Может, я генерирую её неправильно?
>>408529Отклеилось
Ну и в каком разделе мне искать помощь?
>>408528 (OP)>Разве динамик может одновременно выдать такую гамму?Аплитуда описывается чем-то подобным A =\sum A_i sin(w_i t + \phi_i). Поэтому вопрос несколько странен. Динамик все сразу и выдает. Напиши простенькую программу основанную на дискретном фурье преобразовании, и разберись, как заданные тобой гармоники после такого преобразования, будет типа такого. Что касается дополнительных пиков, я хз. Это и не связано ни с зеркальным эффектом, ни с теоремой котельникова. И вообще я мимопроходил
Не уверен, но по-моему тут замешана форма колебаний и преобразование Фурье.мимодаун
>>408595Фикс, не преобразование, а ряды Фурье.
>>408595Хорошо. Можешь в двух словах расписать, как ряд фурье становится звуком? Или без вдумчивого чтения статей это понять не получится?
>>408598Я возможно ошибаюсь, но суть вкратце такова: если у тебя форма волны отличается от синусоиды (прямоугольный, пила и тд), то она представляется в виде суммы элементарных синусоид, среди которых есть синусоида с основной частотой (в твоем случае 440Гц) и кратные ей гармоники, частота которых отличается от основной на целое число.
>>408599> на целое числоСнова быстрофикс в целое число раз.
>>408599Хорошо, это я понялКакая форма волны будет у аккорда Am, например, который состоит из трёх звуков?
>>408603Суперпозиции 6 синусоид, если речь о гитаре.
>>408603А вообще, прочитай про волновое уравнение на отрезке хотя бы в Википедии.
>>408598Синусоиды суммируются и в зависимости от их частоты и амплитуды в сумме можно получить колебание любой формы. гугли ряд фурье, там будут картинки для понимания Динамик воспроизводит всю сумму, т.е. непосредственно прямоугольное колебание или пиковый импульс, например. Спектр - это просто теоретическое разложение этой суммы на составляющие ее синусоиды.
>>408620Почему анон >>408614 говорит про суперпозицию, когда там сумма?
>>408630Мой косяк, там сумма, конечно. как я и писал выше>>408575
>>408630потому что это одно и тоже?
>>408635я уже загоняюсь, это одно и то же.
короче тут вроде уже всё ответили, правда возможно не понятно для не посвященных, поэтому я в кратце просто опишу все тоже самое в одном посте.>Есть версия, что он просто очень быстро выдаёт все частоты по-очередимне очень интересно как такая "умная" версия пришла в голову и как эта выдача частот по очереди вообще возможна? я честно говоря не представляю. оп может и представляет, но оп - то, что ты при этом представляешь будет скорее всего просто какой то другой, более высокой частотой. хотя нет, нет и еще раз нет. все равно какая-то херня.>Разве динамик может одновременно выдать такую гаммузачитай на вике импульсно кодовую модуляцию. хотя опять же наверное нет, почитал - посвященным эта статья нахуй не нужна, для непосвященных думаю будет непонятна. вообще суть такова - ты пиздишь в микрофон, в нем колеблется мембрана, дроча сердечник в катушке, возбуждая ток в этой катушке с какой то там частотой. аналогично всё наоборот с динамиком. если пищать на одной частоте, будет колебаться с одной частотой. если пищать на разных или даже трепаться, несчастная мембрана будет подвергаться воздействию суммарных синусоид, отвечающих за каждую конкретную частоту. это всё аналоговые технологии. ты же тут дискретизацию упомянул. маза дискретизации в том, что раз в сколько нить секунд или меньше делается замер текущего значения амплитуды сигнала. а сама процедура замера называется квантованием. и вот ты получил какое то циферное значение, нолями-единичками послал ччерез канал. на другой стороне сперва наоборот из конкретного закодированного послания получают текущую амплитуду и её собственно на обмотку катушки у динамика и выдают. пришел следующий отсчет выдали следующую амплитуду. как видишь работают вообще с текущим значием амплитуды и как бы говорят мембране динамика где конкретно относительно своего положения покоя она должна находится. про твои графики ничего сказать не могу, кроме разве что можно сюда дельта функцию приплести (в начале же не было ничего, а потом внезапно стало, вот тебе и точечное воздействие в начале), но не уверен, уже слабо помню всю эту теорию.
>>408638>суммарных синусоид, отвечающих за каждую конкретную частоту.суммарной еботе, получающейся если графически сложить все синусоиды, каждая из которых будет отображать конкретную частоту.оно же суперпозиция этих синусоид.быстрофикс
>>408636f(g(h(x))) - разве не это называют суперпозицией?
>>408640ну тут мы немного в терминологии наверное разъебались. что я >>408638что >>408637имели ввиду суперпозицию из физики. "Принцип суперпозиции — один из самых общих законов во многих разделах физики. В самой простой формулировке принцип суперпозиции гласит:Результат воздействия на частицу нескольких внешних сил есть векторная сумма воздействия этих сил.Любое сложное движение можно разделить на два и более простых." ц ВИКА )) а ты привел компзицию функций из математики. причем я хз, может они еще и эквивалентны, в матане не силен. с другой стороны пока читал про твою композицию, увидел что от порядка следования функций в композиции зависит конечный результат. а в случае звука совершенно похуй, будешь ты сперва рассматривать одно элементарное колебание или другое)
Возникло ещё немного вопросовПервый пик - синусоидальная волна, второй пик - меандр. Все по 440Гц. Как так получилось? Разве не должен меандр выдать просто ровную горизонтальную линию, как и синус, но без сглаживаний по краям?
>>408689Вот для треугольной волны и для пилы. Нихуя не понял, подскажите
>>408689>>408690Это из-за того, что метод Фурье хорошо работает только для синусоидальных волн?
>>408689Меандр состоит из основной гармоники + бесконечное число нечетных высших гармоник.
>>408693А если разложить синус на комбинацию меандров, то его тоже распидорасит?
>>408694Ну если взять 2 меандра - первый с f, а второй в противофазе с f*2, то нет.
>>408695Кажется, я что-то начинаю пониматьПочему при разложении звука на спектр используют разложение по синусам? Ведь есть много других ортогональных функций. Может, есть какой-нибудь софт, где можно получить другие спектрограммы?
Возник ещё один вопросПри постройке спектрограммы используется свёртка функции волны? Как правильно выбрать её размер и шаг?
>>408696Потому что синус соответствует простейшему виду свободных колебаний.>>408724Возникает встречный вопросКак ты вообще собрался что-то делать с таким уровнем понимания? Как ты вообще собираешься что-то понять, получая знания на сосаче?
>>408727Ну не всем же бородатыми профессорами быть. Как быть со свёрткой и правильно ли я её понял?
>>408729Так и что же ты про нее понял?
>>408730Что она делается для волны, по которой строится спектрограмма? Или нет?
>>408528 (OP)Ты не туда смотришь. Начни с ворм волны, модуляции и простых фильтров. Это основы синтеза. Разглядывать спектр - глупо.
>>408749Но для этого даже есть отдельный жанр
>>408729насколько я помню свертка это вообще ебота, использующаяся для расчета четырех полюсников.типа на вход подают сигнал. известно что внутри четырехполюсника с сигнлаом будут происходить по такой то функции. сигнал на выходе с четырехполюсника это свертка функции сигнала на входе и функции самого четырехполюсника. причем тут твои бесконечные спектры я хз. я тебе писал про дельтафункцию? почитай про неё. пойми что у такой функции спектр бесконечен. оттуда же вытекают твои линии на рисунках с меандрами. если сигнал не синусоида у него скорее всего будет бесконечный спектр. правда на конкретных частотах его мощность будет близка к нулю. если вспомню как в инсте связи назывался предмет, где всё это проходят, отпишу
>>408904Ну надо же как-то поделить длинную волну мелодии на части, чтобы разложить каждый кусочек на спектр?
>>408917называется это "разложение функции в ряд фурье". типа есть у тебя функция, отображающая эту мелодию. разлогая её в ряд фурье ты как бы собираешь эту "функцию мелодию" из бесконечного ряда синусоид. в вике статья меандр(радиотехника) есть гифка слева. она очень хорошо показывает как именно из кучи синусоид получают меандр.
>>408921Я это уже и так понялНо не буду же я 2-минутную волну раскладывать в ряд Фурье?
>>408904бля открыл сча даже свой диплом. посмотрел на список предметов и хуй его знает... изначально со свертками мозги ебали на матане. на всяких теориях передачи сигнала вроде вообще не про то говорили. на проектировании цифровых систем тоже. с одной стороны помню вроде четко о чем на каждом из предметов трепались. с другой складывается впечатление что на половине из них про спектры что нить да обсуждали. правда после самого ряда фурье на матане все эти обсуждендия уже были в духе "ну вы и так всё понимаете".
>>408922я наверное тебя не понимаю. че ты хочешь то? если хочешь известную сложную функцию разложить на простые - раскладывай рядом фурье. есть даже так называемое "быстрое преобразование" чтобы это быстро делать. если ты хочешь что нибудь другое, то что именно то? к слову, для того чтобы передать эту мелодию на расстояние тебе вообще ряд фурье не нужен, надо амплитуду сигнала замерять раз в сколько нить времени и передавать свои замеры, на другой стороне из них получая исходный сигнал. но и про это я уже писал выше.
>>408924Например, вот этот спектор 3-секундной пилообразной волны. Каждая вертикальная линия содержит ~0.03191489361702127660 секунды, если я правильно всё понял(94 пикселя / 3 секунды). Получается, берётся свёртка функции волны с шириной и шагом равными 0.03191489361702127660 секунды? Чем мотивировано именно такое значение и можно ли шаг брать меньше ширины свёртки?
>>408925вот тебя шлют к ряду фурье и шлют. а ты всё спектр да спектр. что вообще такое спектр? он кстате разный бывает. ну в смысле твои линии насколько я понял это частотный спектр. другими словами на рисунке на твоем линиями изображены синусоиды. у синусоиды есть период - расстояние от её начала до того момента как график повторится. если 1 разделить на период получим частоту синусоиды. взял ты пилообразный сигнал, разложил его в ряд фурье, получил много много синусоид. на графике они и отображены. типа в твоем пилообразном сигнале вот такие синусоиды, с такими частотами. если все их вместе сложить графически, получится пилообразный сигнал. это, еще раз повторяю хорошо отображено на гифке в статье вики меандр(радиотехника).а еще спектр может быть амплитудным, тогда такие линии будут отображать амплитуды синусоид. причем тут свертка я не знаю. хотя, как я уже писал, единственное что помню о свертке - что она используется для расчета четырехполюсника.
>>408927Мой вопрос не в том, как раскладывать волну(про FFT я уже прочитал и готов его применить), а в том, как правильно нарезать музыкальную дорожку, чтобы получить спектр для каждой получившейся такой нарезкой части
>>408925к вопросу шага дискретизации. допустим у тебя есть синусоида с частотой 4 килогерца. тебе надо её оцифровать и передать в цифровом канале. ноликами и единичками. спрашивается как часто надо делать замеры, чтобы на другом конце твою синусоиду можно было восстановить? ответ даёт теорема котельникова - замерять надо в два раза чаще чем частота твоей синусоиды. т.е. с частотой 8 килогерц. или сколько там мили секунд сам посчитай)). теперь усложним ситуацию - у тебя мелодия из 5 разных синусоид. ну или из тех,что на твоем последнем рисунке. чтобы на другом конце можно было восстановить твою мелодию без потерь надо делать замеры амплитуд в два раза чаще, чем самая верхняя полосочка на твоем рисунке.
>>408929А если брать 1/4 от частоты самой быстрой синусоиды, то спектрограмму распидорасит?
>>408928возьми самую высокую частоту в музыкальной дорожке, которую ты хотел бы слышать, после чего режь дорожку с частотой в два раза большей. при этом не обращай внимания на то, что у тебя есть частоты выше, чем та максимальная, которую ты хотел бы слышать. потому что частот там один хер бесконечное множество.имей так же ввиду что человеческое ухо имеет предел слышимости по частоте - ультразвук, что присутствует в твоей дорожке один хер мусор и на него можно забить.
>>408931http://www.fon.hum.uva.nl/praat/manual/Sound__To_Spectrogram___.htmlВот тут, кажется, то, что мне нужно.> time step never needs to be smaller than 1/(8√π) of the window length, and the frequency step never needs to be smaller than (√π)/8 of the inverse of the window lengthЧто такое time step я понял, но формулировку inverse of the window length для frequency step я не понял. Разве не должно быть написано window height?
>>408932Блядь, там про другие окна говорится, в глаза ебусьПосижу, почитаю про них
>>4089301/4 от частоты в смысле реже в 4 раза чем самая большая желаемая частота? ничего не распидорасит, просто слышать будешь только то, что еще в два раза реже будет, чем твои замеры. если имелось ввиду в 4 раза чаще - тоже ничего не распидорасит, просто в твоем нарезаном сигнале будет ненужная тебе состовляющая, которая в два раза опять же реже чем шаг дискретизации.вообще теорема котельникова она для чего - тебе надо передать сигнал, а канал не резиновый. спрашивается как бы поменьше его засирать и вообще какой он нужен чтобы звук передать. вот котельников дал ответ - достаточно мерять в два раза чаще чем самая высокая желаемая частота. по дефолту человеческое ухо збс слышит на диапозоне частот от 0,3 до 4 кгц. поэтому дефолтовая импульсно кодовая модуляция замеряет треп с частотой 8 кгц