{"id":17190282,"url":"https://github.com/sezero/kmidi","last_synced_at":"2025-07-30T05:05:05.541Z","repository":{"id":73376032,"uuid":"361726177","full_name":"sezero/kmidi","owner":"sezero","description":"the old KDE kmidi application","archived":false,"fork":false,"pushed_at":"2021-04-26T11:34:08.000Z","size":2606,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T05:42:56.187Z","etag":null,"topics":["gravis","gus","gus-patch","midi","soundfont","synthesizer","timidity"],"latest_commit_sha":null,"homepage":"svn://svn.kde.org/home/kde/trunk/kdemultimedia/kmidi","language":"C++","has_issues":false,"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/sezero.png","metadata":{"files":{"readme":"README","changelog":"CHANGES.tim","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}},"created_at":"2021-04-26T11:32:58.000Z","updated_at":"2021-12-14T00:55:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"da132aa6-65a1-495d-abd2-fd6b530c8d6c","html_url":"https://github.com/sezero/kmidi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sezero/kmidi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sezero%2Fkmidi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sezero%2Fkmidi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sezero%2Fkmidi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sezero%2Fkmidi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sezero","download_url":"https://codeload.github.com/sezero/kmidi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sezero%2Fkmidi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267814625,"owners_count":24148328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"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":["gravis","gus","gus-patch","midi","soundfont","synthesizer","timidity"],"created_at":"2024-10-15T01:13:52.101Z","updated_at":"2025-07-30T05:05:05.500Z","avatar_url":"https://github.com/sezero.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nIn order to use KMidi you need so called (sound) patch files (see below).  \nThere are several user interfaces provided for, including a \"dumb\" command \nline version and a KDE version, done by Bernd Wuebben (see below).  The \npatches can be GUS, i.e. Gravis/Forte, type files, Gravis InterWave \nsound fonts, or AWE sbk/sf2 sound fonts.  The InterWave font support was \ndone by Greg Lee  and the AWE support was done by Takashi Iwai.\n\nPLEASE READE THE SECTION TITLED \"NOTES\" FURTHER BELOW!\nthanks,\nBernd\n\n\nKMidi 1.3-alpha\n=========\n\nNew:\n     o  This version is for KDE 2.0 only.\n     o  If you have a previous version, remove $KDEDIR/share/apps/kmidi/config/\n\tbefore installing this version, since new versions of the files here\n\twon't be installed if you have old versions.  An old timidity.cfg\n\tusing your own patchset, however, should be compatible, unless you've\n\tused \"order\"/\"exclude\"/\"font\" statements for sf2 fonts (I removed\n\tsupport for these).\n     o  Click on the KMidi logo or drag the bottom of the panel down to\n\tsee some new gizmos.\n     o  The midi modulation wheel is now implemented, and also portamento.\n     o  With the \"eff\" button down, you'll hear midi phaser, celeste, and\n\tbetter chorus and reverb effects (thanks to Nicolas Witczak).\n     o  Note the panel's channel display may be poorly synchronized with the\n\tsound on systems not using the OSS (Hannu Savolainen) driver for\n\t/dev/dsp, since linux_a.c uses an OSS specific call to find out\n\thow much has actually been played -- constructive suggestions\n\tare welcome.\n\nGreg Lee\nlee@hawaii.edu\n\n\nKMidi 0.4\n=========\n\nNew:\n\n     o timidity is back (use Makefile.tim; see \"further notes\" below)\n     o support for GUS InterWave fonts (.fff/.dat files)\n     o multiple AWE soundfonts (.sf2 files)\n     o support for stereo or linked instruments in sound fonts\n     o strict checking of patch declarations for soundfonts\n       (no need to use \"order\" or \"font\" statements in cfg files)\n     o sf2cfg utility constructs cfg files for AWE soundfonts\n     o use patches in bank 8, etc. (bugfix)\n     o buffered output to /dev/dsp0 (Linux/FreeBSD) or /dev/audio (Sun)\n     o select patch set from command line with \"-#\u003cn\u003e\"\n     o use experimental cutoff filters, AWE fonts only (\"-q\" disables this)\n     o lyrics displayed in time (timidity \"dumb\" interface only)\n     o primitive chorus depth and reverberation\n     o vibrato works better for AWE soundfonts\n     o set polyphony in cfg file\n\nGreg Lee\nlee@hawaii.edu\n\nKMidi 0.3\n=========\n\nNew: Support for the following platforms:\n\n     o Linux\n     o FreeBSD\n     o DEC OSF/1\n     o HP_UX\n     o SUN \n     o SUN SOLARIS\n\nand of course bug fixes ;-)\n\nBernd\nwuebben@kde.org\n\n     \nKMidi 0.2\n\nThis is the first public release of KMidi a midi to\nwav player/converter. \n\nIf you have  already given up on midi on Linux/Unix try this! Without\nexpensive hard-ware such as a Gravis-Ultra sound or Sound-Blaster AWE 64\nyou will get fantastic sound comparable to what you get with the above\nmentioned hard-ware. FOR FREE!\n\nThe catch:\n\na) KMidi will use your CPU time: anywhere from 10 to 90% on my Pentium 120\n   at 32000 Hz. Typically about 30%, but it depends on the particular midi \n   played. If you have a weaker machine, simply use the commandline options to\n   reduce the sample frequency. You should be able to get very decent\n   sound even on a 486 without straining your CPU.\n\nb) You need the sound patches. You can get a full set of general midi\n   sound patches  at any  ultra sound archive. Typical storage requirements\n   around 10 megs. \n\nBelive me for the sound you are going to get this is a small price to pay!\n\nKMidi uses Tuukka Toivonen's  timidity 0.2i engine \nCopyright (C) 1995 Tuukka Toivonen \u003ctoivonen@clinet.fi\u003e  \ntogether with Takashi Iwai latest  sound font patches \n( This means you can also use sound fonts with KMidi)\n\nWhere to get patches:\n(see also the html documentation)\n\nCheck out the timidiy home-page (see below) which has a number of links and \nrecommendations. Patches can also be found packaged as deb or rpm modules in \nthe Redhat and Debian  contribution directories. \n\nTimidityPage:\nhttp://www.clinet.fi/~toivonen/timidity/\n\nTakahis's Page:\nhttp://bahamut.mm.t.u-tokyo.ac.jp/~iwai/midi.html#TiMidity\n\nI realize this is a rough release, and I am sure that if you try\nhard enough you will be able to get KMidi to crash, but I think\nKMidi is already more than usable and will hopefull give you hours\nof fun. Rememeber Midi files are typically around 50k or leas and\nare therefore so easily downloaded that you will never run out of great midi's\nto play.\n\nTODO:\n\no Make the myriad of command line options available through a configuration\n  dialog.\no Elaborate visual display of notes played ( This one is going to be FUN!!!)\n\n\nBest Regard,\nBernd\nwuebben@kde.org\nwuebben@math.cornell.edu\n\n\n---------------------------------------------------------------\nNOTES:\n---------------------------------------------------------------\n\nCompiling:\n\n\tIf you change cfg.l and you compile binaries in a directory\n\tdifferent from the source directory, put a new copy of the\n\tcfg.cpp generated by flex into the source directory.\n\n\n----------------------------------------------------------------\n\nObtaining patch files:\n\n\tSee kmidi's configuration dialog for where to get some AWE\n\t\"soundfonts\".\n\n-------------------------------------------------------------------\n\nUsing patch files requires setting up .cfg files:\n\n     A. See the other docs for GUS .pat files -- there are example .cfg files.\n     B. The utility program sf2cfg will generate .cfg files for AWE\n\tsoundfonts.  Usually no hand-editing will be necessary.\n\nThe banks/drumsets and names of patches must be given, since those that are not\ndeclared will not be loaded from files (GUS patch files or sound fonts) even\nthough the patches are available.  This way it's easy to exclude certain\npatches from a sound font so as to load better ones from a subseqently loaded\nfont.  Just don't declare them before you've asked to load the font.  It is,\nthus, unnecessary to use the \"font\" and \"order\" statements implemented by\nTakashi Iwai and described in README.sf.  (It is also not possible, since\nI've removed support for \"font\" and \"order\".)\n\nWhen the same patch of the same bank or drumset is declared more than once,\nonly the first declaration counts.  So put your best fonts first.\n\nThere is a utility sf2cfg to construct a cfg file for a sbk/sf2 sound font,\nwhich spits out all the patches that are present in the font.  Also, I've\nincluded sample cfg files for chaos8m.sf2 and chaos12m.sf2.\n\nIf you have several patch sets and you've set up timidity.cfg appropriately,\nyou can select among them with the command line switch \"-#\u003cn\u003e\".  If a \"source\"\nstatement in a cfg file is preceded, e.g., by a line \"if 2\", then the\n\"source\" statement will be skipped over unless \"-#2\" was given on the\ncommand line.  A line \"else\" will cause the next \"source\" statement to\nbe skipped if any non-zero n was requested by \"-#\u003cn\u003e\".\n\nInstead of using the command line \"-p\" to raise or lower the number of\nsimultaneously playing notes, you can do in a cfg file, e.g., put: \"voices 48\"\nin timidity.cfg.\n\n----------------------------------------------\n\n\t\t\t\t\t\tGreg Lee, lee@hawaii.edu\n\t\t\t\t\t\tFebruary, 2000\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsezero%2Fkmidi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsezero%2Fkmidi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsezero%2Fkmidi/lists"}