2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Частоты нот
Сообщение11.03.2016, 18:37 
Аватара пользователя


29/09/14
28
Друзья! Прошу вашей помощи. Надо написать небольшую прогу, воспроизводящую мелодию. С частотами отдельных нот проблем не возникло. Но когда увидел ноты песни, был озадачен. Как определить частоту двух/трёх нот, воспроизводимых одновременно? Например, когда на фортепиано двумя руками играют. Уж не просто сложением их частот, я думаю. В инете информации нет (по крайней мере, я не нашёл).

 Профиль  
                  
 
 Re: Частоты нот
Сообщение11.03.2016, 18:48 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Сложением синусоид. (Хотя, разумеется, у фортепиано не синусоида; ближе всего к синусоиде духовые, особенно орган.)

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

 Профиль  
                  
 
 Re: Частоты нот
Сообщение11.03.2016, 18:53 
Заслуженный участник


23/07/08
10626
Crna Gora
Боюсь, API, которым располагает ТС, сводится к функции Beep(frequency, duration).

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

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

 Профиль  
                  
 
 Re: Частоты нот
Сообщение11.03.2016, 19:20 
Заслуженный участник


20/08/14
11061
Россия, Москва
Я в похожем случае пригласил человека с музыкальным образованием и он в каждом случае выбирал какую из нот играть чтобы мелодия была узнаваема и тыкал мне пальцем в неё. Сам из нотной записи этого однозначно выделить не смог.

 Профиль  
                  
 
 Re: Частоты нот
Сообщение11.03.2016, 19:28 
Аватара пользователя


27/02/12
3706
FirstKarmeliy в сообщении #1105825 писал(а):
Как определить частоту двух/трёх нот, воспроизводимых одновременно?

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

 Профиль  
                  
 
 Re: Частоты нот
Сообщение11.03.2016, 19:56 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Частоты нот
Сообщение11.03.2016, 19:58 
Аватара пользователя


18/06/12

499
планета Земля
Почему бы вам не установить какой-нибудь FL Studio и не создать мелодию там с экспортом в wav/mp3? Все равно одиноких нот будет мало, еще почти наверняка понадобятся микшер с фильтрами и норм секвенсор.

 Профиль  
                  
 
 Re: Частоты нот
Сообщение14.03.2016, 23:51 
Аватара пользователя


07/02/12
1403
Питер
Вспомнилось, как на 1-битном ЦАП делали воспроизведение аккордов и корявый контроль громкости..

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

 Профиль  
                  
 
 Re: Частоты нот
Сообщение15.03.2016, 07:50 
Заслуженный участник


27/04/09
28128
Да там может быть всё и вполне высокоуровнево — вообще намёков никаких не было на что-то конкретное. Тогда можно было бы даже просто посоветовать, например, подключить библиотеку, воспроизводящую какой-нибудь трекерный формат музыки, и…

 Профиль  
                  
 
 Re: Частоты нот
Сообщение22.03.2016, 13:33 
Аватара пользователя


29/09/14
28
Друзья! К сожалению, ничего из вышеуказанного мне не подходит. Спасибо за советы, но пока всё мимо. Попытаюсь ответить всем и сразу. Я учусь в универе, на физико-техническом. Если бы было всё просто, я бы не писал тут. Программа именно на Ассемблере, звук воспроизводит Спикер. Это жесткие условия, которые нельзя изменить. То бишь ситуация похожа на ту, что описывал bondkim137

 Профиль  
                  
 
 Re: Частоты нот
Сообщение22.03.2016, 13:52 
Заслуженный участник
Аватара пользователя


01/08/06
3049
Уфа
Копайте в сторону широтно-импульсной модуляции.

 Профиль  
                  
 
 Re: Частоты нот
Сообщение22.03.2016, 14:24 
Заслуженный участник


23/07/08
10626
Crna Gora
А я Вам вот какой совет дам. Бесконечно давно, чуть ли не в советское время, аналогичную программу для спикера (с аккордами!) написал человек по имени Вадим Мадгазин. Недавно я видел, что он и сейчас обитает на просторах интернета. Вы можете попробовать найти его, списаться с ним и получить консультацию.

 Профиль  
                  
 
 Re: Частоты нот
Сообщение22.03.2016, 18:31 
Аватара пользователя


07/02/12
1403
Питер
FirstKarmeliy, все довольно просто.
Изменяем положение спикера. Ждем T_1. Инвертируем. Ждем T_2. Снова инвертируем, ждем T_3. И по кругу.

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

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

 Профиль  
                  
 
 Re: Частоты нот
Сообщение23.03.2016, 00:35 
Аватара пользователя


07/02/12
1403
Питер
bondkim137 в сообщении #1108511 писал(а):
Услышим нечто, довольно похожее на аккорд с нотами соответсвующих периодов

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

 Профиль  
                  
 
 Re: Частоты нот
Сообщение23.03.2016, 18:13 
Заслуженный участник
Аватара пользователя


21/11/12
1870
Санкт-Петербург
FirstKarmeliy в сообщении #1105825 писал(а):
... Уж не просто сложением их частот, я думаю.

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group