Перейти к содержимому


Фотография

OpenPiano

opencomputers

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 38

#1 Оффлайн   kotik_prikol

kotik_prikol
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 07 Февраль 2017 - 14:55

Системные требования:

  • Компьютер с монитором и видеокарта 3-ого уровня
  • Интернет карта чтобы скачать с pastebin

Скачать:
pastebin run Aqt5rgP9 Install  
 

Запуск:
piano

 

95e58eb3c14c.png

Прикрепленные изображения

  • 2017-02-06_22.17.04.png

Сообщение отредактировал kotik_prikol: 08 Февраль 2017 - 16:09

  • Totoro и Laine_prikol это нравится

#2 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 07 Февраль 2017 - 14:59

Чтобы не качать по отдельности библиотеку forms и саму программу, можно зафигачить это в репозиторий.

Тогда надо будет качать отдельно клиент, а потом с него ставить командой hpm install openpiano:D


  • Kartze это нравится

#3 Онлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 882
  • Уровень сигнала: 6,35%
  • В игре: 48 час. 1 мин.

Награды

                          

Отправлено 07 Февраль 2017 - 15:24

@kotik_prikol, Неправильно ты, Дядя Федор, пианино настраиваешь. Надо его по логарифмической шкале настраивать, так приятнее.

#4 Оффлайн   kotik_prikol

kotik_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 07 Февраль 2017 - 15:45

А что это даст?

 

@kotik_prikol, Неправильно ты, Дядя Федор, пианино настраиваешь. Надо его по логарифмической шкале настраивать, так приятнее.А



#5 Оффлайн   kotik_prikol

kotik_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 07 Февраль 2017 - 15:47

Я придумал можно просто написать установшик.

Чтобы не качать по отдельности библиотеку forms и саму программу, можно зафигачить это в репозиторий.

Тогда надо будет качать отдельно клиент, а потом с него ставить командой hpm install openpiano:D



#6 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 07 Февраль 2017 - 15:48

Я придумал можно просто написать установшик.

 

Да, тоже можно.



#7 Оффлайн   kotik_prikol

kotik_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 07 Февраль 2017 - 15:54

Да, тоже можно.

local internet = require("internet")
os.execute("pastebin get JK7hfdmb OpenPiano")
os.execute("pastebin get iKzRve2g lib/forms.lua")
--Вроде так 

Сообщение отредактировал kotik_prikol: 07 Февраль 2017 - 16:04


#8 Онлайн   Fingercomp

Fingercomp
  • Гуру
  • Сообщений: 2 003
  • Уровень сигнала: 169,06%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 07 Февраль 2017 - 16:01

А почему нельзя просто залить в репозиторий и не париться?



#9 Оффлайн   kotik_prikol

kotik_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 07 Февраль 2017 - 16:02

А почему нельзя просто залить в репозиторий и не париться?

Лень.



#10 Онлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 882
  • Уровень сигнала: 6,35%
  • В игре: 48 час. 1 мин.

Награды

                          

Отправлено 07 Февраль 2017 - 16:06

А что это даст?

Это позволит тебе оправдать название «Пианино», т. к. без настройки в соответствии с хроматическим звукорядом даже настоящее пианино превращается в ящик со струнами, клавишами и молоточками.
  • Alex и Kartze это нравится

#11 Оффлайн   kotik_prikol

kotik_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 07 Февраль 2017 - 16:20

Это позволит тебе оправдать название «Пианино», т. к. без настройки в соответствии с хроматическим звукорядом даже настоящее пианино превращается в ящик со струнами, клавишами и молоточками.


Как это сделать?Если не секрет.

#12 Онлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 882
  • Уровень сигнала: 6,35%
  • В игре: 48 час. 1 мин.

Награды

                          

Отправлено 07 Февраль 2017 - 16:29

Как это сделать?Если не секрет.

Конечно же, не секрет.
Частоты настройки фортепиано

#13 Оффлайн   Laine_prikol

Laine_prikol
  • Пользователи
  • Сообщений: 133
  • Уровень сигнала: 0,54%
  • В игре: 4 час. 6 мин.

Награды

           

Отправлено 07 Февраль 2017 - 17:37

local internet = require("internet")
os.execute("pastebin get JK7hfdmb OpenPiano")
os.execute("pastebin get iKzRve2g lib/forms.lua")
--Вроде так


