ココロミにきみ

本と体とプログラミング

DIY 目と耳で学ぶ、語学支援webアプリ

目と耳で学ぶ、語学支援アプリを作りました

 

AIの音声合成で、英語などのテキストを音声に変換するのと同時に、どの単語を話してるかを、単語を光らせて教えてくれます

言語ごとに特有のリズムがあるのが、目で見てわかるというのが特徴です

<使い方>

1. 青色の欄に英語などのテキストを入力(file loadでもOK)

2. inputボタン

3.play&stopボタン


www.youtube.com

ちなみに、スペイン語の文章を英語の音声で読ませると、英語ネイティブの癖のあるスペイン語が聞けます(笑) これは予想外の機能・・・

このAI音声はまだ実験段階の技術なので、iPhoneでは動きを確認しているのですが、スマホの機種によっては動かないみたいです

また、英語の音声はパソコンで聞いたほうが聴きやすいです

スマホの英語の声はあまりオススメしないです

* * *

こちらがアプリへのリンクです

画像が使われてないと、真っ白なリンクになるのね・・・

molingit.com

裏話というかこのアプリには前段があります (どうやってアプリを作り始めるかの話でもある)

もともと語学アプリを作るつもりは全然なく、最新のブラウザの機能としてAI音声合成が使えて、 その読み上げる単語をindex化しているということから、特定の単語を取り出せることを思いつきました

そして思い起こしたのは、映画ラピュタで、ムスカが飛行石を持ってラピュタの中心部の石板?の上で、文字を光らせるシーンです

そこで「読めるぞ!」とか叫んだような記憶が・・・

* * *

で、文字が読めて、その文字が青く光る・・・がこのアプリの原型イメージで、仮プロジェクト名「Be a Muska」 というアプリでした(笑)

しかし、文字を青く光らせて、発音されても、オチがないやん!と思って、なんだかんだしてるうちに語学アプリになってしまったと・・・

ちなみにプログラム内部では、play&stopボタンはいまだに、function be_a_musuka(){}という関数で動いています・・・(笑)

漫画 リバーエンド・カフェ(は能じゃないか?)

「リバーエンド・カフェ」たなか亜希夫さん著

 

(ネタバレありです)

石巻の川のほとりにあるリバーエンドカフェ、そこに高校生の女の子サキが通うようになる

サキは東日本大震災に小学生のとき遭遇する 詳しくは語られないがおそらく両親を失い、自分の感情を表現する言葉を失ってしまっていた

* * *

そのカフェのマスターは正体不明ながら、サキは有耶無耶のうちにカフェに通うようになる

カフェにはマスターの知人たちが順番に訪れ、サキはその人たちと関わることで言葉を取り戻していく

ある時、サキはマスターの持っているレコードを通じて歌手ベッシースミスのブルースを聞くようになり、自分が抱えてきたことを歌で表現できることを知る

 

二年後、サキは再びカフェを訪れると、リバーエンド・カフェは忽然と無くなっていた

* * *

f:id:molingit:20220211162612p:plain

ここから感想

ストーリーはシンプルながら、とても心惹かれる漫画だった

最終巻でマスターや周りの知人たちが幻想の住人だっったのかもしれない、という話を知って、夢オチできたか!と最初思ったが、そんな単純な話じゃないと思い直した

つらつら考えるうちに、これは「能」なんじゃないかと

* * *

マスターやその知人たちの多くは震災でなくなった人たちは「シテ」で、生きている側の人間サキである「ワキ」に色々なことを語ってくる

サキは、突然現れたシテたちにおどろきながらも(もちろん生きている人間同士の話として描かれてる)、その話を聞いているうちに、自分のそれまで言えなかった思いを歌に載せて表現するようになる

その歌が、結果として「シテ」たちへの鎮魂歌となり、「シテ」たちは元の世界に帰っていき、「ワキ」役であるサキはその地を離れる旅人となる

* * *

・・・まぁ、勝手な想像ですが

さらに続けると、カフェはサキの視点から見て、左手側に描かれていた気がする

