Автор Тема: Мой Power Metronome  (Прочитано 17452 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Armen Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 6845
  • Репутация: +466/-72
  • Или Армен
    • http://guitar.armenm.com
Мой Power Metronome
« : Октября 06, 2005, 11:22:27 »
Мне тут различные просьбы присылали, что бы стоило добавить в мой метроном. Хочу обобщить, чтобы сразу всё добавить.
Итак, вот что я собираюсь добавить сейчас:
1. Возможность отбивания 4-х - 32-х долей (плюс триоли, квинтоли, секстоли и т.д.) в придачу к основному ритму,
2. Регулировка громкости,
3. Возможность "тепания" темп, типа пробелом или мышкой отстукиваешь ритм, а он определяет и проставлят темп,
4. Принцип воспроизведения звука будет изменен таким образом, чтобы если машина перегружена другими процессами, звук не "заедало".

Если есть ещё идеи, давайте сюда - даже если сейчас не реализую, этот список хотя бы не потеряется, ничего не забуду и добавлю потом.

Оффлайн hell

  • Глобальный Модератор
  • *****
  • Сообщений: 4645
  • Репутация: +462/-136
    • hellamp rocks
Мой Power Metronome
« Ответ #1 : Октября 06, 2005, 11:25:26 »
4 пункт не реализуем на платформе Windows :-)

Оффлайн Armen Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 6845
  • Репутация: +466/-72
  • Или Армен
    • http://guitar.armenm.com
Мой Power Metronome
« Ответ #2 : Октября 06, 2005, 11:31:34 »
Цитата: hell
4 пункт не реализуем на платформе Windows :-)


Спорим? ;)

Оффлайн hell

  • Глобальный Модератор
  • *****
  • Сообщений: 4645
  • Репутация: +462/-136
    • hellamp rocks
Мой Power Metronome
« Ответ #3 : Октября 06, 2005, 11:35:45 »
Armen: расскажи идею, я раскритикую ;-)

Оффлайн ljоsha

  • Эксперт
  • *****
  • Сообщений: 1407
  • Репутация: +6/-13
  • в курсе вопроса
    • ljosha.org
Мой Power Metronome
« Ответ #4 : Октября 06, 2005, 11:40:04 »
А чо такое windows?

Оффлайн the_band

  • Ветеран форума
  • ******
  • Сообщений: 4289
  • Репутация: +189/-59
  • гитарасакс
    • saxoman.ru
Мой Power Metronome
« Ответ #5 : Октября 06, 2005, 11:42:41 »
Цитата: hell
4 пункт не реализуем на платформе Windows :-)


реализуем:) но что будет с остальными процессами:))))

Оффлайн hell

  • Глобальный Модератор
  • *****
  • Сообщений: 4645
  • Репутация: +462/-136
    • hellamp rocks
Мой Power Metronome
« Ответ #6 : Октября 06, 2005, 11:43:53 »
ljоsha: у тебя ж Skills по windows есть :-)

А так, apt-get install gtick :-)

Оффлайн ljоsha

  • Эксперт
  • *****
  • Сообщений: 1407
  • Репутация: +6/-13
  • в курсе вопроса
    • ljosha.org
Мой Power Metronome
« Ответ #7 : Октября 06, 2005, 11:47:06 »
Цитата: hell
ljоsha: у тебя ж Skills по windows есть :-)

Чувак, ну зачем ножом в спину тыкать?
Цитировать

А так, apt-get install gtick :-)

На шелле надо написать типа
./metr -d 16 -o triplet 130

Оффлайн Armen Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 6845
  • Репутация: +466/-72
  • Или Армен
    • http://guitar.armenm.com
Мой Power Metronome
« Ответ #8 : Октября 06, 2005, 12:35:26 »
Цитата: hell
Armen: расскажи идею, я раскритикую ;-)


Если опираться на таймер, тогда ты прав, более высокоприоритетные треды могут выпихивать твой тред и очередь просто не будет обрабатываться. Сейчас именно так и реализовано - не хотел много времени тратить.
Но есть и другой вариант. Аудиопоток генерируется непрерывно и немного наперёд, с тишиной и кликами в соотв. местах. - положения кликов определяются пропорционально размеру секундного блока потока, грубо говоря в CD quality - если надо раз в секунду кликать, семпл проставляется с каждого 176400-го байта.
Потом это дело гонится на карту, тут уже её timе-generator отвечает за то как это вывести. Тут уже точность не нужна, главное чтобы твоему треду время досталось хотя бы раз в секунду. Можно это "наперёд" вообще сделать больше, типа 3 сек или хоть 10. Тогда вообще в принципе тормозить не будет, за исключением случаев с realtime процессами, но это уже искусственная ситуация.
Вряд ли я буду компилировать проект на машине и одновременно заниматься на гитаре под метроном ;) Хотя даже компилятор не realtime, там только линкер глючный и то у 6-го Visual C++, в .net вроде нормально.

