DIY音声翻訳

約1週間前、会話の中で私の良き友人が英語を学びたいと不満を言いましたが、残念なことに、仕事のスケジュールのために、彼女はコースに参加できませんでした。 通常の電話に何らかの種類の翻訳者チュートリアルがあればいいと思います(j2meプラットフォームを読んでください)。 モバイルに近いフォーラムのモデレーターとして、私はそのような解決策を求めてトピックを探し始めました。 いくつか見つけました。 問題はそれでした:

1)350 kbから7-8メガバイトまでの重み

2)テキスト翻訳のみ

3)いくつかの言語のみ(ロシア語-英語)



真のジェダイの開発者として、私は状況を修正し、女の子に感銘を与えることに決めました。同時に、私はj2meの音声を長く使いたいと思っていました。

このすべてのエンジンとして、すぐにGood Corporationの製品を選びました。

私は自分でTKを設定しました:

-最小限のインターフェース(2つの入力フィールド、翻訳元および翻訳先の言語の選択)

-テキスト翻訳

-翻訳されたテキストの音声演技

-音声入力



テキスト翻訳エンジンとして、私は使い慣れた開発者であるDoctor Driveから親切に提供されたソースコードを使用しました。

Habréで音声生成を見つけました。 数時間後、プロトタイプを準備し、テキストを翻訳して発声しました。



最も興味深く、一見非現実的な段階である-j2meでの音声認識のままでした。 私はすぐにソフトウェア処理のアイデアを素晴らしいものとして拒否し、GoogleSpeechAPIを使用して音声がどのように認識されるかを研究し始めました。 主題に関する十分な情報がありますが、主な問題はAPIがflacまたはspeex形式を受け入れることです。 それでは、j2seに対応する形式のライブラリをダウンロードし、j2meへの移植を開始します。 コーヒーのマグカップ20〜30〜50分の翌朝4時に、次の1000行以上の闘争を見て、Nokia N73でGoogleから音声検索をしたことがあり、驚くほどうまくいったと思いました速い。 メガプロダクションのコーデックflacがあったか、ちょっとしたトリックがありました。 プログラムとライブラリコードを延期し、新しいプロジェクトを作成します。その主な目的は、GoogleSpeechAPIとの互換性のために電話でサポートされているすべてのオーディオ形式をループすることです。 コンパイル、実行、私が間違っていたという数分間の恐怖、apiからのエラーを含む長いテキストキャンバス、そして群衆から際立った1つの答え。 そして、フォーマットは「エンコード= amr」です! 喜びは短命でした。投票を送信しようとすると、「oooh」などのテキストで不明瞭な答えが返されます。 すでに仕事で眠れぬ夜を過ごした後、脳の残りを捨てて、私は電話レコーダーがどのような特徴を書いているかを確認することにしました。 「audio / amr;を置き換える必要があることが判明しました。 rate = 16000 "to"オーディオ/ amr; レート= 8000 "。 仕事の後、どのように機能するかを確認します。 ビンゴ!

これで、プログラムとソースコードを多かれ少なかれ使用可能なものに整理することができました。 最終バージョンは次のとおりです。

-テキストをある言語から別の言語に翻訳します。言語のリストはtranslate.google.comの同じリストに似ています

-翻訳されたテキストを声に出す

-Voice-In-Voiceは翻訳できます。つまり、テキストを口述し、入力フィールドに表示され、翻訳されて、音声が流れます。

-発音の発音(理想的なソリューションではありませんが、機能します)。 フレーズを口述し、標準と照合してチェックします

-ファイルシステムと翻訳からテキストを開く

-ボイスレコーダーフォルダー(ファイルシステム内)に保存されている翻訳ログ



私は、エラーをキャッチするために、プログラムを電話、友人、知人、いくつかのフォーラムに投げます。 反応はあいまいで、一部のリソースではトピックに単一の投稿がなく、一部の友人はAndroid /コンピューターで同じことを尋ねました。 私はまだ同じ友人の反応を待っています。



UPD:見つかった問題を修正しました。記録時に、終了ボタンとタイマー記録でウィンドウに移動します。 サーバー/ネットワークでエラーが発生した場合、対応する通知を表示します



All Articles