FC2ブログ

無窮 i ラボ Blog

知的ネット社会、知そのもの、機械との共生、プログラミングに関して。

 
 

ローマ字をカタカナに変換するJavascriptを書きました。

ネット上に同じ機能の Javascript が数件公開されているのを見つけたのですが、コピーして使おうとしたら使えなかったので、自分で書いたコードを公開します。

昔ながらの(?)コードの書き方をしているので、分かりやすいと思います。

function Roman2Kana(txt){
txt = txt.replace(/kk/ig,'ッk');
txt = txt.replace(/ss/ig,'ッs');
txt = txt.replace(/tt/ig,'ッt');
txt = txt.replace(/tc/ig,'ッc');
txt = txt.replace(/nn/ig,'ッn');
txt = txt.replace(/hh/ig,'ッh');
txt = txt.replace(/mm/ig,'ッm');
txt = txt.replace(/yy/ig,'ッy');
txt = txt.replace(/rr/ig,'ッr');
txt = txt.replace(/ww/ig,'ッw');
txt = txt.replace(/gg/ig,'ッg');
txt = txt.replace(/zz/ig,'ッz');
txt = txt.replace(/jj/ig,'ッj');
txt = txt.replace(/dd/ig,'ッd');
txt = txt.replace(/bb/ig,'ッb');
txt = txt.replace(/pp/ig,'ッp');

txt = txt.replace(/sha/ig,'シャ');
txt = txt.replace(/shi/ig,'シ');
txt = txt.replace(/shu/ig,'シュ');
txt = txt.replace(/she/ig,'シェ');
txt = txt.replace(/sho/ig,'ショ');

txt = txt.replace(/cha/ig,'チャ');
txt = txt.replace(/chi/ig,'チ');
txt = txt.replace(/chu/ig,'チュ');
txt = txt.replace(/che/ig,'チェ');
txt = txt.replace(/cho/ig,'チョ');

txt = txt.replace(/tsu/ig,'ツ');

txt = txt.replace(/kya/ig,'キャ');
txt = txt.replace(/kyu/ig,'キュ');
txt = txt.replace(/kyo/ig,'キョ');

txt = txt.replace(/sya/ig,'シャ');
txt = txt.replace(/syu/ig,'シュ');
txt = txt.replace(/syo/ig,'ショ');

txt = txt.replace(/tya/ig,'チャ');
txt = txt.replace(/tyu/ig,'チュ');
txt = txt.replace(/tyo/ig,'チョ');

txt = txt.replace(/nya/ig,'ニャ');
txt = txt.replace(/nyu/ig,'ニュ');
txt = txt.replace(/nyo/ig,'ニョ');

txt = txt.replace(/hya/ig,'ヒャ');
txt = txt.replace(/hyu/ig,'ヒュ');
txt = txt.replace(/hyo/ig,'ヒョ');

txt = txt.replace(/mya/ig,'ミャ');
txt = txt.replace(/myu/ig,'ミュ');
txt = txt.replace(/myo/ig,'ミョ');

txt = txt.replace(/rya/ig,'リャ');
txt = txt.replace(/ryu/ig,'リュ');
txt = txt.replace(/ryo/ig,'リョ');

txt = txt.replace(/gya/ig,'ギャ');
txt = txt.replace(/gyu/ig,'ギュ');
txt = txt.replace(/gyo/ig,'ギョ');

txt = txt.replace(/zya/ig,'ジャ');
txt = txt.replace(/zyu/ig,'ジュ');
txt = txt.replace(/zyo/ig,'ジョ');

txt = txt.replace(/dya/ig,'ヂャ');
txt = txt.replace(/dyu/ig,'ヂュ');
txt = txt.replace(/dyo/ig,'ヂョ');

txt = txt.replace(/bya/ig,'バャ');
txt = txt.replace(/byu/ig,'バュ');
txt = txt.replace(/byo/ig,'バョ');

txt = txt.replace(/pya/ig,'パャ');
txt = txt.replace(/pyu/ig,'パュ');
txt = txt.replace(/pyo/ig,'パョ');

txt = txt.replace(/ja/ig,'ジャ');
txt = txt.replace(/ji/ig,'ジ');
txt = txt.replace(/ju/ig,'ジュ');
txt = txt.replace(/je/ig,'ジェ');
txt = txt.replace(/jo/ig,'ジョ');

txt = txt.replace(/fa/ig,'ファ');
txt = txt.replace(/fi/ig,'フィ');
txt = txt.replace(/fu/ig,'フ');
txt = txt.replace(/fe/ig,'フェ');
txt = txt.replace(/fo/ig,'フォ');

txt = txt.replace(/ka/ig,'カ');
txt = txt.replace(/ki/ig,'キ');
txt = txt.replace(/ku/ig,'ク');
txt = txt.replace(/ke/ig,'ケ');
txt = txt.replace(/ko/ig,'コ');

txt = txt.replace(/sa/ig,'サ');
txt = txt.replace(/si/ig,'シ');
txt = txt.replace(/su/ig,'ス');
txt = txt.replace(/se/ig,'セ');
txt = txt.replace(/so/ig,'ソ');

txt = txt.replace(/ta/ig,'タ');
txt = txt.replace(/ti/ig,'チ');
txt = txt.replace(/tu/ig,'ツ');
txt = txt.replace(/te/ig,'テ');
txt = txt.replace(/to/ig,'ト');

txt = txt.replace(/na/ig,'ナ');
txt = txt.replace(/ni/ig,'ニ');
txt = txt.replace(/nu/ig,'ヌ');
txt = txt.replace(/ne/ig,'ネ');
txt = txt.replace(/no/ig,'ノ');

txt = txt.replace(/ha/ig,'ハ');
txt = txt.replace(/hi/ig,'ヒ');
txt = txt.replace(/hu/ig,'フ');
txt = txt.replace(/he/ig,'ヘ');
txt = txt.replace(/ho/ig,'ホ');

txt = txt.replace(/ma/ig,'マ');
txt = txt.replace(/mi/ig,'ミ');
txt = txt.replace(/mu/ig,'ム');
txt = txt.replace(/me/ig,'メ');
txt = txt.replace(/mo/ig,'モ');

txt = txt.replace(/ya/ig,'ヤ');
txt = txt.replace(/yu/ig,'ユ');
txt = txt.replace(/yo/ig,'ヨ');

txt = txt.replace(/ra/ig,'ラ');
txt = txt.replace(/ri/ig,'リ');
txt = txt.replace(/ru/ig,'ル');
txt = txt.replace(/re/ig,'レ');
txt = txt.replace(/ro/ig,'ロ');

txt = txt.replace(/wa/ig,'ワ');
txt = txt.replace(/wo/ig,'ヲ');

txt = txt.replace(/ga/ig,'ガ');
txt = txt.replace(/gi/ig,'ギ');
txt = txt.replace(/gu/ig,'グ');
txt = txt.replace(/ge/ig,'ゲ');
txt = txt.replace(/go/ig,'ゴ');

txt = txt.replace(/za/ig,'ザ');
txt = txt.replace(/zi/ig,'ジ');
txt = txt.replace(/zu/ig,'ズ');
txt = txt.replace(/ze/ig,'ゼ');
txt = txt.replace(/zo/ig,'ゾ');

txt = txt.replace(/da/ig,'ダ');
txt = txt.replace(/di/ig,'ヂ');
txt = txt.replace(/du/ig,'ヅ');
txt = txt.replace(/de/ig,'デ');
txt = txt.replace(/do/ig,'ド');

txt = txt.replace(/ba/ig,'バ');
txt = txt.replace(/bi/ig,'ビ');
txt = txt.replace(/bu/ig,'ブ');
txt = txt.replace(/be/ig,'ベ');
txt = txt.replace(/bo/ig,'ボ');

txt = txt.replace(/pa/ig,'パ');
txt = txt.replace(/pi/ig,'ピ');
txt = txt.replace(/pu/ig,'プ');
txt = txt.replace(/pe/ig,'ペ');
txt = txt.replace(/po/ig,'ポ');

txt = txt.replace(/a/ig,'ア');
txt = txt.replace(/i/ig,'イ');
txt = txt.replace(/u/ig,'ウ');
txt = txt.replace(/e/ig,'エ');
txt = txt.replace(/o/ig,'オ');

txt = txt.replace(/n/ig,'ン');
txt = txt.replace(/m/ig,'ン');

return (txt);
}
スポンサーサイト



 このエントリーをはてなブックマークする このエントリーを含むはてなブックマーク
