https://github.com/benmaier/komoog
Convert your hiking trips into sounds
https://github.com/benmaier/komoog
Last synced: 2 months ago
JSON representation
Convert your hiking trips into sounds
- Host: GitHub
- URL: https://github.com/benmaier/komoog
- Owner: benmaier
- License: mit
- Created: 2021-08-25T21:37:20.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-08-28T15:26:17.000Z (almost 4 years ago)
- Last Synced: 2024-10-14T09:36:59.495Z (8 months ago)
- Language: Python
- Homepage:
- Size: 3.83 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# komoog
Convert your [komoot](komoot.com) hiking/cycling trips to audio signals.
* repository: https://github.com/benmaier/komoog/
* documentation: http://komoog.readthedocs.io/```python
from komoog.komoot import download_all_komoot_tours, choose_downloaded_komoot_tour
from komoog.audio import convert_tour_to_audio, play_audiodownload_all_komoot_tours()
tour = choose_downloaded_komoot_tour()
audio, sampling_rate = convert_tour_to_audio(tour,
approximate_length_in_seconds=4,
set_tune_to_follow_tour_profile=True,
)
play_audio(audio, sampling_rate)
```After hiking I noticed that komoot comes with elevation profiles of tour hiking
trips:
This reminded me of wave tables I know from sound synthesis. Because I'm always
looking for sounds to use when making music, I decided to write code that
generates sounds from hiking profiles that can be used in sound synthesis.Note that I adapted code from
[js-on/medium\_komoot](https://github.com/js-on/medium_komoot)
to access trips on komoot.## Examples
### Colorado Provencale in Rustrel - La Doa Loop from Rustrel
https://user-images.githubusercontent.com/10728380/131221697-8f5ff1b5-5fae-47a4-b36b-ad8c39992718.mp4
https://user-images.githubusercontent.com/10728380/131221699-a9dd5741-3ae5-4d16-ad44-9ce8642bbecb.mp4
### Lookout - L'Aiguebrun Loop from Buoux
https://user-images.githubusercontent.com/10728380/131221700-085da556-614a-4b9d-8f7d-c88e0d9f172c.mp4
https://user-images.githubusercontent.com/10728380/131221701-85fcb6ed-eadc-453b-a32c-98c5008c945b.mp4
### Gorges de Régalon - Vue de la Gorge Loop from Quartier Gardet
https://user-images.githubusercontent.com/10728380/131221702-36af7891-9089-45a8-8b7f-262bf29d4383.mp4
https://user-images.githubusercontent.com/10728380/131221704-131734e1-d82c-4fe3-a6d4-749c69fdd34e.mp4
### Forêt des Cèdres - Vue au sud - Belvédère Loop from Lacoste
https://user-images.githubusercontent.com/10728380/131221705-95615790-45c3-4266-9f46-8c287c6cb167.mp4
https://user-images.githubusercontent.com/10728380/131221707-3add51cb-ad1e-49a0-9801-9f69086f5f62.mp4
### Crête du Grand luberon - Le Mourre Nègre (1125m) Loop from Rue de l'Église
https://user-images.githubusercontent.com/10728380/131221708-f209abdd-3a57-4bca-b0ae-c726e25064c5.mp4
https://user-images.githubusercontent.com/10728380/131221709-8add9296-b7a6-46ff-97f5-520e854e0041.mp4
## Install
pip install komoog
`komoog` was developed and tested for
* Python 3.6
* Python 3.7
* Python 3.8So far, the package's functionality was tested on macOS only.
## Prerequisites
Save your komoot credentials in `~/.komoog/komoot.json` as
```json
{
"email" : "[email protected]",
"password" : "yourpassword",
"clientid" : "yourclientid"
}
```You can find your client id in the komoot url when you log in. Click on your username, then
on "Planned Tours" or "Completed Tours". The URL will change to something like```
https://www.komoot.com/user/1851102841208/tours?type=planned
```Here, `1851102841208` is your `clientid`.
## Dependencies
`komoog` directly depends on the following packages which will be installed by `pip` during the installation process
* `numpy>=1.17`
* `scipy>=1.5.0`
* `gpxpy>=1.4.2`
* `simplejson>=3.17.2`
* `simpleaudio=>=1.0.4`
* `matplotlib>=3.0.0`## Documentation
The full documentation is available at [komoog.readthedocs.io](http://komoog.readthedocs.io).
## Changelog
Changes are logged in a [separate file](https://github.com/benmaier/komoog/blob/main/CHANGELOG.md).
## License
This project is licensed under the [MIT License](https://github.com/benmaier/komoog/blob/main/LICENSE).
Note that this excludes any images/pictures/figures shown here or in the documentation.## Contributing
If you want to contribute to this project, please make sure to read the [code of conduct](https://github.com/benmaier/komoog/blob/main/CODE_OF_CONDUCT.md) and the [contributing guidelines](https://github.com/benmaier/komoog/blob/main/CONTRIBUTING.md). In case you're wondering about what to contribute, we're always collecting ideas of what we want to implement next in the [outlook notes](https://github.com/benmaier/komoog/blob/main/OUTLOOK.md).
[](code-of-conduct.md)
## Dev notes
Fork this repository, clone it, and install it in dev mode.
```bash
git clone [email protected]:YOURUSERNAME/komoog.git
make
```If you want to upload to PyPI, first convert the new `README.md` to `README.rst`
```bash
make readme
```It will give you warnings about bad `.rst`-syntax. Fix those errors in `README.rst`. Then wrap the whole thing
```bash
make pypi
```It will probably give you more warnings about `.rst`-syntax. Fix those until the warnings disappear. Then do
```bash
make upload
```