Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Помощь в определении частот нот МК-90

  1. #1
    Member
    Регистрация
    01.12.2017
    Адрес
    г. Воронеж
    Сообщений
    41
    Благодарностей: 10
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Помощь в определении частот нот МК-90

    Как известно, мк-90 с первой версией бейсика выводил ноты разной длительности (с высотой ноты уменьшалась длительность). Я провёл небольшое исследование, написал на бейсике короткую программу по перебору всех нот команды "PLAY", и через микрофон записал на компьютер, затем в Sound forge измерил длительность каждой ноты. Сороковая звучала почти в 10 раз меньше, чем первая! Всю полученную информацию собрал в таблицу Excel (прикреплена). Завершением стало написание небольшой консольной утилиты для ПК на С++ по конвертированию длительности одной ноты для другой. Это конечно не функция на ассемблере, но жить уже можно.

    А вот с определением частот нот произошла заминка, я не нашёл приемлемого способа. Пришлось вручную выделять 100мс ноты, и считать пики... Что сказать, выдохся я на 17-ой ноте... Ну вот, пока, полученный результат(±10 Гц):

    1)700 Гц
    2)740 Гц
    3)790 Гц
    4)830 Гц
    5)880 Гц
    6)930 Гц
    7)990 Гц
    8)1040 Гц
    9)1100 Гц
    10)1150 Гц
    11)1220 Гц
    12)1310 Гц
    13)1390 Гц
    14)1460 Гц
    15)1560 Гц
    16)1650 Гц
    17)1740 Гц

    Итак, прошу помочь всех желающих в определении частот остальных нот.

    Ссылки:

    Эксель таблица с длительностью - https://yadi.sk/i/OgWWpv3V3Yb2hm
    Моя утилита "Эквивалент" - https://yadi.sk/d/D4XgkNVw3Y7VrK
    Звуковой файл с нотами - https://yadi.sk/d/1F_M57uX3Yb2oR

    Для чего может понадобится частота? Чтобы сопоставить ноты МК-90 с реальными нотами (в сети можно найти всю информацию) - октавы две получится точно.

    Спасибо за внимание.

  2. Эти 2 пользователя(ей) поблагодарили Radon17 за это полезное сообщение:
    piotr433 (03.07.2018), svofski (29.06.2018)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    2,342
    Благодарностей: 820
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Может быть, если звук цифруется чисто, надежней, точней и даже проще считать длину периода?
    Больше игр нет

  5. #3
    Member
    Регистрация
    01.12.2017
    Адрес
    г. Воронеж
    Сообщений
    41
    Благодарностей: 10
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дело в том, что там не совсем чистая синусоида, есть два вида колебаний, они повторяются друг за другом.

  6. #4
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    2,342
    Благодарностей: 820
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Даа.. скачал, посмотрел на волновые формы. "Не совсем чистая синусоида" - это меандр, пропущенный через фильтр ВЧ (это же пьезодинамик, да?).


    (источник)

    Период все равно можно проследить между двумя вершинами. Проще скриншотом:

    Скрытый текст



    [свернуть]


    Но и БПФ тоже способ. Я бы только побольше частоту дискретизации сделал, для измерительных-то целей.
    Больше игр нет

  7. Этот пользователь поблагодарил svofski за это полезное сообщение:
    Radon17 (29.06.2018)

  8. #5
    Member
    Регистрация
    01.12.2017
    Адрес
    г. Воронеж
    Сообщений
    41
    Благодарностей: 10
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    О, спасибо, а то я гадал, как же генерировался этот сигнал внутри МК-90. Да, пьезодинамик стоит. Я вот думаю... может до преобразования подцепиться, и записать меандр, так-то проще будет.

  9. #6
    Member Аватар для IgorR76
    Регистрация
    25.12.2017
    Адрес
    г. Москва
    Сообщений
    95
    Благодарностей: 65
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Radon17 Посмотреть сообщение
    А вот с определением частот нот произошла заминка, я не нашёл приемлемого способа.
    Для определения частоты нот надо было сходить в музыкальную школу. Ваша запись нот начинается с ФА первой октавы, и дальше по полтона вверх. Табличка:


    PS. Вот только непонятно, зачем Вам частоты?

  10. #7
    Member
    Регистрация
    01.12.2017
    Адрес
    г. Воронеж
    Сообщений
    41
    Благодарностей: 10
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    IgorR76, внимательно прочитайте моё самое первое сообщение, я имел в виду ноты (если вам угодно, "ноты") МК-90, их 40 штук, их частоту я и пытался измерить, про данную табличку я знаю, внимательно прочтите предпоследнее предложение, там сказано про "реальные ноты" это как раз и есть они.

  11. #8
    Veteran
    Регистрация
    30.08.2005
    Адрес
    Питер
    Сообщений
    1,010
    Благодарностей: 169
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть приложения под Android - микрофоном определяется частота и показывается ближайшая нота. Точное название не помню. Но что-то вроде Spectrum Analyzer
    Собираю в коллекцию советские калькуляторы и компьютеры.
    Мой сайт: http://www.leningrad.su/museum/

  12. #9
    Member Аватар для IgorR76
    Регистрация
    25.12.2017
    Адрес
    г. Москва
    Сообщений
    95
    Благодарностей: 65
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Серёж, имеющий уши да услышит. Не надо приложений. И частот. Мелодию потом же не осциллографом смотреть.

  13. #10
    Junior Аватар для piotr433
    Регистрация
    16.02.2011
    Адрес
    Szczecin, Польша
    Сообщений
    11
    Благодарностей: 25
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного технических деталей

    В МК-90 пьезодинамик подключен к выводу синхросигнала канала 3 последовательного интерфейса КА1835ВГ4. Частота этого сигнала вычисляется по формуле:
    Ф = F / (2 * N)
    где
    F - опорная частота 1600 кГц (не очень точная, так как вырабатывается RC-генератором)
    N - число занесённое в регистр коэффициента деления

    Команда PLAY записывает в регистр коэффициента деления номиналы из следующей таблицы (ноты 0-40, их 41 штук).

    0x08EE, 0x0872, 0x07F9, 0x0783,
    0x071A, 0x06B5, 0x0653, 0x05F7,
    0x05A4, 0x0551, 0x0506, 0x04BC,
    0x0477, 0x0439, 0x03FC, 0x03C2,
    0x038D, 0x035A, 0x032A, 0x02FB,
    0x02D2, 0x02A8, 0x0281, 0x025E,
    0x023D, 0x021D, 0x01FE, 0x01E2,
    0x01C7, 0x01AD, 0x0193, 0x017E,
    0x0169, 0x0155, 0x0142, 0x012F,
    0x0121, 0x010E, 0x00FF, 0x00F1,
    0x00E3

    Второй операнд команды PLAY определяет количество последовательно переданных байтов и, следовательно, длительность тона, которая вычисляется по формуле:
    t = количество_байтов * 8_битов_в_байте / частота_тона
    Последний раз редактировалось piotr433; 01.07.2018 в 18:51. Причина: орфография

  14. Эти 4 пользователя(ей) поблагодарили piotr433 за это полезное сообщение:
    CodeMaster (30.06.2018), Radon17 (27.09.2018), svofski (29.06.2018), tnt23 (08.08.2018)

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Прошу помощи в определении клона спектрума
    от kos в разделе Для начинающих
    Ответов: 28
    Последнее: 09.12.2016, 20:18
  2. Помощь с ресурсами
    от Smalovsky в разделе Разное
    Ответов: 2
    Последнее: 22.09.2016, 16:07
  3. Нужна помощь!!!!
    от Biozoom в разделе ZXEvo
    Ответов: 6
    Последнее: 21.10.2010, 17:18
  4. нужна помощь!!
    от Subre Wulf в разделе Для начинающих
    Ответов: 10
    Последнее: 21.11.2009, 18:12

Ваши права

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