Вообще-то вместо local internet = require internet надо local os = require("os")

#14 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 07 Февраль 2017 - 17:38

Вообще-то вместо local internet = require internet надо local os = require("os")

 

Точнее ничего не надо.


  • Kartze и 1kovand1 это нравится

#15 Оффлайн   kotik_prikol

kotik_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 07 Февраль 2017 - 18:24

Конечно же, не секрет.Частоты настройки фортепиано


Правильно я понял что мне надо поменять гц

#16 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 07 Февраль 2017 - 18:53

Правильно я понял что мне надо поменять гц

Там экспоненциальная зависимость частоты от ноты, вроде.

Можно было бы обойтись одной процедурой ButtononClick для всех клавиш.



#17 Оффлайн   kotik_prikol

kotik_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 07 Февраль 2017 - 19:06

Там экспоненциальная зависимость частоты от ноты, вроде.

Можно было бы обойтись одной процедурой ButtononClick для всех клавиш.

И как это сделать,если только начал писать программы на lua



#18 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 07 Февраль 2017 - 19:24

И как это сделать,если только начал писать программы на lua

function ButtononClick(self, user)
  computer.beep(self.freq, 0.5)
end

Button1=Form1:addButton(41,7,"До",ButtononClick)
Button1.H=3
Button1.W=13
Button1.freq=264

Button2=Form1:addButton(41,11,"Ре",ButtononClick)
Button2.H=3
Button2.W=13
Button2.freq=297
--и т.д.


#19 Онлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 882
  • Уровень сигнала: 6,35%
  • В игре: 48 час. 1 мин.

Награды

                          

Отправлено 07 Февраль 2017 - 19:36

Правильно я понял что мне надо поменять гц

Именно так.

Там экспоненциальная зависимость частоты от ноты, вроде.

Экспоненциальная. В принципе, всё можно вычислить. Частота каждого полутона увеличивается в корень двенадцатой степени из двух. Учитывая, что каждая октава разделена на 12 полутонов, то полутона любой октавы имеют частоту в два раза большую полутонов предыдущей октавы. Ориентиром служит нота Ля первой октавы, равная 440 Гц. Частоты любых других полутонов легко вычисляются из нее.

#20 Оффлайн   kotik_prikol

kotik_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 07 Февраль 2017 - 19:52

Именно так.
Экспоненциальная. В принципе, всё можно вычислить. Частота каждого полутона увеличивается в корень двенадцатой степени из двух. Учитывая, что каждая октава разделена на 12 полутонов, то полутона любой октавы имеют частоту в два раза большую полутонов предыдущей октавы. Ориентиром служит нота Ля первой октавы, равная 440 Гц. Частоты любых других полутонов легко вычисляются из нее.

 

Спойлер
Так?


#21 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 427
  • Уровень сигнала: 0,14%
  • В игре: 1 час. 3 мин.
  • ГородCity17

Награды

                             

Отправлено 07 Февраль 2017 - 20:21

Что вы тут за велосипеды придумываете? Давно уже есть готовый алгоритм для поиска частот нот разных тональностей в стандартной библиотеке note.

Неужели вы не знали?

 

P.S. Прога простенькая. Но раз проги пишут редко в последнее время, то не стану осуждать вручение медали за такой код.

 

P.P.S. Не понимаю, зачем для такой простенькой проги такие требования делать. Я даже для своей игры в змейку сделал такие требования, что в неё можно играть хоть на экранах первого уровня на самых слабых компах. А тут, всего лишь прога для который не нужна красивая графика, а требования сразу экран 3 уровня с видеокартой. Зачем? Я думаю хорошая программа должна быть гибкой и универсальной, подходить всем и нубам и папкам. А ты лишний раз для простой программы завышаешь требования.


Сообщение отредактировал qwertyMAN: 07 Февраль 2017 - 20:27


#22 Онлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 882
  • Уровень сигнала: 6,35%
  • В игре: 48 час. 1 мин.

Награды

                          

Отправлено 07 Февраль 2017 - 20:44

Так?

Не так. На пианино две клавиши Ля никак не могут находиться рядом. Или я не понял вопроса.

Что вы тут за велосипеды придумываете? Давно уже есть готовый алгоритм для поиска частот нот разных тональностей в стандартной библиотеке note. Неужели вы не знали?

