Frage

Ich bin ein großer Fan davon, Sätze zu entdecken, die sich sehr schnell rappen lassen.Zum Beispiel: "Ich muss ein bisschen Wikipedia lesen" oder "Willst du nicht mit einer Flasche Malz in der Gosse in die Gosse landen". (George Watsky)

Ich wollte ein Programm in Python schreiben, das es mir ermöglicht, Wörter (oder Wortkombinationen) zu finden, die so artikuliert werden können, dass sie beim Sprechen sehr schnell klingen.

Anfangs dachte ich, dass Wörter mit einem hohen Silben-Buchstaben-Verhältnis am besten wären, aber als ich ein Python-Programm schrieb, um diese Wörter zu finden, fand ich nur sehr einfache Wörter, die nicht wirklich schnell klangen (z. B."Iowa").

Ich weiß also nicht, was Wörter eigentlich schnell klingen lässt.Liegt es am Morphem-Buchstaben-Verhältnis?Ist es die Anzahl der abwechselnden Vokal-Konsonanten-Paare?

Wie würdet ihr ein Python-Programm entwickeln, um dieses Problem zu lösen?

War es hilfreich?

Lösung

Dies ist nur ein Stich ins Ungewisse, da ich kein Linguist bin (obwohl ich einen Sprachsynthesizer geschrieben habe), ist die Metrik, die hier nützlich sein kann, die Anzahl der Phoneme aus denen jedes Wort besteht, da die Phoneme selbst unabhängig von der Verwendung ungefähr die gleiche Dauer haben.Dort ist ein Internationale phonetische Alphabettabelle für englische Dialekte, sowie ein schönes Phonologie des Englischen.

Ein gutes Open-Source-Phonetikwörterbuch ist unter verfügbar cmudict Projekt, das ca. hat 130.000 Wörter

Hier ist ein ganz kurzer Überblick über ein Nachschlageprogramm:

#!/usr/bin/python

import re

words={}

for line in open("cmudict.0.7a",'ro').readlines():
    split_idx = line.find(' ')
    words[line[0:split_idx]] = line[split_idx+1:-1]

user_input = raw_input("Words: ")

print
for word in user_input.split(' '):
    try:
        print "%25s %s" % (word, words[word.upper()])
    except:
        print "%25s %s" % (word, 'unable to find phonems for word')

Beim Laufen..

Words: I support hip hop from the underground up

                    I  AY1
              support  S AH0 P AO1 R T
                  hip  HH IH1 P
                  hop  HH AA1 P
                 from  F R AH1 M
                  the  DH AH0
          underground  AH1 N D ER0 G R AW2 N D
                   up  AH1 P

Wenn Sie eine super schicke Hose dazu haben möchten, gibt es immer die Python Natural Language Toolkit Das könnte einige nützliche Leckerbissen für Sie enthalten.

Darüber hinaus einige Verwendung in der realen Welt..Um fair zu sein, habe ich „Stylin“ auf „Styling“ festgelegt.Aber ich habe „erzählen“ gelassen, um den Mangel an unbekannten Wörtern aufzudecken.Sie könnten wahrscheinlich versuchen, nach Wörtern zu suchen, die mit enden in' indem Sie das g durch das Apostroph ersetzen und dann das weglassen NG Phonem aus der Suche..

                  Yes  Y EH1 S
                  the  DH AH0
               rhythm  R IH1 DH AH0 M
                  the  DH AH0
                rebel  R EH1 B AH0 L
              Without  W IH0 TH AW1 T
                    a  AH0
                pause  P AO1 Z
                  I'm  AY1 M
             lowering  L OW1 ER0 IH0 NG
                   my  M AY1
                level  L EH1 V AH0 L
                  The  DH AH0
                 hard  HH AA1 R D
               rhymer  R AY1 M ER0
                where  W EH1 R
                  you  Y UW1
                never  N EH1 V ER0
                 been  B IH1 N
                  I'm  AY1 M
                   in  IH0 N
                  You  Y UW1
                 want  W AA1 N T
              styling  S T AY1 L IH0 NG
                  you  Y UW1
                 know  N OW1
                 it's  IH1 T S
                 time  T AY1 M
                again  AH0 G EH1 N
                    D  D IY1
                  the  DH AH0
                enemy  EH1 N AH0 M IY0
               tellin unable to find phonems for word
                  you  Y UW1
                   to  T UW1
                 hear  HH IY1 R
                   it  IH1 T
                 They  DH EY1
              praised  P R EY1 Z D
              etc...

Wenn Sie vorhaben, etwas Zeit dafür zu investieren, wäre ich daran interessiert, Ihnen zu helfen.Ich denke, es wäre urkomisch, „Worlds first rapping IDE“ in meinen Lebenslauf aufzunehmen.Und falls es bereits eine gibt, die weltweit erste Python-basierte Rap-IDE.:P

Andere Tipps

Ich würde sagen, dass es eine gute Idee ist, mit der Annahme der Beispiele, die Sie gegeben haben, oder andere, die Sie mögen, und eine Art Analyse für alle Ihre Ideen an ihnen tun: z.B.Phonem zu Briefverhältnis usw.;Was auch immer annimmt und dass Sie berechnen können.Je mehr Proben desto besser ist.Hoffentlich gibt es Ihnen eine gute Vorstellung davon, welche Eigenschaften die Linien und Worte, die Sie bereits anteil genießen, in der richtigen Richtung führen sollten.

Andernfalls ist die Vermutung meiner Laien, dass kurze Vokale (offensichtlich) und harten Konsonanten wie 't', einige 'Ps, harte' G 'usw., die am besten sein werden - sie machen die Linien klingen Staccato und Rapid-Fire.

(wollte dies als Kommentar verlassen, weil es nicht wirklich eine Antwort ist, aber es ist zu lang :)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top