{"id":16679649,"url":"https://github.com/mrk21/wav2midi","last_synced_at":"2025-03-21T18:32:20.021Z","repository":{"id":50499282,"uuid":"131415980","full_name":"mrk21/wav2midi","owner":"mrk21","description":"wav2midi is in order to convert sound wave to scale.","archived":false,"fork":false,"pushed_at":"2018-05-11T09:10:23.000Z","size":1744,"stargazers_count":42,"open_issues_count":1,"forks_count":12,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-13T13:36:19.892Z","etag":null,"topics":["cpp","cpp17","wav2midi"],"latest_commit_sha":null,"homepage":"https://github.com/mrk21/wav2midi","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrk21.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}},"created_at":"2018-04-28T14:21:54.000Z","updated_at":"2024-09-20T07:44:26.000Z","dependencies_parsed_at":"2022-09-21T09:21:20.192Z","dependency_job_id":null,"html_url":"https://github.com/mrk21/wav2midi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrk21%2Fwav2midi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrk21%2Fwav2midi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrk21%2Fwav2midi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrk21%2Fwav2midi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrk21","download_url":"https://codeload.github.com/mrk21/wav2midi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221817547,"owners_count":16885560,"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":["cpp","cpp17","wav2midi"],"created_at":"2024-10-12T13:36:40.637Z","updated_at":"2024-10-28T10:35:36.750Z","avatar_url":"https://github.com/mrk21.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wav2midi\n\n[![CircleCI](https://circleci.com/gh/mrk21/wav2midi.svg?style=svg)](https://circleci.com/gh/mrk21/wav2midi)\n\nwav2midi is in order to convert sound wave to scale.\n\n## Dependencies\n\n### Middlewares/Tools\n\n* C++ Compiler (C++17)\n    * AppleClang: `N/A`\n    * Clang: `\u003e= 5.0.0`\n    * GCC: `\u003e= 7.0.0`\n* CMake: `\u003e= 3.10.0`\n* gnuplot\n* ffmpeg\n\n### Development tools\n\n* direnv\n* docker: `\u003e=  17.x.x`\n* docker-compose: `\u003e= 1.20.0`\n* clang-tidy: `\u003e= 5.0.0`\n\n### Libraries\n\n* [Boost (BSL-1.0)](https://www.boost.org/): `\u003e= 1.6.5`\n* [libsndfile (LGPL-2.1)](https://github.com/erikd/libsndfile): `\u003e= 1.0.0`\n* [bandit (MIT)](https://github.com/banditcpp/bandit): `\u003e= 2.0.0`\n\n## Setup\n\n### Install CMake\n\n`CMake` is C/C++ build system generator. You can see installation detail to [Installing | CMake](https://cmake.org/install/). Also if you used macOS, then you can install by `homebrew`:\n\n```bash\n$ brew install cmake\n```\n\n### Install Boost\n\n`Boost` is C++ pre-standard library. You can see installation detail to [Boost Getting Started on Unix Variants - 1.67.0](https://www.boost.org/doc/libs/1_67_0/more/getting_started/unix-variants.html). Also if you used macOS, then you can install by `homebrew`:\n\n```bash\n$ brew install boost\n```\n\n### Install libsndfile\n\n`libsndfile` is a C library for reading and writing sound files containing sampled audio data. You can see instalation detail to [libsndfile](https://github.com/erikd/libsndfile). Also if you used macOS, then you can install by `homebrew`:\n\n```\n$ brew install libsndfile\n```\n\n### Install bandit\n\n`bandit` is C++11 testing framework like RSpec. Its installation works are nothing, because it is executed automatically on build.\n\n### Initialize project\n\n```bash\n$ mkdir gen\n$ cd gen\n$ cmake -DCMAKE_CXX_COMPILER=clang++ -DBUILD_TEST=ON ..\n```\n\n## Build\n\n```bash\n$ cd gen\n$ make\n```\n\n## Run\n\n### Input from file\n\n```bash\n$ cd gen\n$ ./src/main /path/to/sound.wav\n```\n\n### Input from microphone(line in)\n\nIf you will input from microphone or line in, specify `/dev/stdin` and use `ffmpeg`.\nIf you used macOS, enter the command like listed below:\n\n```sh\n$ cd gen\n$ ffmpeg -f avfoundation -i \"none:0\" -f wav pipe:1 | ./src/main\n```\n\n**Refer to:**\n\n* [FFmpeg Devices Documentation](https://www.ffmpeg.org/ffmpeg-devices.html#avfoundation)\n\n## Test\n\n```bash\n./test.sh [test_target]\n```\n\n## Other\n\nThis project coding styles follow C++ Standard Libraries and Boost C++ Libraries basically.\n\n**Refer to:**\n\n* [Boost Library Requirements and Guidelines](https://www.boost.org/development/requirements.html)\n\n## More documentation\n\n* [wav2midi 方針・設計 | mrk21 Kibela](https://mrk21.kibe.la/shared/entries/3931bfea-0f31-4aa1-9e72-b7cd6f010697)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrk21%2Fwav2midi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrk21%2Fwav2midi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrk21%2Fwav2midi/lists"}