phonagen/generate-example-set.sh

52 lines
6.7 KiB
Bash
Executable File

#! /bin/sh
# Convert the examples and generate a example.json file to use with the web interface
# Based on the dataset used in the Floraverse Character Generator of feuforeve.fr
# Output directory
mkdir -p output
# Convert csv to phonology files
./py-phonagen/phonology-csv2json.py ./examples/byakjakiq.csv --id byakjakiq --main byakjakiq --description "Byakjakiq phonology (Imaginary, using Hangul)" --output ./output/phonology-byakjakiq.json
./py-phonagen/phonology-csv2json.py ./examples/citrican.csv --id citrican --main citrican --description "Citrican phonology (Spanish-based)" --output ./output/phonology-citrican.json
./py-phonagen/phonology-csv2json.py ./examples/gloamish.csv --id gloamish --main gloamish --description "Gloamish phonology (Imaginary, using Armenian alphabet)" --output ./output/phonology-gloamish.json
./py-phonagen/phonology-csv2json.py ./examples/mewyorkish.csv --id mewyorkish --main mewyorkish --description "Mewyorkish phonology (English-based)" --output ./output/phonology-mewyorkish.json
./py-phonagen/phonology-csv2json.py ./examples/pelirish.csv --id pelirish --main pelirish --description "Pelirish phonology (Russian-based)" --output ./output/phonology-pelirish.json
./py-phonagen/phonology-csv2json.py ./examples/polarian.csv --id polarian --main polarian --description "Polarian phonology (Portuguese-based)" --output ./output/phonology-polarian.json
# Generate two phonologies
./py-phonagen/phonology-maker.py --id phonagen1 --description "Generated phonology 1" --output ./output/phonology-phonagen1.json
./py-phonagen/phonology-maker.py --id phonagen2 --description "Generated phonology 2" --output ./output/phonology-phonagen2.json
# Convert examples lists to chain generators
./py-phonagen/generator-list2chain.py ./examples/byakjakiq.list --id byakjakiq-chain --description "Byakjakiq (list2chain)" --phonology byakjakiq --phonologyfile ./output/phonology-byakjakiq.json --order 3 --output ./output/generator-chain-byakjakiq.json
./py-phonagen/generator-list2chain.py ./examples/citrican.list --id citrican-chain --description "Citrican (list2chain)" --phonology citrican --phonologyfile ./output/phonology-citrican.json --order 3 --output ./output/generator-chain-citrican.json
./py-phonagen/generator-list2chain.py ./examples/gloamish.list --id gloamish-chain --description "Gloamish (list2chain)" --phonology gloamish --phonologyfile ./output/phonology-gloamish.json --order 2 --output ./output/generator-chain-gloamish.json
./py-phonagen/generator-list2chain.py ./examples/mewyorkish.list --id mewyorkish-chain --description "Mewyorkish (list2chain)" --phonology mewyorkish --phonologyfile ./output/phonology-mewyorkish.json --order 2 --output ./output/generator-chain-mewyorkish.json
./py-phonagen/generator-list2chain.py ./examples/pelirish.list --id pelirish-chain --description "Pelirish (list2chain)" --phonology pelirish --phonologyfile ./output/phonology-pelirish.json --order 3 --output ./output/generator-chain-pelirish.json
./py-phonagen/generator-list2chain.py ./examples/polarian.list --id polarian-chain --description "Polarian (list2chain)" --phonology polarian --phonologyfile ./output/phonology-polarian.json --order 3 --output ./output/generator-chain-polarian.json
# Convert examples lists to rule generators
./py-phonagen/generator-list2rule.py ./examples/byakjakiq.list --id byakjakiq-rule --description "Byakjakiq (list2rule)" --phonology byakjakiq --phonologyfile ./output/phonology-byakjakiq.json --output ./output/generator-rule-byakjakiq.json
./py-phonagen/generator-list2rule.py ./examples/citrican.list --id citrican-rule --description "Citrican (list2rule)" --phonology citrican --phonologyfile ./output/phonology-citrican.json --output ./output/generator-rule-citrican.json
./py-phonagen/generator-list2rule.py ./examples/gloamish.list --id gloamish-rule --description "Gloamish (list2rule)" --phonology gloamish --phonologyfile ./output/phonology-gloamish.json --output ./output/generator-rule-gloamish.json
./py-phonagen/generator-list2rule.py ./examples/mewyorkish.list --id mewyorkish-rule --description "Mewyorkish (list2rule)" --phonology mewyorkish --phonologyfile ./output/phonology-mewyorkish.json --output ./output/generator-rule-mewyorkish.json
./py-phonagen/generator-list2rule.py ./examples/pelirish.list --id pelirish-rule --description "Pelirish (list2rule)" --phonology pelirish --phonologyfile ./output/phonology-pelirish.json --output ./output/generator-rule-pelirish.json
./py-phonagen/generator-list2rule.py ./examples/polarian.list --id polarian-rule --description "Polarian (list2rule)" --phonology polarian --phonologyfile ./output/phonology-polarian.json --output ./output/generator-rule-polarian.json
# Rulemaker on each phonology
./py-phonagen/generator-rulemaker.py --id byakjakiq-rulemaker --description "Byakjakiq (rulemaker)" --stressPos 0 --phonology byakjakiq --phonologyfile ./output/phonology-byakjakiq.json --output ./output/generator-rulemaker-byakjakiq.json
./py-phonagen/generator-rulemaker.py --id citrican-rulemaker --description "Citrican (rulemaker)" --phonology citrican --phonologyfile ./output/phonology-citrican.json --output ./output/generator-rulemaker-citrican.json
./py-phonagen/generator-rulemaker.py --id gloamish-rulemaker --description "Gloamish (rulemaker)" --phonology gloamish --phonologyfile ./output/phonology-gloamish.json --output ./output/generator-rulemaker-gloamish.json
./py-phonagen/generator-rulemaker.py --id mewyorkish-rulemaker --description "Mewyorkish (rulemaker)" --maxNbSyllables 3 --phonology mewyorkish --phonologyfile ./output/phonology-mewyorkish.json --output ./output/generator-rulemaker-mewyorkish.json
./py-phonagen/generator-rulemaker.py --id pelirish-rulemaker --description "Pelirish (rulemaker)" --phonology pelirish --phonologyfile ./output/phonology-pelirish.json --output ./output/generator-rulemaker-pelirish.json
./py-phonagen/generator-rulemaker.py --id polarian-rulemaker --description "Polarian (rulemaker)" --phonology polarian --phonologyfile ./output/phonology-polarian.json --output ./output/generator-rulemaker-polarian.json
./py-phonagen/generator-rulemaker.py --id phonagen1-rulemaker --description "Generated Phonology 1 (rulemaker)" --phonology phonagen1 --phonologyfile ./output/phonology-phonagen1.json --output ./output/generator-rulemaker-phonagen1.json
./py-phonagen/generator-rulemaker.py --id phonagen2-rulemaker --description "Generated Phonology 2 (rulemaker)" --phonology phonagen2 --phonologyfile ./output/phonology-phonagen2.json --output ./output/generator-rulemaker-phonagen2.json
# Merge everything into a single file
./py-phonagen/phonagen-merge.py ./output/generator-* ./examples/*-handwritten-rules.json --output ./output/phonagen-example.json
# Copy the generated file into the web directory
cp ./output/phonagen-example.json ./web/