/ challenges-old / string-solutions
Sign in
challenges-old / string-solutions
string-solutions / README.md
28 lines · 2.2 KBPreviewCodeBlameHistoryRaw
1# Solutions to the string challenges
3This repository collects solutions to the challenges defined in [challenges/string](https://vault1.magland.org/challenges/string). The results, with errors, timings, audio players, and links, are published at [challenges/string-solutions/site](https://vault1.magland.org/challenges/string-solutions/site/) and regenerated by a workflow on every push to `main`.
5## Layout
7```
8solutions/<challenge-id>/<submission-id>.json one submission: metadata and one or more solutions
9solutions/<challenge-id>/<submission-id>/*.wav the output files, referenced from the JSON
10solvers/ source code of the example submissions
11```
13## Submitting
151. Read the challenge specification, for example [string-pluck-v1](https://vault1.magland.org/challenges/string/blob/main/challenges/string-pluck-v1/README.md), and produce the output file exactly as specified (format, sample rate, length, scale).
162. Choose a submission ID (lowercase letters, digits, hyphens) and write `solutions/<challenge-id>/<submission-id>.json` following the [schema](https://vault1.magland.org/challenges/string/blob/main/schema/solution.schema.json). The two files in `solutions/string-pluck-v1/` are complete examples.
173. Put the wav files in `solutions/<challenge-id>/<submission-id>/` and reference them by relative path, or host them elsewhere and reference them by URL. Files over 1 MiB must be pushed with git rather than written through the web interface.
184. If your submission contains several solutions of known relative accuracy (for example, a sequence of increasing resolution), record that in `more_accurate_than` on each solution. This is what allows the reference solution to be chosen automatically; see the challenge repository README for the rule.
195. Open a pull request. The workflow validates the files; once merged, the results site is rebuilt.
21Timing is self-reported wall-clock time for producing the output signal, excluding file I/O, on the hardware named in the `hardware` field.
23## Validating locally
25```
26pip install git+https://vault1.magland.org/challenges/string
27challenge-tools validate --challenges <path-to-string-repo>/challenges --solutions solutions
28```
↑↓ move↵openescclose