英語学習サービスにおける日本の詩:単語の発音を記憶するためのアプリケーション





秋のハッカソンで最も珍しいプロジェクトの1つは、Skyeng Haikuでした。単語を行に収集する瞑想的なマルチメディアアプリケーションです。 今日、その著者は、それが何であるか、なぜそれが必要であるか、なぜそれが有用であるか、彼らがどのようにそれを作ったか、そして彼らは作業バージョンへのリンクを提供します。



2日間のマラソン中にMVPの州にもたらされたプロジェクトに関するストーリーを公開し続けます。



アイデア



アイデアは、学生が単語の正しい発音を暗記できるようにすることでした。 典型的な発音エラーには、文字の発音があります。これは実際には無音または二重母音です。 私はこの悪い習慣を取り除く何かを思いつきました。 俳句のトピックが登場しました:これは3行の短い詩で、韻は必要ありませんが、規則が守られています:最初の行には5つの音節が含まれ、2番目の7と3番目が再び5です。



患者の小さなカタツムリ

朝露を横切るスライド

禅の庭で



ご注意
現代の詩的な考え方は、外国語の17複雑な俳句構造を拒否しますが、私たちの場合、音節の数の厳密な制限が重要でした。



別のインスピレーションの源は磁気詩です。詩のための冷蔵庫の磁石のセット。 創造的な危機の中でアメリカのソングライターが発明した楽しみ。 追加のパン-Magnetic Poetryを使用すると、既製の単語セット(音節の数、品詞の比率などによって正しく選択された)をダウンロードできます。 MVPバージョンに必要なものだけです。







俳句と「磁気詩」を組み合わせることで、ユーザーが5-7-5の音節ルールに従ってセットから単語をドラッグする必要がある製品のプロトタイプを取得します。 意味と文法は重要ではありません。各単語の音節の数、日本語の周囲、BGM、および結果の詩の声の演技を理解することが重要です。 コンテンツがすごいほど、ニーモニックリンクが機能し、単語が記憶されます。







エンジン



vue.jsフレームワークで記述された数十行のコード用のシンプルなアプリケーション。 これは、「リッチ」アプリケーションを作成するための最も一般的なフレームワークの1つであり、 Angular、Reactなどと比較されることがよくあります。 実際の職場でのエンジンの作成者は、手書きで何かを書く機会がないため、ハッカソンはスキルを思い出すのに役立ち、同時に趣味のアイデアを投げかけました-現在、エンジンは週末に定期的に少し更新されます。



アプリケーションはいくつかのコンポーネントで構成されています。



word-アプリケーションが動作する最小限のコンポーネントで、自分自身と自分自身の音節の数のみを知っている



line-含まれる単語の音節の数を数え、音節の望ましい値に達したときにシグナルを送ることができます(この場合、このような行が3つありますが、一般的には任意の数があり、これはアプリケーション設定で設定されます)



音楽プレーヤー



行の単語をテキストに接着し、合成音声を再生するSpeakFromMyHeartコンポーネント



そしてもちろん、それをまとめて収集し、俳句の状態を監視し、単語の読み込みを管理し、インターフェイスの音を再生するメインアプリケーションです 。 ロジックをコンポーネントにさらに分割することは、それ自体を請うものであり、いつかそれを行います。



単語をドラッグアンドドロップするために、いくつかのドラッグアンドドロップライブラリを試し、 Dragulaで停止しました 。 それが判明したように、それはデスクトップではうまく機能しますが、モバイルデバイスでは奇妙です-言葉とともに、画面全体がドラッグされます。 開発チームに合格した全員が何らかの形で助けようとしましたが、感謝していますが、ハッカソン中に問題を解決することはできませんでした。 後のDragulaとvue-dragulaは、ドラッグアンドドロップ用にVDDLに置き換えられました。これは、このライブラリの方がドキュメントが充実しており、ネストされたコンポーネントに問題がないためです。



音節の定義



世界には、韻を求める詩人を支援するために設計された多くの図書館があります。それらは、単語の評価を与え、いくつの韻を踏む単語に音節を含めるべきかなどを提案します。 もともとはWords APIを使用することを目的としていました。これは、最も有名なそのようなライブラリであり、とりわけ、単語内の音節の数を決定できます。 しかし、テスト中、結果の正確性に疑問があり、ハッカソンの方法論者の助けを借りてこれらの疑問を解決する機会はありませんでした。



したがって、すでに一定の単語セットがあるため、MVPが音節を手動で計算しやすくする一方で、ハッカソン後にWords APIを無効にして整理する必要があると判断されました。 これで、グリッチがこのライブラリではなくむしろ私たちを訪問したという結論に達しました-任意の単語のセットで作業するときは、それを使用します。



声優



結果のラインのダビングを使った実験は楽しかったです。 私たちにとって、アプリケーションの雰囲気は重要です-悲しい物思いに沈んだ声が必要でした...まあ、俳句。 最初に、 Web Speech APIで動作する組み込みの音声を使用してみました 。 投票のセットはプラットフォームとブラウザに依存していることが判明しました。たとえば、Macは快適な女性の音色を生み出し、Ubuntuではかなり嫌なものでした。 キットをいじった後、最終的にAmazon Pollyに来ました。そこでは、「ツインピークス」の雰囲気を連想させる声があります。 Pollyと一緒に仕事をするのはうれしいです。彼女は生成された文字列を送信し、それに応答してバイトストリームを送信します。これは、再生に適したヘッダーとともにブラウザに送信する必要があります。 PollyはSSMLマークアップをサポートします。これにより、音声の選択、イントネーション、一時停止、速度などのマークアウトが可能になります。 たとえば、次のように:



<prosody rate=\"x-slow\">   <break time='1s'/>   <break time='1s'/>   </prosody>
      
      





-行の間に思慮深いポーズをとってゆっくりと話す。



まず、ちなみに、小さなAWS SDKラッパーであるChattyKathyライブラリを使用しました。 このライブラリを使用すると、Pollyにリクエストを送信し、合成音声を再生するのが非常に簡単になります。 しかし、最終的に、AmazonCognitoを介した承認に煩わされないように、バックエンドで音声を合成し始めました。



ポリーの問題は、彼女が支払われていることです。 ハッカソンの場合、これは些細なことですが、消すことはできません。そのため、現在のバージョンのハッカソンでの俳句の音は聞こえません-ビデオのみ:







さて、これまでにWeb Speech APIに戻りました (はい、これは現在のバージョンへのリンクです)。 Pollyとは異なり、SSMLはまだ実験的ではありません(すべてのブラウザーでサポートされているわけではありません)が、無料です。



ところで、彼らはChromeで面白いバグを見つけました。WebSpeech API仕様によると、サポートされていないタグがテキストで見つかった場合、それは無視されるべきです。 「Chrome」はすべてのマークアップを読み取ります。 私たちはスピーカーから初めて聞いたときに何が起こっていたかをすぐには理解しませんでした。



開発の機会





念のため、もう一度、 Skyeng Haikuの現在のバージョンへのリンク



まあ、いつものように、私たちは才能を積極的に探していることを思い出させます! 私たちと一緒に仕事に来てください、私たちは楽しんでいます!








All Articles