それが何を意味するかというと、能の舞台で、左手側は「シテ」が現れたり消えたりする場所であり

さらにさらに、なぜ名前が「リバーエンド」であって「リバーサイド」ではないかを考えると、川というのはそもそも、この世とあの世の境の表現であり(三途の川とか)、「リバーエンド」この世(こちら側)の終わり、ということを分かりやすく表しているんじゃないかと

* * *

最初、能の形式にしたのは何か意味があるのかな?と思ったけど、これはもう、それしか方法がなかったんだろうなと思い直した

震災という難しいテーマを扱うのに、徒手空拳で向かうと物語が回収できなかったり、読者を傷つけたり、作者自身も傷を負うかもしれない

だから、「能」のように、そういう難しいものを扱うのに長けた方法論を使って、やっと震災をテーマとして扱うことができたんだろうなと

おかげで「能」の存在意義もちょっとわかった

おすすめ

* * *

p.s. 最後にひとつ分からないのが、サキにトレーニングをつけてくれるはずだったあのオッサンとマスターって、どういう関係性なんだろうか?

いつか分かる時が来るのを楽しみにしつつ

 

啐啄の機を深める

先日の日本辺境論の感想(再読)では、啐啄の機に興味が湧いたという話をした

今日はその具体的な自分の経験を描いてみたいと思う

それは『風の谷のナウシカ』の魅力にもつながる

* * *

日本が辺境にあることが、なぜ啐啄の機の話につながるかを改めて考えてみると、辺境人のマインドは、「良いものは常に遠くにあって、我々はそれにいつかたどり着く『道』として粛々と求めていくのだ」という学びとの型しては素晴らしいものになっているが、同時に、『道』ゆえに、その良きことのイマ・ココでの実現を求め(てはいけ)ないものになっていると言える

だから辺境人としては生き方のバランスを取るためにも、「啐啄の機」を常に求め続けたほうがいい、という話がでてきたのだと

* * *

先日というか昨日、雪のなかを歩いていると、目の前をちょっとだけ通り過ぎた人が、派手に転んだ

すでに通り過ぎてるわけだし、気づかなかったことにしてもいいよな?と一瞬迷ったあと「大丈夫ですか?」と声をかけた

自分が転んだときに、声をかけられた方が嬉しいと0.1秒で思い出して

全くもって、啐啄の機ではない

* * *

どうでもいい話だけど、転んだその人は、荷物をたくさん肩からぶら下げていて、しっかり転んでいるのにビニール傘を手放さずに持ち上げていた

「○○は倒れても△△を手放しませんでした」的な戦時中の教訓話を思い出して、もしかしたら、その転んでも傘を持ち上げ続けてる姿を見て、自分は声をかけたのかもしれない

実際、倒れてる状態から起き上がるのに、明らかにその傘を持ち上げてるのが邪魔そうだったから、(立ち上がる間)「傘を持ちましょうか?」と手を差し出した

すると、その人は空のほうの手を伸ばしてきて、手を引っ張って立ち上げてくれという無言のジェスチャーだったので、その手を握って引っ張り起こした

* * *

ガシッと手にかかる体重の感覚は、全く見知らぬ人どうしなんだけど、ある種の信頼がそこに存在していたのが妙に印象に残った(本筋には関係ない話だが)

次にある記憶はもう自分が雪の中を歩き出して、待ち合わせの場所に向かっている光景だった

おそらく引っ張り起こした後は、もう何も手助けすることはないと、状況と自分の反応が全自動のように行われたので(たぶん)、記憶がなく、これはもしかすると啐啄の機の体現なのかもしれない

啐啄の機が体現されているときは、もしかしたら記憶が残らないのかもしれない

* * *

話を変える

風の谷のナウシカ」には色々魅了があるが、「ナウシカ自身の魅力の一つは、啐啄の機を体現している人である」ことだと、啐啄の機を考えてて言語化されるに至った

