{"id":21618695,"url":"https://github.com/detomon/blipkit","last_synced_at":"2025-07-30T17:37:20.720Z","repository":{"id":9235584,"uuid":"11053920","full_name":"detomon/BlipKit","owner":"detomon","description":"C library for creating the beautiful sound of old sound chips","archived":false,"fork":false,"pushed_at":"2025-05-07T16:05:20.000Z","size":1321,"stargazers_count":38,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-31T11:35:22.457Z","etag":null,"topics":["audio","c","chiptune","library","music","sdl","sound","sound-chips","tremolo","waveform","waveforms"],"latest_commit_sha":null,"homepage":"https://blipkit.audio","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/detomon.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"LICENSE","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":"2013-06-29T14:43:13.000Z","updated_at":"2025-05-10T10:40:44.000Z","dependencies_parsed_at":"2024-05-11T19:30:00.285Z","dependency_job_id":"849a33a2-4c73-46a0-b70a-a1af1a325d70","html_url":"https://github.com/detomon/BlipKit","commit_stats":null,"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"purl":"pkg:github/detomon/BlipKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/detomon%2FBlipKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/detomon%2FBlipKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/detomon%2FBlipKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/detomon%2FBlipKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/detomon","download_url":"https://codeload.github.com/detomon/BlipKit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/detomon%2FBlipKit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267912059,"owners_count":24164473,"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":["audio","c","chiptune","library","music","sdl","sound","sound-chips","tremolo","waveform","waveforms"],"created_at":"2024-11-24T23:06:39.775Z","updated_at":"2025-07-30T17:37:20.701Z","avatar_url":"https://github.com/detomon.png","language":"C","readme":"BlipKit\n=======\n\n[![Build Status](https://github.com/detomon/BlipKit/actions/workflows/c.yml/badge.svg?branch=master)](https://github.com/detomon/BlipKit/actions/workflows/c.yml)\n\nBlipKit is a C library for creating the beautiful sound of old sound chips.\n\n- Generate waveforms: square, triangle, noise, sawtooth, sine and custom waveforms\n- Use an unlimited number of individual tracks\n- Use stereo output or up to 8 channels\n- Define instruments to create envelopes and other interesting effects\n- Use effects: portamento, tremolo, vibrato and some more\n- Load multi-channel samples and play them at different pitches\n\n📖 Manual: \u003chttp://blipkit.audio\u003e\n\n🎹 Also consider to check out the [bliplay](https://github.com/detomon/bliplay) project\n\nBasic Example\n-------------\n\nThis code demonstrates the basic steps to generate audio data of a square wave in the note A with enabled tremolo effect:\n\n```c\n// The context object contains the audio buffers.\nBKContext ctx;\n\n// The track object generates the waveform.\nBKTrack track;\n\n// Initialize context with 2 channels (stereo).\n// and a sample rate of 44100 Hz.\nBKContextInit(\u0026ctx, 2, 44100);\n\n// Initialize track with square wave.\n// By default, the square wave has a duty cycle of 4 (12.5%).\nBKTrackInit(\u0026track, BK_SQUARE);\n\n// Set mix and note volume.\nBKSetAttr(\u0026track, BK_MASTER_VOLUME, 0.15 * BK_MAX_VOLUME);\nBKSetAttr(\u0026track, BK_VOLUME, 1.0 * BK_MAX_VOLUME);\n\n// Set note A in octave 3.\nBKSetAttr(\u0026track, BK_NOTE, BK_A_3 * BK_FINT20_UNIT);\n\n// Enable tremolo effect.\nBKInt tremolo[2] = { 20, 0.66 * BK_MAX_VOLUME };\nBKTrackSetEffect(\u0026track, BK_EFFECT_TREMOLO, tremolo, sizeof(tremolo));\n\n// Attach track to context.\nBKTrackAttach(\u0026track, \u0026ctx);\n\n// Define buffer to write audio data to.\n// As there are 2 channels used, the buffer must be\n// twice the size than number of frames are requested.\nBKFrame frames[512 * 2];\n\n// Generate 512 frames, e.g., as they would be requested by an audio output function (SDL).\n// Subsequent calls to this function generate the next requested number of frames.\nBKContextGenerate(\u0026ctx, frames, 512);\n\n// The channels are interlaced into the buffer in the form: LRLR...\n// Which means that the first frame of the left channel is at frames[0],\n// the first frame of the right channel at frames[1] and so on...\n```\n\nBuilding the Library\n--------------------\n\nFirst execute `autogen.sh` in the base directory to generate the build system:\n\n```sh\nsh ./autogen.sh\n```\n\nNext execute `configure` in the base directory:\n\n```sh\n./configure\n```\n\nUse the `--without-sdl` option if you don't want to link against SDL.\n\n```sh\n./configure --without-sdl\n```\n\nThen execute `make` to build `libblipkit.a` in the `src` directory:\n\n```sh\nmake\n```\n\nOptionally, you may want to execute to install the library and headers on your system:\n\n```sh\nsudo make install\n```\n\nBuilding and Running Examples\n-----------------------------\n\nAll examples use SDL (\u003chttp://www.libsdl.org\u003e) to output sound, so you have to install it first. Execute `make examplename` to build an example in the `examples` directory.\n\n```sh\n# in `examples`\n\nmake tone\nmake divider\nmake stereo\nmake scratch\nmake waveform\nmake envelope\n```\n\nFinally, run examples like this:\n\n```sh\n# in `examples`\n\n./tone\n```\n\nLicense\n-------\n\nThis library is distributed under the MIT license. See `LICENSE`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdetomon%2Fblipkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdetomon%2Fblipkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdetomon%2Fblipkit/lists"}