Оффлайн ljоsha

  • Эксперт
  • *****
  • Сообщений: 1407
  • Репутация: +6/-13
  • в курсе вопроса
    • ljosha.org
Мой Power Metronome
« Ответ #9 : Октября 06, 2005, 12:37:58 »
Хм, а винда уже может realtime нормально делать?

Оффлайн hell

  • Глобальный Модератор
  • *****
  • Сообщений: 4645
  • Репутация: +462/-136
    • hellamp rocks
Мой Power Metronome
« Ответ #10 : Октября 06, 2005, 12:45:19 »
Цитата: Armen
Если опираться на таймер, тогда ты прав, более высокоприоритетные треды могут выпихивать твой тред и очередь просто не будет обрабатываться. Сейчас именно так и реализовано - не хотел много времени тратить.
Но есть и другой вариант. Аудиопоток генерируется непрерывно и немного наперёд, с тишиной и кликами в соотв. местах. - положения кликов определяются пропорционально размеру секундного блока потока, грубо говоря в CD quality - если надо раз в секунду кликать, семпл проставляется с каждого 176400-го байта.
Потом это дело гонится на карту, тут уже её timе-generator отвечает за то как это вывести. Тут уже точность не нужна, главное чтобы твоему треду время досталось хотя бы раз в секунду. Можно это "наперёд" вообще сделать больше, типа 3 сек или хоть 10. Тогда вообще в принципе тормозить не будет, за исключением случаев с realtime процессами, но это уже искусственная ситуация.
Вряд ли я буду компилировать проект на машине и одновременно заниматься на гитаре под метроном ;) Хотя даже компилятор не realtime, там только линкер глючный и то у 6-го Visual C++, в .net вроде нормально.


То что ты говоришь - всё правильно, но не забудь, буфер этот надо
1) готовить
2) запихивать

При этом винда не гарантирует тебе, что твоя задача получит процессор в эти 10 секунд :-) Потому даже винамп может глючить, хотя он буфферит процесс на n секунд. Так что вопрос только в "качественной" загрузке системы :-)

Хотя, для метронома это всё фигня. Я видел у нас в универе диплом - управление огнями посадочной полосы с контролем их состояния(feedback). Так вот, он был написан на ... Visual Basic :-)) Причем по заказу военных

Оффлайн Бобырев Юрий

  • Ветеран форума
  • ******
  • Сообщений: 3226
  • Репутация: +146/-40
  • Зарегистрированный
    • http://www.scartown.ru
Мой Power Metronome
« Ответ #11 : Октября 06, 2005, 12:57:53 »
Цитата: hell
То что ты говоришь - всё правильно, но не забудь, буфер этот надо
1) готовить
2) запихивать

При этом винда не гарантирует тебе, что твоя задача получит процессор в эти 10 секунд :-) Потому даже винамп может глючить, хотя он буфферит процесс на n секунд. Так что вопрос только в "качественной" загрузке системы :-)

Хотя, для метронома это всё фигня. Я видел у нас в универе диплом - управление огнями посадочной полосы с контролем их состояния(feedback). Так вот, он был написан на ... Visual Basic :-)) Причем по заказу военных


А потом удивляются что СУ в Литву улетел и там упал :)

Оффлайн Ale

  • Опытный
  • ****
  • Сообщений: 562
  • Репутация: +5/-3
  • Кандидат наук
Мой Power Metronome
« Ответ #12 : Октября 06, 2005, 12:58:59 »
Армен ещо хотелось бы менять сам звук клика ну типа либо стук палочек барабанных либо хэт либо ещо какая перкуссия

Оффлайн Бобырев Юрий

  • Ветеран форума
  • ******
  • Сообщений: 3226
  • Репутация: +146/-40
  • Зарегистрированный
    • http://www.scartown.ru
Мой Power Metronome
« Ответ #13 : Октября 06, 2005, 12:59:34 »
Цитата: Armen


Если есть ещё идеи, давайте сюда - даже если сейчас не реализую, этот список хотя бы не потеряется, ничего не забуду и добавлю потом.


Чтобы можно было звук кликов менять. Например на такой клик как в Кубейсе ВСТ32. Ядовитый такой, пробивается сквозь что угодно :)

Оффлайн Armen Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 6845
  • Репутация: +466/-72
  • Или Армен
    • http://guitar.armenm.com
Мой Power Metronome
« Ответ #14 : Октября 06, 2005, 13:04:00 »
Звуки менять - тоже хорошая идея, особенно с барабанными палочками и хетами. Можно сэмплы из DFH выковырять. Сделаю.