音声アシスタント・新浜メチス」は、新浜メチス を、PCの画面の中から、ユーザーの部屋に飛び出させて漂わせます。

「音声アシスタント・新浜メチス」は、ほぼ全ての操作を音声でできます。またPCのマイクで声を拾うので、ヘッドセットの装着は不要です。

また、画面上に表示されていなくても(ウィンドウが最小化されていたり、違うタブが表示されていたりしても)、動作します。

部屋にいる誰かに向かって話しかける感覚で、使用できるのです。

つまり、部屋を環境的に(ambientに) 知的に変えるのです。
 このエントリーをはてなブックマークする このエントリーを含むはてなブックマーク
音声アシスタント・新浜メチス」は、鈴木 一平 さんの次のツイートをきっかけに開発されました。

Web Speech APIによる音声認識の、Niihamaシステム への導入は、2年前に模索するも叶いませんでした。

今回、再挑戦する刺激と、これに関する知識を、鈴木 一平 さん から いただきました。

 このエントリーをはてなブックマークする このエントリーを含むはてなブックマーク
音声アシスタント・新浜メチス (2020年6月3日公開開始)



こんにちは、高木です。本日は、2020年6月6日です。

この動画は、6月3日に公開しました「音声アシスタント・新浜メチス」のデモ・デモンストレーションです。

本動画チャンネルでおなじみの 新浜メチス と、音声でおしゃべりできます。不意に話しかけても、言葉を返してくれます。

アドレスは、動画の説明欄からリンクを張っていますので、お試しください。動作環境は、パソコン版のGoogle Chromeです。

では、はじめます。

***

最後になりましたが、「Google Chrome」が入ったマイク・スピーカ付きのパソコンがあれば、気軽に試せますので、是非とも お試しください。
 このエントリーをはてなブックマークする このエントリーを含むはてなブックマーク


こんにちは。新浜メチスです。

皆さん、ニイハマっていったら、何を思い浮かべますか?

士郎正宗さんのSF作品「攻殻機動隊」の中で、一時期、日本の首都であった神戸沖の人工島からなる架空の都市、ニイハマ県ニイハマ市、というのもありますが、やっぱり愛媛県の新居浜ですよね。

別子銅山、住友さん、そして水樹奈々さんの出身地ですよね。なお、新居浜市の花は、ツツジです。

2019年に、新居浜を通り過ぎてきましたので、その様子をお伝えします。
 このエントリーをはてなブックマークする このエントリーを含むはてなブックマーク