漫画か映画か忘れたけど、風の強い夜中に、異国の飛行艇が風の谷の空に堕ちかけて迷い込んくる、秒を争う緊迫したシーンがある

ミト爺か誰かが、「姫様(ナウシカ)なら、こんな時どうしただろうか?」というようなことを叫ぶと、ナウシカをよく知る子供たちが「姫姉様(の場合)なら、もうとっくに救助に行ってる」という答えを返すシーンがある

まさに、「助けなきゃと思う心」と、「実際に助ける行動」が同時に行われてるのが、ナウシカなんだろうと

* * *

そしてきっと、ナウシカは啐啄の機が体現されていることを、ほとんど自覚せずに行っている(ように描かれている)のだろう

おっと、気づけば風の谷はそれこそトルメキアとかに対する辺境の地として、描かれているじゃないですか!

うーむ、まさにナウシカは、『道」を求めつつも啐啄の機を体現する、日本人にとっての理想だったからこそ、人気の映画になったのかもしれない

* * *

今年も1ヶ月が過ぎてしまったが、今年のテーマは啐啄の機にしよう

「モグラの穴を踏む」

人口に膾炙させたい言葉シリーズ

 [モグラの穴を踏む]

意味

1.モグラの穴(掘り返した土)を踏んだ時のような、えも言われぬ快感をまろやかに表現したもの

2.体験してないことは想像がつかないことの例え

3.物事には多様な視点が必要なことを短く言ったもの

 

来歴

もともとは、1の「快感」の意味だけだったが、時代が下りモグラの穴を踏んだことがない世代が多数になってきて、2の「未体験」の意味にも使われるようになった

さらに、金子みすゞの詩「大漁」が発表された後は、モグラの視点から見ると、実はモグラの住居破壊や、通路妨害になっている可能性を人類が考えるようになり、そこから転じて、物事は多様な視点から見なければいけない、という3の意味が加わった

傍流として、畑でモグラの穴を見つけると、とても嬉しくないことから、多様な視点が必要という意味が生まれたという説もある

「カワウソ八百辞典」より

p.s. でも踏みたい

 

参考) 

 大 漁

    朝やけ小やけだ大漁だ

  大ばいわしの大漁だ。

  はまは祭りのようだけど

  海のなかでは

  何万のいわしのとむらい

  するだろう

 

f:id:molingit:20220207145439p:plain

 

本 日本辺境論(再読)

「日本辺境論」内田樹さん著

旅行にでるたびに読む本(旅行カバンにいれっぱ)

 

あまりにテーマが大きいので、その時の自分に合ったところだけが響く

* * *

この本の大きな仮説は、「日本が地理的な辺境にあり、中国という大きくて発達した国が2千年以上そばにあったことで、ある種の民族的パターンが生まれた」です

そのパターンとは、

「佳きものの源泉はどこか遠くの場所にあり、我々はそれを必死で取り入れる」

という民族的レベルでのマインドセット

言い換えると「自らの評価軸で良きものを作り出す側にはいない」と思ってること

* * *

そのなかで今回は「時間意識の変容」という話

日本人のつねに後手に回るという思考パターンは、日本人の根幹ではあるけれど、内田さんの本業である武道の話として考えると、あまりよくない

では、どうするか?

・・・「先手・後手という捉え方をなくす」のだと

伝わるか分からないけど引用してみる

「自分には無限の選択肢があったのだが、攻撃の入力があったせいで、選択肢が限定された」というふうに考えるのが「敵を作る」ことです

それに対して、「無限の選択肢」などというものは仮想的なものにすぎず、とりあえず目の前にある限定された選択肢、制約された可動域こそが現実のすべてであり、それと折り合ってゆく以外に生きる道はないと考えるのが「敵を作らない」ことです

そう思うことで、時間意識が変容する

(なんとなくアキレスと亀の寓話的な気もするのはおいといて)

・・・響いたのは、自分にとって現状が満足できる状態じゃなく、もっと何かできるはずなのに!と常に思ってしまっているから

* * *

それって、勝手に周りに敵を作って、自分を動きづらくしているんだなと

