{"id":51029235,"url":"https://github.com/wachin/kmid3","last_synced_at":"2026-06-21T22:30:55.756Z","repository":{"id":355149940,"uuid":"1226990658","full_name":"wachin/kmid3","owner":"wachin","description":"KMid 2.4.0 ported to Qt5 / KDE Frameworks 5 — MIDI/Karaoke player for Linux (2026)","archived":false,"fork":false,"pushed_at":"2026-05-02T05:37:58.000Z","size":800,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-02T06:22:25.458Z","etag":null,"topics":["alsa","cmake","cpp","debian","drumstick","karaoke","kde","linux","midi","midi-player","music-player","port","qt5"],"latest_commit_sha":null,"homepage":"https://sourceforge.net/projects/kmid2/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wachin.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-02T04:14:36.000Z","updated_at":"2026-05-02T05:44:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wachin/kmid3","commit_stats":null,"previous_names":["wachin/kmid3"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/wachin/kmid3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wachin%2Fkmid3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wachin%2Fkmid3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wachin%2Fkmid3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wachin%2Fkmid3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wachin","download_url":"https://codeload.github.com/wachin/kmid3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wachin%2Fkmid3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34628453,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["alsa","cmake","cpp","debian","drumstick","karaoke","kde","linux","midi","midi-player","music-player","port","qt5"],"created_at":"2026-06-21T22:30:55.004Z","updated_at":"2026-06-21T22:30:55.748Z","avatar_url":"https://github.com/wachin.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"KMid2 is a MIDI/Karaoke player for KDE. \n\nDeveloped by Antonio Larrosa more than ten years ago, KMid it is a venerable \nclassic, ported to KDE4 and some new platforms.\n\nKMid2 is a rewrite from scratch, with a new architecture consisting in that MIDI\nsequencing is implemented on pluggable backends. The ALSA sequencer backend\nfor Linux, and also the Mac OSX and Windows backends are included here, but it \nshould be possible to write native backends for other platforms in the future. \n\nHere are some major features from KMid that have been implemented in KMid2:\n* Playback to external hardware MIDI devices.\n* Allow to use software synths as well, like Timidity++ and QSynth/FluidSynth.\n* Tempo and volume controls.\n* Added a pitch (transpose) control.\n* Configurable character encodings for lyrics.\n* Channel view, with mute and solo controls and instrument selector.\n* Player Piano view.\n\nSome changes regarding the former KMid are:\n* Removed the deprecated OSS /dev/sequencer interface support. It has been \ndropped from OSSv4, anyway.\n* Avoid using fork/kill for play/pause/stop actions.\n* The new ALSA sequencer implementation doesn't create/destroy the client and\nport instances on each play/pause/stop action. This enables the usage of MIDI\npatch bay applications like aconnect, kaconnect and qjackctl.\n\nTechnical details\n-----------------\n\nThe KMid::Backend is modelled after several Phonon interfaces. There is not a\ndependency on Phonon, only inspiration and C\u0026P. There is a KMid::MIDIObject\nabstract class that resembles more or less a Phonon::MediaObject encapsulating\nthe sequencer functionality, and a KMid::MIDIOutput class that represents a MIDI\noutput port, similar to Phonon::AudioOutput. Main differences are:\n* KMid::MIDIObject time is measured in musical time (ticks) instead of\nmilliseconds. Additions: timeSkew, textEncoding, lyrics and tempo properties,\nand several signals, one for each MIDI event type.\n* KMid::MIDIOutput has pitchShift and midiMap properties. Volume and mute\nproperties take a MIDI channel argument. There are also some real-time MIDI \nevent slots, one for each MIDI event type.\n\nThe ALSA sequencer backend uses a C++/Qt wrapper around the ALSA library\nsequencer interface (Drumstick) that is too young to be found as an external\ndynamic library, so the sources have been included here and will be statically\nlinked to the ALSA backend, unless the shared libraries are found at build time. \nThis is convenient if you are building KMid for yourself, and it is your choice \nto install a shared set of drumstick libraries instead of using the static \nversions. However, if you are packaging KMid for distributions, please check if \nthere are in your distribution any packages of other programs using the same \nlibraries, and if so try to use shared dynamic libraries, if it is possible. \nPrograms using Drumstick at this moment are KMetronome and KMidimon, in addition \nto KMid. The latest Drumstick library sources, documentation and examples can be \nfound here: https://sourceforge.net/projects/drumstick/files/\n\nThe Mac OSX backend uses CoreMIDI, CoreAudio and AudioToolkit frameworks, \nincluding support for the Apple DLS soft-synth. Everything is already included\nin the operating system, ready to make noise out of the box.\n\nThe Windows backend uses the native MIDI streaming from Windows MM API. The soft\nsynth provided by Microsoft doesn't need launch control or parameters, so there\nis no need for a Soft-Synth configuration page, making noise out of the box as\nwell. The library drumstick-file is used to parse MIDI/karaoke files.\n\nHow To Build KMid2\n------------------\n\ncd \u003cproject_name_path\u003e\nmkdir build\ncd build\ncmake .. -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`\nmake\nmake install or su -c 'make install'\n\nto uninstall the project:\nmake uninstall or su -c 'make uninstall'\n\nNote: you can use another build path. Then cd in your build dir and:\nexport KDE_SRC=path_to_your_src\ncmake $KDE_SRC -DCMAKE_INSTALL_PREFIX=$KDEDIR -DCMAKE_BUILD_TYPE=debugfull\n\nComments?\n---------\n\nPlease send comments, questions, rants, suggestions, complaints \nto: Pedro Lopez-Cabanillas \u003cplcl@users.sf.net\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwachin%2Fkmid3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwachin%2Fkmid3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwachin%2Fkmid3/lists"}