• Concept: Voice-to-instrument

    Use a CycleGAN-like approach to transform scat-style singing into a musical instrument solo or into entire songs.

    Compare to TimbreTron

  • Concept: Novelist

    A system for novel-writing. Mostly just lets people set variables and intelligently refer to them within the text. This would require localization-like ability to adjust the case and number of the variables. Could provide a user interface that makes this easier for certain classes, e.g. Character, Location, Event, Relationship, etc.

    I’ve been using a combination of Gramps, Kate, and a Python templating engine called Chevron, plus a JSON data file, to achieve much of this effect. But Gramps and the JSON file have the potential to come into conflict.

    Due to the GPL2+ license of Gramps, it would be difficult to make use of it directly. If we could read the Gramps database we could leverage that, but it would be nicer to have an integrated solution.

    Rust + Azul GUI toolkit might be a good option to build the data processing and the UI in one place.

  • WIP: Upgrade Yakkity

    Yakkity uses a non-ML algorithm which produces mediocre results. Improving the algorithm is the top priority. An easy win would be to train the weights by which it ranks candidates. This would require only labeling a few hundred candidates and performing least squares regression. A harder win would be to make a generative neural network algorithm to produce novel mondegreens. I’m not even sure if that would be better—the need for nearness to the pronunciation of the original sequence is a fairly tight constraint. But who knows—maybe that constraint is unnecessarily tight and is preventing more creative puzzles? Also, the ability to coin new words would be nice.

    Second priority: Yakkity visuals. This is something I would probably do only if the algorithm got up to snuff.

  • Concept: NES-to-SNES translator

    Gather a bunch of SNES images. Downscale them to the NES resolution. Train a de-convolutional (transposed convolutional) network to translate the NES scale to the SNES scale. Then apply this network to NES games to get a SNES-style upsample. If necessary, embed this in a GAN until the upsampled NES games are indistinguishable from the SNES games.

    Actually, the resolutions are either identical or very similar, so this is a matter of style. It could work to do a GAN that translates NES style to SNES style, the discriminator guessing whether it is NES or SNES.

  • WIP: Effective Umpire AI

    Generate state-action-reward triples en masse and directly model the q-value function. Add Monte Carlo Tree Search.

    AlphaGo cost google around $35 million, it may be hard to reproduce that success. But, could I make it do something reasonable?

    https://github.com/joshhansen/Umpire

  • Concept: Phonotactics Embedding

    A vector space representing linguistic phonotactics across languages.

    Given a set of phonemes in a language’s phonemic inventory, but with N removed, predict which N phonemes are missing.

    Turn the weights used in the prediction into a vector.

    Then generate random vectors and convert them back into phonemic inventories somehow.

    See also Concept: Artificial language generator

  • Concept: Semantic Number

    Flattening a vocabulary to a single number (word ID) such that the distance between ID’s best approximates the semantic distance between the words.

    Initialize:

    1. start with a random word, assign it to ID 0
    2. for the next ID, assign the word most related to the previous word but which has not been output yet
    3. repeat until all words have been mapped to an ID

    Refine:

    1. Propose a random swap between a pair of word->ID mappings
    2. If the random swap results in a reduced divergence between distances in ID space and in semantic space, make the swap
    3. Proceed until convergence

  • Concept: The Coinstitution

    In addition to the features outlined for Concept: Maximum Basic Goodness 2:

    • A hierarchy of jurisdictions to which humans can subscribe or belong. For example: United States -> Washington -> King County -> Seattle -> District 6

    • Taxation: jurisdictions declare tax policy which is implemented by the system. For example: on a monthly basis, all human accounts are taxed .1% on amounts over $20000. All other accounts are taxed .1% on all amounts. All tax revenues accrue instantly to the jurisdiction’s treasury.

    • Privacy policy: for example, for all account pairs for which net daily transfers exceed some threshold, all transactions pertaining to the pair will be public; all other transactions will remain private.

    • Campaign finance: with jurisdictions, elections occur according to a schedule. For each election, there is a registration period for campaigns to declare themselves. After the campaign season commences, donations to campaigns are accepted from human accounts only. Donations above a certain limit are ignored. Donations above a certain limit are made public.

    • Wealth distribution: make explicit policies for wealth redistribution instead of implying it through various programs.

    • Maximum code size: prohibit “law” above a certain complexity. (But how do you set the limit appropriately?)

  • Concept: Maximum Basic Goodness

    (Updated by Concept: Maximum Basic Goodness 2)

    A blockchain-based system for voluntary wealth redistribution.

    Components:

    • Attestation of humanity: authorities that cryptographically attest that a given person is (within their system) a unique human being, not otherwise represented.
    • Ability to publicly or anonymous donate to all people that meet a particular proof of humanness, e.g. every human attested by a state’s vital records division
    • Ability to publicly (or anonymously?) subscribe to receive donations
    • Ability to pledge certain amount and frequency of donations in the future
  • Concept: Rehearsal app, suggested by Joe Haws

    A cross-platform mobile app that allows adding an audio track and setting rehearsal marks (A, B, C, etc) and then tapping a button to trigger playback from a particular mark.

    React Native?