• ベストアンサー

超初心者ですが、、

超初心者ですが、、 フォームに文字を入力し、ボタンを押すと、入力した文字が音声ファイルとして転換され、 Webフォルダに落とされるという流れのものを作ろうとしていますが、 全く、どういうふうにやればいいかわかりません、、 ご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

ひらがなのみなのか、漢字まじりでもいいのか、 サーバー側で音声合成をさせるのか、あらかじめ単語単位になった音声ファイルを用意してそれを連結するだけなのか でかなり かわってくると思います。 たとえば、 HTMLのテキストフォーム上に、文章を記述 ↓ フォームからWebサーバーに submit ↓ PHPなりPerlなりが、テキストを受け取るので、それを一旦テンポラリファイル化する ↓ 分かち書きツールをシステムコールして、漢字仮名交じり文を平仮名の文に変換 (kakashiとかChasenとかMeCabとか) ↓ 結果をファイルから読みとって、音声合成ソフトの入力ファイルを作る ↓ 音声合成ソフト(コマンドラインで使えるもの)をシステムコールして、その出力ファイルを サーバー上にファイル保存する ↓ その音声ファイルへのリンクボタンを含む、結果表示HTMLを作る ↓ ブラウザにそれが表示される って感じじゃないですかね。 作ったことないので 想像ですが。 ちなみに、mp3ファイルってID3タグを取り除けば、単純に連結できるんですが、 50音別のmp3を連結しても、抑揚ないので、 多分 日本語として聞き取れないんじゃないですかね。 課題は、音声合成ソフトとそれの音源ライブラリとして コマンドラインで使えるもので、出力結果に著作権が発生しないもの って点ですかね。 どっかありそうですけど、詳しく知りません。

その他の回答 (3)

noname#140045
noname#140045
回答No.3

書き忘れましたが、 簡単な動作確認には、自分のPCへ「Apache」(無料)をインストールすればできるので、いきなりレンタルサーバーで動作確認はしない方がいいでしょう。 (但し、環境設定は必要です)

noname#140045
noname#140045
回答No.2

No.1です。 普通、PerlとPHP双方を使うことは、まずありません。 PerlでできることはPHPでもできる、PHPでもできることはPerlでもできる、からです。 (もっと使いこなせば機能によっては、やりやすい/やりにくいはあるでしょうが) それと正直、具体的にどうやるのか、私はわかりません。 ところで、よくわからないのはこれはアップロードでしょうか、ダウンロードでしょうか。 アップロードとは、自分のPCからサーバーや他PCからサーバーや他PCへファイル転送するもので、ダウンロードはその逆です。 あるいは、別のことを言っているのか。 それと、フォームに入力する文字は、音声ファイル名でよろしいのでしょうか。 音声ファイル名であれば、該当するファイルがなければエラーとなるだけです。 また、音声ファイル名を入力しなくとも、ファイル選択画面から選ぶようにすることも、簡単にできるはずです。 また、webフォルダと書いてありますが、これは特定のフォルダであることを意味しているのでしょうか、「webフォルダ」と限定していることの意味がよくわかりません。 たぶん、やろうとしていることは、それほど難しいとは思いませんが、PerlかPHPの最低限の知識は必要です。 ですから、まずPerlかPHPを動作させるとは、どういうことなのか(webとの連携)から勉強されてはいかがでしょう。

noname#140045
noname#140045
回答No.1

まず、web上に表示するだけならば、HTML,CSSの知識だけでも何とかなります。 しかし、フォームで入力処理を行うには、さらにプログラミング言語を覚える必要があります。 そのことは「CGIカテゴリー」を選択されているようなので、たぶん質問者さんも理解されているのかと思います。 CGIと言えば、普通はPerlですが、CGIでなくとも、PHPなどでも考え方は同じです。 まずは、それらの知識を覚えることから初めてはいかがでしょう。 全体的なことを知るために、最初は書籍で勉強されてはいかがでしょうか。 今、すぐにここで答えを求めようとしても、あまりにも説明が長くなってしまいます。 また、若干意味が良くわからない箇所もあります。 私のお勧めとしては、PerlよりもPHPです。 これは、PHPソースの中にもHTMLを記述でき、必要箇所だけPHP本来の言語で記述すれば、いいからです。 また、最近は無料でPerlやPHPを動作できる環境もあります。 「Sitemix」で検索してください。 では、頑張ってください。

oyaoyaoya777888
質問者

補足

sonot様 返答ありがとうございます。 PHPですか、、、 一応自分の考えはこうでした。 HTMLでフォームを作って、ボタンを押すとその入力した「文字」がPHPに渡されます。 その後、PHPとCGiを連動させ、「文字」をCGI渡して処理させます。 CGI側の処理とは「文字」に該当する音声ファイルを探し出して、指定フォルダに落とす。 (CGIに関してはまったくわかりません) という考え方でしたが、、、正しいでしょうか? このような、連動させるものは作ったことがないので、、、 特に、わからないのは、「文字」と該当する音声ファイルを探して、指定したフォルダに保存するところです。 sonot様 オールPHPで可能でしょうか? もし、sonot様ならどのような方法で作れると思いますか? サンプルでも構いませんので、、、 どうぞ、ご教授よろしくお願いします。

関連するQ&A