{"id":16380123,"url":"https://github.com/cavallium/midi23d","last_synced_at":"2026-02-22T21:37:48.869Z","repository":{"id":113596701,"uuid":"89143304","full_name":"cavallium/Midi23D","owner":"cavallium","description":"Midi23D is a tool made in Java that converts every note of a .midi music into GCODE instructions to send directly to a 3D printer.","archived":false,"fork":false,"pushed_at":"2024-05-31T18:51:29.000Z","size":992,"stargazers_count":16,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-31T00:31:10.222Z","etag":null,"topics":["3d-printing","java","midi","midi-parser"],"latest_commit_sha":null,"homepage":"https://cavallium.it/Midi23D","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cavallium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-04-23T13:19:31.000Z","updated_at":"2024-10-12T16:33:19.000Z","dependencies_parsed_at":"2024-05-31T20:22:12.177Z","dependency_job_id":null,"html_url":"https://github.com/cavallium/Midi23D","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/cavallium/Midi23D","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cavallium%2FMidi23D","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cavallium%2FMidi23D/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cavallium%2FMidi23D/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cavallium%2FMidi23D/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cavallium","download_url":"https://codeload.github.com/cavallium/Midi23D/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cavallium%2FMidi23D/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29728497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T20:09:16.275Z","status":"ssl_error","status_checked_at":"2026-02-22T20:09:13.750Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-printing","java","midi","midi-parser"],"created_at":"2024-10-11T03:50:29.924Z","updated_at":"2026-02-22T21:37:48.841Z","avatar_url":"https://github.com/cavallium.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Midi23D\n**Midi23D** is a tool made in Java that converts every note of a .midi music into GCODE instructions to send directly to a 3D printer.\n\n![GUI](https://cavallium.it/assets/midi23d/midi-gui.png)\n\n# How it works?\nEvery 3D printer has 3 or more particular motors, called *stepper motors*. Despite of the regular DC motors their angular speed and rotation be controlled very precisely.\n\nSending an impulse to that motors, in addition to result in a rotation, it will produce a sound, that it can be modulated by changing it.\n\nWith the GCODE you can tell to the 3D printer extruder to go in a position with a determined speed.\n\nSetting the right speed for each motor by sending to the printer only the position and the total speed seems difficult, but it's quite easy.\nYou must use this formula: https://cavallium.it/assets/midi23d/delta.svg\n\nIn this way you can control simultaneously one note for each motor.\n\n# Usage\nFirst of all, download ***Midi23D*** ([***Cross-platform .jar file***](https://cavallium.it/assets/midi23d/Midi23D.jar))\n\nRun the program by executing this code into your terminal:\n**java -jar Midi23D.jar \u003cinput-file.mid\u003e \u003coutput-file.gcode\u003e \u003cspeed-multiplier\u003e \u003ctone-multiplier\u003e \u003cmotor-test\u003e**\n(Motor-test is a boolean (true/false) parameter that if it's true it plays the same notes on all the motors. It helps when you try to accord each motor speed).\n\nInsert the parameters that asks to you.\n\nDrag and drop the generated file into Repetier Host or your program that controls your printer.\n\nEnjoy\n\n# [Download samples and MIDIs](https://cavallium.it/Midi23D)\n\n# Videos\n[![Video](http://img.youtube.com/vi/4rcnu8j1Xqk/0.jpg)](https://www.youtube.com/embed/4rcnu8j1Xqk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcavallium%2Fmidi23d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcavallium%2Fmidi23d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcavallium%2Fmidi23d/lists"}