Велосипед – понятие, зависящее от контекста. Нет смысла занимать оперативную память подключенной библиотекой, когда частота ноты вычисляется по формуле 440*math.pow(2,offset/12), где offset – смещение полутона относительно ноты Ля первой октавы, положительное – в сторону повышения и отрицательное – с сторону понижения тона

#23 Оффлайн   Laine_prikol

Laine_prikol
  • Пользователи
  • Сообщений: 133
  • Уровень сигнала: 0,54%
  • В игре: 4 час. 6 мин.

Награды

           

Отправлено 07 Февраль 2017 - 20:50

Не так. На пианино две клавиши Ля никак не могут находиться рядом. Или я не понял вопроса.

Он наверное даже в гугле не смог написать "Клавиатура пианино". Он говорил что типо ему лень... и всё такое...

#24 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 427
  • Уровень сигнала: 0,14%
  • В игре: 1 час. 3 мин.
  • ГородCity17

Награды

                             

Отправлено 07 Февраль 2017 - 23:45

Не так. На пианино две клавиши Ля никак не могут находиться рядом. Или я не понял вопроса.Велосипед – понятие, зависящее от контекста. Нет смысла занимать оперативную память подключенной библиотекой, когда частота ноты вычисляется по формуле 440*math.pow(2,offset/12), где offset – смещение полутона относительно ноты Ля первой октавы, положительное – в сторону повышения и отрицательное – с сторону понижения тона


Во первых, это конечно дело каждого, писать велосипед или нет, но оправдываться заниманием этой мизерной памяти на библиотеку как-то не камильфо. К тому же в библиотеки и другие полезные функции есть.
Во вторых насчёт клавишь клавиатуры. Скорее всего их нет, потому что он тестирует прогу. Пока что он располагает кнопки вертикально. А на скрине где нота другой тональности, она смещена по горизонтали. И что тут плохого? Будет удобненькая таблица, как я понял по скринам. 7 в высоту и не знаю сколько в ширину.
По этому поводу наезды необоснованы. Кнопки в отличии от клавиш можно располагать в любом порядке.

#25 Оффлайн   kotik_prikol

kotik_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 08 Февраль 2017 - 08:29

Не так. На пианино две клавиши Ля никак не могут находиться рядом. Или я не понял вопроса.

Я нажимаю на кнопки он просто пердит код:http://pastebin.com/iCNA47Ww

Чёрные кнопки не работают https://puu.sh/tTFz1/6d35bd8e1e.png


Сообщение отредактировал Alex: 08 Февраль 2017 - 14:20

  • Laine_prikol это нравится

#26 Онлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 882
  • Уровень сигнала: 6,35%
  • В игре: 48 час. 1 мин.

Награды

                          

Отправлено 08 Февраль 2017 - 09:05

Я нажимаю на кнопки он просто пердит код:http://pastebin.com/iCNA47Ww

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

#27 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 427
  • Уровень сигнала: 0,14%
  • В игре: 1 час. 3 мин.
  • ГородCity17

Награды

                             

Отправлено 08 Февраль 2017 - 09:17

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


Ну как бы в OpenComputers ограничения по диапазону частот. Он и не должен их играть.

#28 Онлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 882
  • Уровень сигнала: 6,35%
  • В игре: 48 час. 1 мин.

Награды

                          

Отправлено 08 Февраль 2017 - 09:43

Ну как бы в OpenComputers ограничения по диапазону частот. Он и не должен их играть.

Ограничения есть, но именно эти частоты воспроизводить должен:

Supports frequencies from 20 to 2000Hz, with a duration of up to 5 seconds.

Вопрос лишь в том, насколько адекватным будет воспроизведение.

#29 Оффлайн   Laine_prikol

Laine_prikol
  • Пользователи
  • Сообщений: 133
  • Уровень сигнала: 0,54%
  • В игре: 4 час. 6 мин.

Награды

           

Отправлено 08 Февраль 2017 - 09:50

Во-во уже нормальный дизайн, хоть уже на клавиши пианино похожи.



#30 Оффлайн   kotik_prikol

kotik_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 12
  • Уровень сигнала: 0,28%
  • В игре: 2 час. 5 мин.

Отправлено 08 Февраль 2017 - 16:13

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

Насяника всё сделали







Темы с аналогичным тегами opencomputers

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных