{"id":20047248,"url":"https://github.com/wojciech-graj/doom-audio","last_synced_at":"2025-09-20T10:33:05.812Z","repository":{"id":221898295,"uuid":"755687402","full_name":"wojciech-graj/doom-audio","owner":"wojciech-graj","description":"Doom playable over an audio connection","archived":false,"fork":false,"pushed_at":"2024-02-12T09:44:01.000Z","size":4508,"stargazers_count":36,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-13T11:40:21.515Z","etag":null,"topics":["audio","doom","source-port","spectrogram"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wojciech-graj.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2024-02-10T20:17:31.000Z","updated_at":"2024-09-25T05:35:10.000Z","dependencies_parsed_at":"2024-11-13T11:45:53.631Z","dependency_job_id":null,"html_url":"https://github.com/wojciech-graj/doom-audio","commit_stats":null,"previous_names":["wojciech-graj/doom-audio"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wojciech-graj%2Fdoom-audio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wojciech-graj%2Fdoom-audio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wojciech-graj%2Fdoom-audio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wojciech-graj%2Fdoom-audio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wojciech-graj","download_url":"https://codeload.github.com/wojciech-graj/doom-audio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233658503,"owners_count":18709813,"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","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","doom","source-port","spectrogram"],"created_at":"2024-11-13T11:34:53.735Z","updated_at":"2025-09-20T10:33:05.332Z","avatar_url":"https://github.com/wojciech-graj.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DOOM-audio\n\n**DOOM playable over an audio connection!**\n\nDOOM-audio outputs its video as audio for viewing as a spectrogram, and takes audio input. Check it out in action [here](https://www.youtube.com/watch?v=wv8YSr19vFY).\n\n![SCREENSHOT](screenshots/title.png)\n\nSource-port of [doomgeneric](https://github.com/ozkl/doomgeneric).\n\nYou will need a WAD file (game data). If you don't own the game, the shareware version is freely available.\n\n## Requirements\n\nYou will need PortAudio development libraries, named `portaudio19-dev` in Debian repositories.\n\n## Building\n\nCreates ```doom_audio/doom_audio```\n```\ncd src\nmake\n```\n\n## Playing\n\n### Display\n\nYou will need software capable of generating a live spectrogram to view the game's output. The best software for this is [ocenaudio](https://www.ocenaudio.com/en/) with the following configuration:\n\n```\nRecording:\n- Sample Rate: 44100 Hz\n- Channels: Mono\n- Resolution: 32 bits\nSound preferences:\n- Buffer Size: 64 samples\nSpectrogram preferences:\n- Number of Bins: 512\n- Window Size: 100%\n- Dynamic Range: 130dB\n- Normalize\n```\n\n### Input\n\nFor your convenience, a python script `src/controller.py` exists that emits sine waves with the appropriate frequencies based on the keys being pressed. You will need to provide this script's audio output to your default audio input. The controls are based on the \"Default controls\" found [here](https://doom.fandom.com/wiki/Controls).\n\n## Credits\n\nA huge thank you goes out to:\n\n- Takuya OOURA for creating the [General Purpose FFT Package](https://www.kurims.kyoto-u.ac.jp/~ooura/fft.html)\n- [ozkl](https://github.com/ozkl) for creating [doomgeneric](https://github.com/ozkl/doomgeneric).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwojciech-graj%2Fdoom-audio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwojciech-graj%2Fdoom-audio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwojciech-graj%2Fdoom-audio/lists"}