-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Music to prose conversion #10
Comments
Very interesting! Are you going to make allowances for the exponential aspect of human perception of sound? I'm not entirely sure what that means, haha, but maybe just some fuel for the fire. Since you asked, my initial impulse is to think the voices separate. Maybe even compile them measure by measure in alternating paragraphs or side by side in columns. |
People percieve sound volume in a logarhythmic way, but I'm not planning to
encode volume. (I guess I could with font size or something, if I was
generating formatted text. Formatted text tends to be harder to word-count
& often won't fit / load properly from a git repo, though.)
Since I'm working with frequencies rather than notes, I'm absolutely
encoding the way a note is double the frequency of the same note in the
previous octave in most tunings. Of course, in a sense, I'm double-encoding
that: word frequency has a zipf distribution but I'm using a
frequency-ranked list rather than a set of frequencies adjusted to make the
maximum 20k, so rather than chosing a word that has the same frequency as
the note I'm choosing a word whose rank is the same as the frequency of the
note. Basically, if you wanted to reverse the process (although you'd be
missing some information) you'd have two exponential terms.
(If this ends up seeming too wild, maybe I'll get rid of the rank & compute
raw frequencies based on an ebook corpus or something.)
…On Thu, Oct 18, 2018 at 5:33 PM kleer001 ***@***.***> wrote:
Very interesting! Are you going to make allowances for the exponential
aspect of human perception of sound? I'm not entirely sure what that means,
haha, but maybe just some fuel for the fire.
Since you asked, my initial impulse is to think the voices separate. Maybe
even compile them measure by measure in alternating paragraphs or side by
side in columns.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#10 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAd6GQOJC3jJwJ4KdVXYQkyTep83A43fks5umPOmgaJpZM4Xcyx->
.
|
I jumped the gun & implemented this, though I haven't generated a whole book yet. The result is repetitive but evocative:
Here's the project gutenberg word statistics version, and another version using statistics from 2006 tv show scripts, using a handful of short classical pieces. |
What music selection was responsible for this little demo? I kinda expected repetition with music, as they go hand in hand. I wonder what something more discordant would create? Like... Say the dialup tone. |
The sample I pasted in was Beethoven's Fur Elise -- first with the Project
Gutenberg word statistics, then with Wikipedia's TV script statistics.
…On Mon, Oct 29, 2018 at 7:15 PM James Milne ***@***.***> wrote:
What music selection was responsible for this little demo?
I kinda expected repetition with music, as they go hand in hand.
I wonder what something more discordant would create? Like... Say the
dialup tone.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#10 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAd6GcS8K6WL0GO8Uc6aQknpai-ER3etks5up4wmgaJpZM4Xcyx->
.
|
The result is very poetic and evocative! Also are you considering or using the note length? |
I don't currently do anything with the note length or its start position
(other than keeping it sorted). I was considering making tables or
something, though sticking markup on individual words very quickly expands
the work beyond reasonable size even when it's something simple.
Perhaps I'll give it a try once November begins. If there's some mechanism
in CSS to stretch text width & height separately, I could use that to line
the notes up, indicate their duration, and indicate their amplitude. That
probably wouldn't be reasonable for a 50k note output, but it might be
interesting for a demo.
…On Tue, Oct 30, 2018 at 11:39 AM kleer001 ***@***.***> wrote:
The result is very poetic and evocative!
I feel like with some supportive structure of filler-words or nltk
sentence form or such would add to its readability. Or even some smart
phrasing/spacing/breaks for negative space.
Also are you considering or using the note length?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#10 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAd6GRZ9FS_rDkMaMP-Po_fHVxnKpGzuks5uqHKpgaJpZM4Xcyx->
.
|
Hmm. OK, HTML+CSS won't be the appropriate tool for any version of this
that includes duration. CSS font-stretch exists, but only controls width &
only at a fairly gross granularity -- what I would want is something that
can resize any word to any X an Y dimensions. So, the solution is
*probably* to render the words as images, stretch the images, and stitch
them together. That's a potentially fun project.
…On Tue, Oct 30, 2018 at 11:53 AM John Ohno ***@***.***> wrote:
I don't currently do anything with the note length or its start position
(other than keeping it sorted). I was considering making tables or
something, though sticking markup on individual words very quickly expands
the work beyond reasonable size even when it's something simple.
Perhaps I'll give it a try once November begins. If there's some mechanism
in CSS to stretch text width & height separately, I could use that to line
the notes up, indicate their duration, and indicate their amplitude. That
probably wouldn't be reasonable for a 50k note output, but it might be
interesting for a demo.
On Tue, Oct 30, 2018 at 11:39 AM kleer001 ***@***.***>
wrote:
> The result is very poetic and evocative!
> I feel like with some supportive structure of filler-words or nltk
> sentence form or such would add to its readability. Or even some smart
> phrasing/spacing/breaks for negative space.
>
> Also are you considering or using the note length?
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#10 (comment)>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AAd6GRZ9FS_rDkMaMP-Po_fHVxnKpGzuks5uqHKpgaJpZM4Xcyx->
> .
>
|
I generated two novel-length (95k words) outputs, from Stravinsky's Rite of Spring & Firebird Suite: https://github.com/enkiv2/misc/blob/master/nanogenmo-2018/stravinsky.md https://github.com/enkiv2/misc/blob/master/nanogenmo-2018/stravinsky_pg.md |
This is going to be my 'gimme' novel this year.
Sound has frequency and words have frequency -- and both music and rhetoric use repetition -- so why not perform a conversion? Specifically, I'm planning to take midi files of existing & well-known songs, convert each note into a frequency, and then substitute it with the word whose frequency rank is the same as the note's frequency in hertz.
(I may or may not adjust by 20. Human hearing range is approximately 20Hz-20kHz, and while the top 20 most common words are extremely boring, music very rarely sits on the border of infrasound.)
Open questions: should I treat each voice as a separate stream entirely, make them parallel (with some kind of formatting), or somehow combine them (with an average, or a sum, or maybe combined with word2vec)?
Tools: midi2csv, a list of the 20,000 most common english words, maybe a table of notes to frequencies (in case I somehow have trouble with calculating scales).
The text was updated successfully, but these errors were encountered: