Skip to content
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

Open
enkiv2 opened this issue Oct 15, 2018 · 9 comments
Open

Music to prose conversion #10

enkiv2 opened this issue Oct 15, 2018 · 9 comments

Comments

@enkiv2
Copy link

enkiv2 commented Oct 15, 2018

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).

@kleer001
Copy link

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.

@enkiv2
Copy link
Author

enkiv2 commented Oct 19, 2018 via email

@enkiv2
Copy link
Author

enkiv2 commented Oct 29, 2018

I jumped the gun & implemented this, though I haven't generated a whole book yet.

The result is repetitive but evocative:

unless sound unless sound unless die weren't sleep party his give those every hurt party die give stop understand hurt trust die sleep his give those hurt unless sound unless sound unless die weren't sleep party his give those every hurt party die give stop understand hurt sleep die party his give those unless sound unless sound unless die weren't sleep party his give those every hurt party die give stop understand hurt trust die sleep his give those hurt unless sound unless sound unless die weren't sleep party his give those every hurt party die give stop understand hurt sleep die party his give those die sleep weren't unless too work every somebody touch unless weren't work understand hope wants unless weren't sleep his give those hurt weren't sleep die give understand hurt hurt unless give hurt hurt unless sound unless sound unless sound sound unless sound unless sound unless die weren't sleep party his give those every hurt party die give stop understand hurt trust die sleep his give those hurt unless sound unless sound unless die weren't sleep party his give those every hurt party die give stop understand hurt sleep die party those every hurt

sleep probably sleep probably sleep early pleasure happy live these eyes find quite above live early eyes because words above care early happy these eyes find above sleep probably sleep probably sleep early pleasure happy live these eyes find quite above live early eyes because words above happy early live these eyes find sleep probably sleep probably sleep early pleasure happy live these eyes find quite above live early eyes because words above care early happy these eyes find above sleep probably sleep probably sleep early pleasure happy live these eyes find quite above live early eyes because words above happy early live these eyes find early happy pleasure sleep himself love quite united enemy sleep pleasure love words death sure sleep pleasure happy these eyes find above pleasure happy early eyes words above above sleep eyes above above sleep probably sleep probably sleep probably probably sleep probably sleep probably sleep early pleasure happy live these eyes find quite above live early eyes because words above care early happy these eyes find above sleep probably sleep probably sleep early pleasure happy live these eyes find quite above live early eyes because words above happy early live find quite above

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.

@shakna-israel
Copy link

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.

@enkiv2
Copy link
Author

enkiv2 commented Oct 30, 2018 via email

@kleer001
Copy link

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?

@enkiv2
Copy link
Author

enkiv2 commented Oct 30, 2018 via email

@enkiv2
Copy link
Author

enkiv2 commented Oct 30, 2018 via email

@enkiv2
Copy link
Author

enkiv2 commented Nov 1, 2018

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants