2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2  След.
 
 Частоты нот
Сообщение11.03.2016, 18:37 
Аватара пользователя
Друзья! Прошу вашей помощи. Надо написать небольшую прогу, воспроизводящую мелодию. С частотами отдельных нот проблем не возникло. Но когда увидел ноты песни, был озадачен. Как определить частоту двух/трёх нот, воспроизводимых одновременно? Например, когда на фортепиано двумя руками играют. Уж не просто сложением их частот, я думаю. В инете информации нет (по крайней мере, я не нашёл).

 
 
 
 Re: Частоты нот
Сообщение11.03.2016, 18:48 
Аватара пользователя
Сложением синусоид. (Хотя, разумеется, у фортепиано не синусоида; ближе всего к синусоиде духовые, особенно орган.)

Вы в каком классе учитесь? У вас там понятие спектра проходили уже, или нет?

 
 
 
 Re: Частоты нот
Сообщение11.03.2016, 18:53 
Аватара пользователя
Боюсь, API, которым располагает ТС, сводится к функции Beep(frequency, duration).

-- Пт мар 11, 2016 18:16:26 --

FirstKarmeliy в сообщении #1105825 писал(а):
Как определить частоту двух/трёх нот, воспроизводимых одновременно?
Вопрос похож на такой:
Какой буквой записывается звук, который получается, когда трое одновременно произносят «ж», «т» и «в»?
Или: какой химический элемент получится, если смешать углерод, серу и алюминий?

 
 
 
 Re: Частоты нот
Сообщение11.03.2016, 19:20 
Я в похожем случае пригласил человека с музыкальным образованием и он в каждом случае выбирал какую из нот играть чтобы мелодия была узнаваема и тыкал мне пальцем в неё. Сам из нотной записи этого однозначно выделить не смог.

 
 
 
 Re: Частоты нот
Сообщение11.03.2016, 19:28 
Аватара пользователя
FirstKarmeliy в сообщении #1105825 писал(а):
Как определить частоту двух/трёх нот, воспроизводимых одновременно?

Когда-то, давно, чуть-чуть занимался этим. Такого вопроса не возникало, потому что у аккорда нет частоты в том смысле,
в каком она есть у отдельной ноты. Просто запускал одновременное звучание нот (у каждой своя частота),
и слушал вполне себе нормальный аккорд. Делал в Delphi, подключив библиотеку midi, если чо. Деталей уже не помню.
Можно проконсультироваться ещё здесь. :-)

 
 
 
 Re: Частоты нот
Сообщение11.03.2016, 19:56 
svv в сообщении #1105829 писал(а):
Боюсь, API, которым располагает ТС, сводится к функции Beep(frequency, duration).
Есть читерство и на этот случай: арпеджио, да побыстрее.

 
 
 
 Re: Частоты нот
Сообщение11.03.2016, 19:58 
Аватара пользователя
Почему бы вам не установить какой-нибудь FL Studio и не создать мелодию там с экспортом в wav/mp3? Все равно одиноких нот будет мало, еще почти наверняка понадобятся микшер с фильтрами и норм секвенсор.

 
 
 
 Re: Частоты нот
Сообщение14.03.2016, 23:51 
Аватара пользователя
Вспомнилось, как на 1-битном ЦАП делали воспроизведение аккордов и корявый контроль громкости..

FirstKarmeliy, надо уточнить, какими низкоуровневыми возможностями обладает ваше ПО.

 
 
 
 Re: Частоты нот
Сообщение15.03.2016, 07:50 
Да там может быть всё и вполне высокоуровнево — вообще намёков никаких не было на что-то конкретное. Тогда можно было бы даже просто посоветовать, например, подключить библиотеку, воспроизводящую какой-нибудь трекерный формат музыки, и…

 
 
 
 Re: Частоты нот
Сообщение22.03.2016, 13:33 
Аватара пользователя
Друзья! К сожалению, ничего из вышеуказанного мне не подходит. Спасибо за советы, но пока всё мимо. Попытаюсь ответить всем и сразу. Я учусь в универе, на физико-техническом. Если бы было всё просто, я бы не писал тут. Программа именно на Ассемблере, звук воспроизводит Спикер. Это жесткие условия, которые нельзя изменить. То бишь ситуация похожа на ту, что описывал bondkim137

 
 
 
 Re: Частоты нот
Сообщение22.03.2016, 13:52 
Аватара пользователя
Копайте в сторону широтно-импульсной модуляции.

 
 
 
 Re: Частоты нот
Сообщение22.03.2016, 14:24 
Аватара пользователя
А я Вам вот какой совет дам. Бесконечно давно, чуть ли не в советское время, аналогичную программу для спикера (с аккордами!) написал человек по имени Вадим Мадгазин. Недавно я видел, что он и сейчас обитает на просторах интернета. Вы можете попробовать найти его, списаться с ним и получить консультацию.

 
 
 
 Re: Частоты нот
Сообщение22.03.2016, 18:31 
Аватара пользователя
FirstKarmeliy, все довольно просто.
Изменяем положение спикера. Ждем T_1. Инвертируем. Ждем T_2. Снова инвертируем, ждем T_3. И по кругу.

Услышим нечто, довольно похожее на аккорд с нотами соответсвующих частот периодов. Звучать будет чище, чем настоящий аккорд, пропущенный через жесткий Distortion-фильтр. Ибо у последнего несинхронизованные фазы отдельных нот будут рождать кучу металлических грязных гармоник после насыщения (перехода к однобитному ЦАП).

Рачет длительности звучания таких 'аккордов' в периодах сделаете так же, как было с одной нотой. Если ноты измерять (записывать) в периодах, а не частотах, можно даже без деления обойтись

 
 
 
 Re: Частоты нот
Сообщение23.03.2016, 00:35 
Аватара пользователя
bondkim137 в сообщении #1108511 писал(а):
Услышим нечто, довольно похожее на аккорд с нотами соответсвующих периодов

Если быть точнее, полупериодов.

 
 
 
 Re: Частоты нот
Сообщение23.03.2016, 18:13 
Аватара пользователя
FirstKarmeliy в сообщении #1105825 писал(а):
... Уж не просто сложением их частот, я думаю.

А я думаю сложением. Только уровень суммарного сигнала корректируется, ведь две клавиши взятые на рояле не звучат в два раза громче. Или фальшь смущает? Тут простого ответа быть не может. Октава, математически разбитая на 12 равных полутонов предполагает не очень чистые квинты (не ровно 2/3) - проблемы темперированного строя, давний спор Баха с Генделем. Когда люди поют на два/три голоса то и вообще между нот с точки зрения устройств. Сложные семплы обертонами замыливаются при смешении, а синусоиды - да, могут ломать.

 
 
 [ Сообщений: 18 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group