Just So Songs

Just So Songs is a collection of twelve poems from Rudyard Kipling's Just So Stories set to music by Sir Edward German in 1903. It consists of musical settings for voice and piano of "When the Cabin port holes", "The Camel's Hump", "This Uninhabited Island", "I keep six honest serving men", "I am the most wise Baavian", "Kangaroo and Dingo", "Merrow Down", "Of all the tribe of Tegumai", "The Riddle", "The First Friend", "There never was a queen like Balkis", and "Rolling Down to Rio".

Publication history

The work was originally published under the title Just So Song Book by Macmillan and Co. as well as Doubleday, Page and Co. in New York. Novello published the settings of "Merrow Down", "The First Friend", and "Rolling Down to Rio" individually in 1904.

"The Camel's Hump" and "Rolling Down to Rio" proved to be particularly popular, especially the latter. Both had a number of arrangements produced several years later by the composer for various choral and part-song configurations.

Late in his life, German agreed to have Just So Songs arranged for full chorus and orchestra, but he had retired from composing so he chose the younger composer John West to orchestrate and arrange. West, however, died before making any progress and German, too, died before settling on another collaborator. The arrangement for chorus and orchestra was finally completed by Dr. Gordon Jacob in 1947.

gollark: ```pythonimport thesaurusimport randomimport concurrent.futures as futureswords_to_synonyms = {}synonyms_to_words = {}def add_to_key(d, k, v): d[k] = d.get(k, set()).union(set(v))def add_synonyms(syns, word): for syn in syns: add_to_key(synonyms_to_words, syn, [word]) add_to_key(words_to_synonyms, word, syns)def concat(list_of_lists): return sum(list_of_lists, [])def fetch_word(word): results = concat(thesaurus.Word(word).synonyms("all")) return resultsdef add_words(words): with futures.ThreadPoolExecutor(max_workers=50) as executor: word_futures = {executor.submit(fetch_word, word): word for word in words} for future in futures.as_completed(word_futures): word = word_futures[future] try: data = future.result() except Exception as exc: print(f"Error fetching {word}: {exc}") else: add_synonyms(data, word)def getattr_hook(obj, key): results = list(synonyms_to_words.get(key, set()).union(words_to_synonyms.get(key, set()))) if len(results) > 0: return obj.__getattribute__(random.choice(results)) else: raise AttributeError(f"Attribute {key} not found.")def wrap(obj): add_words(dir(obj)) obj.__getattr__ = lambda key: getattr_hook(obj, key)wrap(__builtins__)__builtins__.engrave("Hi!")```
gollark: Ah yes. Global Interpreter Lock. Right. This may be hard.
gollark: On the plus side, you should be able to use `zilch` in place of `None` now.
gollark: The python thesaurus-izer may need some parallelization to be effective.
gollark: We could use this; it seems a cool idea.

References

  • Rees, Brian (1986). A Musical Peacemaker: The Life and Work of Sir Edward German. Abbotsbrook: Kensal Press.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.