Музыка из принтера?

Возвращаясь к временам "поющих дисков", я задаюсь вопросом, если кто-то написал музыку, которая будет исполняться на 3D-принтере. Большинство из нас заметили мимоходом, что сервомоторы для привода X и Y генерируют разный шаг в зависимости от скорости движения. С некоторой осторожностью и экспериментированием можно было написать g-код, чтобы произвести не только тон, но даже 2-тональный аккорд. Итак, это уже сделано? Хочет ли кто-нибудь этого? (Обратите внимание, что нет необходимости одновременно производить печать, но это было бы еще более классическим).

, 👍6

Обсуждение

Продолжение: реальный объект, который является музыкальным во время печати?, @Jeroen3


2 ответа


Лучший ответ:

11

Да, это делалось и раньше, смотрите здесь и здесь.

Файл README первого репозитория, на который дана ссылка выше, содержит подробное объяснение основной идеи/используемых расчетов. Небольшой отрывок:

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

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


,

7

Я действительно сделал это на своем Malyan M150.

После совсем не таких больших экспериментов оказалось, что частота производимых тонов линейно изменяется со скоростью работы двигателей. Из-за природы того, как люди воспринимают музыку, фактические частоты вообще не имеют значения, просто относительная разница в частоте между тонами. Это означает, что на самом деле очень легко позволить 3D-принтеру воспроизводить мелодию, вам просто нужно убедиться, что, когда следующий тон должен иметь частоту, которая, например, на 20% выше, чем предыдущий, двигатель должен двигаться на 20% быстрее, не нужно на самом деле измерять, с какой скоростью принтер выдает какие тоны.

Одной из главных проблем оказалась максимальная скорость двигателей, которая была недостаточно высокой для некоторых высоких нот, но эту проблему можно было решить, умножив все скорости на число меньше 1, тем самым снизив требуемые скорости при сохранении исходной мелодии. Воспроизведение двух тонов одновременно оказалось слишком сложным для моих не очень хороших навыков программирования, и в то же время не стоило усилий, потому что каким-то образом между двигателями была довольно большая разница в громкости.

В конце концов, я создал сценарий MATLAB, который преобразует MIDI-файлы в G-код со следующим результатом: 3D-принтер воспроизводит песню попкорна

,

У вас могло бы быть 3 инструмента одновременно или 3 разных уровня громкости, используя 3 двигателя, @FarO