Enumero v1.2.1 is in the App Store now, in the Music and Utility Sections!
And I use the word "Utility" really loosely.
These instructions relate to that version 1.2.1
Sometimes you just want to count something, or count to some number or just count for no particular reason.
Enumero counts out loud and expands on the idea of counting out loud until it doesn't resemble counting out loud very much at all.
Here's an app that counts either manually by using the + and - keys, or automatically at a rate roughly 0.1 second to 5 seconds.
It has a number of ways to count, using the following sounds and algorithms:
All the non-Numeric voices show an appropriate display for their "numerals" and lightly in gray in the lower right corner , you can see the corresponding decimal number.
- In English
- In English, saying (e.g.) "101" as "one hundred and one" instead of "one hundred one."
Some people objected to this way (a/k/a my way) of counting hundreds. Learn about that here: http://ask.metafilter.com/145643/How-to-spell-101
- In Latin. The Roman Numeral version of the number is shown in the display.
- Solfége. It uses "(breath), Do, Re, Mi, Fa, Sol, La, Ti, Do" as digits and counts (sings?), using these sounds to count in base 9.
- Nerves. Nick Didkovsky of Dr. Nerve, himself an accomplished algorithmic musician, programmer and composer,
has generously let me use these extremely interesting sounds as counting material. There are 44 of them, counting in base 44.
This is a kind of late-breaking addition to Dr. Nerve's "Transforms" project of 1992.
These sounds were originally found on the Dr. Nerve CD "Beta 14 : OK" and were unnamed, so I gave them some names.
- Morse Code
- Binary. It starts with 8 bits, up to 255, then swaps to 16 until 65535, then adds another 8 bits.
- Hex, with "radio alphabet" used for the non decimal digits (Able, Baker, Charlie, Dog, Easy, Fox).
- Elements. The English names of the Chemical Elements. This has been updated with the newly named rare and experiment elements! Also, when choosing elements, the "π" order is replaced with Tom Lehrer's ordering of elements from his classic song "The Elements".
There will be 118 of these, and blank for "0".
- Toy Piano. 26 toy piano notes. The notes are all different lengths, so playing them gives you a kind of jerky feeling.
- Ordered Numbers. Based on what the maximum number in your range is, it recites an ordered ordering of numbers.
- Ordered Beeps. This is the same as Ordered Numbers, but it expresses its order as notes in a diatonic scale based on C.
- Phonetics. This is nowhere near as smooth sounding as the usual text to speech, but I was fascinated with the idea of slamming together English consonants, vowels and diphthongs into new combinations.
It has a set of sounds, and a set of ways to combine them. It uses a kind of phonetic spelling. Sometimes it sounds like English, mostly it doesn't.
This configuration maps the numbers from 0 to 46,726,643 to a "word". They are not in an order that anyone will recognize, and this section my get more sophisticated later.
- ə (Schwa). This is a diphone synthesis method, still slapping samples next to each other, but the only real vowel in there is 'schwa' (ə), the neutral vowel in English. There are a few hidden diphthongs in there, but mostly, it's earnestly monotonically intoning on C. This sounds a lot smoother than the "phonemes", although it lacks the ability to say a lot of words. These words are generated in a predictable way: there are starting, middle, and ending syllables, which connect on schwa sounds. There are 45 starting, 50 middle, and 40 end syllables. They are incremented in the order "end", "start", "first (rightmost) middle", "second (middler) middle", etc., so it will run though short words first, and then lengthen them. So to generate useful one syllables words, you can run from 41 (bəb) to 1799 (45*40 - 1) (žəž). Two syllable words are from 1801 to 89999 (45*50*40). If you skip "by" 40, all the words will rhyme.
Because I love my new Schwa mode, I made a little utility to help you figure out what number to use to (sort of) make a word you recognize. As you probably have found out, counting schwas by 40 randomly spits out a lot of rhyming words. But if you count by some other magic numbers and use them as limits, you can restrict the generated words syllabic length, and crudely, how they change.
If you figure out two words and subtract one from the other as the "by" value, you can get Enumero to alternate between them, or you can subtract them way down and up so the intended words show up in the midst of gobbledygook, or factor out the "by" value so it will hit the expected words with gibberish in between.
from 344,482 to 1,872,786 by 1,528,304
each voice has its own limits on the ranges of numbers it can count from and to. English can count from -999,999,999 to 999,999,999,
so if you really want to count, stick with English. For a quick way to choose the limits of each voice in the ranges, you can use "$" to mean "the lowest number for this voice" and "@" to mean "the highest number for this voice."
You can count up or down, and by any integral amount. Just type in the numbers for "from", "to", and "by" in the appropriate fields.
It automatically figures out whether you are counting up or down, in case you set the "from" of the range higher than the "to". You can put commas in these numbers to help you read them.
A little thinking would seem to indicate that if you have 4,294,967,296 numbers to count, you could do that in 4,294,967,296! ways.
I choose just four (kind of).
There are a number of algorithms for picking the next number in the sequence:
- Serial: one, two , three ... you probably are familiar with this one.
- Gray : Gray code is a way to enumerate that changes only one binary bit when choosing the next number. It's a lot like counting fractally. Take a look at it when using the binary voice.
- Rand: random counting: it uses the "from" and "to" ranges to constrain the random number generator.
It will generate as many random numbers as it would have counted if it were counting serially, that is, "to"-"from"+1. It makes no attempt to avoid picking the same number. Random observes the "by" setting, only picking choices that are in the same set as skipping numbers using the "by" value.
- Π (Pi): the digits of pi, following the decimal point. It starts counting at 0, so 0 counts "1", 1 counts "4", 2 counts "1", etc.
There are 10,000 digits stored for your counting pleasure. If you are counting in hex, it gives the HEX digits of pi! If you are counting in binary, it gives 1 or 0 for its successive bits of pi.
If you are counting using the Chemical Elements, it substitutes the order of elements as sung by Tom Lehrer in his immortal "The Elements" song.
Furthermore, there are three different repeat options, which expand the ways you can count.
- None. When the next number to count is beyond the end of the range, it stops.
- Repeat. When the next number to count is beyond the end of the range, it starts over again with the start of the range.
For instance, if you set the range to be from 1 to 4, it will count 1, 2, 3, 4, 1, 2, 3, 4... like a drill sergeant.
If you set the range from 0 to 10 and count by 3, you'd get 0, 3, 6, 9, 0, 3, 6, 9, ...
- Cycle. When the next number to count is beyond the end of the range,
it starts over again with the remainder of where it would have been past the end of the range.
If you set the range from 0 to 10 and count by 3, you'd get 0, 3, 6, 9, 2, 5, 8, 1, 4, 7, 10, 3, 6, 9 ...
You can get a lot of different sequences that way.
There are three styles of speaking these counts, which only apply to the actual numeric counting voices:
These don't make a lot of sense if you are not counting serially. But, what is sense anyway?
- All: Saying the whole number
- Simple: Saying just the multiples of 10 and otherwise the last digit. For Binary numbers, it does the same on multiples of 1000 (8), and for hex, multiples of "10" (16). This is useful if you care about the automated counter keeping pretty good time.
- Ticking: Ticking for all but multiples of 10.(etc.)
A slider adjusts the time between ticks. You can set it from 0.1 second to 5.0 seconds.
If it takes longer to say the count, it will skip to the next tick, so it's not too good as a 1 second timer, unless you use the "Simple" or "Ticking" options.
There are slight detents at each half second.
Enumero is a Universal app that also can change its layout to accommodate all the iPhone and iPad sizes, as well as running in landscape mode. Enumero now supports Audiobus and Inter App Audio (IAA), so its audio can be further processed and recorded by other programs! When connected via IAA, the host Icon shows up in the main display box, and tapping it will send you to the host. Using Audiobus, you can start, stop, and rewind the automatic timer, and increment (+) or decrement (-) the current counter.
These show iPhone SE; bigger phones look bigger!
The iPad version has a completely different looking interface from the smaller versions.
Listen to this 2011 WGXC radio show excerpt of me playing and explaining Enumero. by jhhl
The funny thing is, I was showing how it runs in the background with other apps, and now of course it can run with Audiobus and IAA!
Or listen to these little demos I made
Here's a demo of some of the voices:
Enumero is by the author of the highly praised SrutiBox, Droneo, Wind Chimes, and LakePiano .
• Questions? Write to enumero "at" jhhl.net, or go to the contact page
• Read about my iPhone development in this blog
• Enumero uses AUDIOBUS (http://audiob.us)
• And the related if deprecated The Amazing Audio Engine