その敵とは、おそらくは「自分」であり

困った

* * *

よく分からないけど、これは村上春樹ダンス・ダンス・ダンスとも繋がっている気がする

そうか、これはいま考えても分かるわけないんだ

時間意識の変容があった後じゃなければ

村上春樹さんは、きっと地下二階から闇に潜っている間だけ、それと出会えたのだろう

PythonAnywhereを使ってみての感想

PythonAnywhereを使ってみての感想

プログラミングをする人向けの話です

* * *

PythonAnywhereというのはレンタルサーバで、Pythonがすぐ使える環境を貸し出してくれるサービスです

無料アカウントから始められます

自作APIとかを作るのにはもってこいかも

さくらとかでVPSを契約しての自分でセッティングするよりも簡単じゃないかと(使ったことはないですが)

日本語の解説サイトをいくつか見たら、すぐ使えるぐらいに簡単

見ないと使えないけど

* * *

ダメなところもあって、外部APIを使おうとすると、有料アカウントじゃないと使えないという闇トラップにひっっかったり

・・・ローカルで動いてたものがなぜアップロードしたら動かない??と何時間かを無駄にしたよ(どっかのドキュメントに正式に書いてあるのかもしれんけどさ、英語なんだよ)

ちなみに外部APIホワイトリストというのがあるらしく、自分が使いたい外部APIは大丈夫だから載っけてくれ!って、APIのURLとそのドキュメントを一緒に申請して許可されると、無料アカウントでも外部APIが使える・・・全て英語だがな。

トラブったら、とりあえずForumで検索してDeeplにかけるのが一番!

* * *

で、flaskを使って、PythonJavascriptの混合サイトを作りました

いまだにflaskをよくわかってないまま、いろんなサイトを参考にして、データをtextareとかに書き込んで、それをPythoとJavascriptで別々に処理するという形をとると、わりとスッキリいきました

よく分からないまま作っていいのが個人の強み

まっ、個人情報一切扱ってないし

* * *

ちなみに有料アカウントは、細かく料金設定が分かれていて「月額5ドルで、webアプリが一個作れます(◀︎わしコレ)」から始まって、7ドルにすると2個、9ドルで3個作れるほか、CPU処理をアップする、とかそれぞれのパラメータの数値をでかくするごとに、オプション料金が追加されていく、みたいな仕組みでした

月ごとに契約を続けるか、アップグレードするか、ダウングレードするか、止めるか決められるのはいい

* * *

ファイルのアップロードは、なかなかひどい仕組みで、画像ファイルとか一つずつ手作業であげるという鬼・・・なんかコマンドラインでまとめて送る仕組みとかあるんかいな???

* * *

もともとフロントエンドばっかりをやってきたので、できればJavascriptAPIが使いたいのだが、受け入れてくれない外部APIサイトのために、Pythonによる代替API中継サーバみたいなのを個人的に欲しいと思っていてる

だから、PythonAnywhereをそう使えないかなと

自作Javascirptサイト> API call > 自作Python API中継サーバ > API call > 外部APIサイト

・・・みたいな

しかし、CORS問題の解決がよく分からなくてできない

詳しい人に全てを一度解説してほしい(というかそこだけ作ってほしい(笑))

Lancersとかで発注側に回ろうかな

* * *

以上、PythonAnywhereを使った感想でした

DIY 音声乗り換え案内アプリ(首都圏)

目の見えにくいかた向けの、「音声乗り換え案内アプリ」ができました

首都圏向けで、大きな文字と音声で乗り換え情報を案内します

時刻と料金は分からないのですが(ライセンス問題!)、電車がすぐ来ることを予想できる日本ならいいんじゃないかと

 * * *

紹介映像にあるように、iPhoneユーザーは入力も音声で行えます

他のスマホで音声入力ができるのかは分からないです

 

もちろん無料です!(サーバーレンタル代が・・・笑)

 

アプリURL

https://molingit.pythonanywhere.com

 

紹介映像


www.youtube.com