質問

私は非常に早くラップすることができる文を発見する大きなファンです。たとえば、「少しのウィキペディアを少し読んでください」、「麦芽のボトルで溝に巻き上げたくない」(ジョージ・ワットスキー)

私はPythonでプログラムを書いたかったであろうということを私が話されたときに非常に速く聞こえることができる言葉(または単語の組み合わせ)を見つけることを可能にするでしょう。

最初は、文字率の高い音節を持つ言葉が最高であると考えていましたが、それらの単語を見つけるためにPythonプログラムを書くと、私は本当に速く聞こえなかった非常に単純な言葉だけを検索しました(例:iowa")。

だから私は実際に言葉を早く音にするもので損失しています。それは文字の比率の形態ですか?それは交互の母音のペアの数ですか?

この問題を解決するためにPythonプログラムを考案することについてどう思いますか?

役に立ちましたか?

解決

これは私が言語主義者ではないので暗闇の中でちょうど刺されたものです(しかし私は音声合成装置を書いたが)、ここで有用なメトリックは音素自体が使用に関係なく同じおおよその期間になるだろうから、各単語を構成する音素英語の方言の国際音声アルファベットチャート、そしてnice 英語の音韻論

良いオープンソースの音声辞書は、 cmudict 130Kワード

ルックアッププログラムで本当に素早い刺したものです:

#!/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')
.

実行時に

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
.

これについてスーパーファンシーパンツを手に入れたい場合は、常に Python Natural Language Toolkit があります。あなたのためのいくつかの便利なTidbits。

追加的には、いくつかの実世界を使用 ..フェアではありませんが、「スタイリング」に「スタイリング」を修正しました。アポストロフィのg内のG INを下げることによってin'で終わる単語の検索を試してみて、ルックアップからNG音素をドロップします..

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

これがあなたがしばらくの間に入ることを計画しているものであるならば、私は助けに興味を持っています。私の履歴書に「世界初のRapping IDE」を陽気にするだろうと思います。そしてすでに存在する場合、世界初のPythonベースのRapping IDE。 :p

他のヒント

私はあなたが与えた例をあなたが与えた例や他のものを彼らのすべてのアイデアのためのいくつかの分析をすることから始めて、そしてそれらのすべてのあなたの考えについていくつかの分析をすることから始めることは良い考えです。音素を文字率などに伝えます。合理的なものであり、あなたが計算することができるもの。より多くのサンプルが良いです。うまくいけば、これはあなたがすでにあなたがすでに共有を楽しんでいるプロパティのプロパティをあなたに与えるでしょう、それはあなたを正しい方向に導くべきです。

それ以外の場合、私のレイマンの推測は、「T」、いくつかのPの、難しい「G」などのような短い母音(明らかに)および難しい子音が最善になるでしょう - 彼らはラインを堅くし、急激な火をつけることです。

(コメントとしてまとめたかったのは、それが本当に答えではありませんが、長すぎる:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top