富士五湖TV

富士山周辺の広域情報

牛舎
ログハウス建物からタレまで全て自家製のこだわりの焼肉。

by Fujigoko.TV

ホーム/ 掲示板各種/ 富士山周辺の広域情報

富士五湖.TVに広告を出してみませんか?

特報、連載中の葛飾北斎の視点(凱風快晴)
NHK歴史秘話ヒストリア」(2017年4月21日放送)で検証されました

掲示板&投稿集

富士五湖いろいろ掲示板
イベント掲示板
地元掲示板
口コミ掲示板

富士五湖特派員報告
富士五湖TV報告
特派員外も五湖便り
投稿画像コーナー
富士山ベストショット
ライブカメラ画像集
ライブカメラ殿堂
FujigokoTVでつぶやく

富士山ライブカメラ

山中湖高台180度
山中湖平野(望遠)
山中湖長池
忍野富士
忍野八海
忍野高台
富士山五合目(望遠)
富士吉田中曽根(望遠)
河口湖母の白滝
河口湖富士山遥拝所
河口湖船津
河口湖逆さ富士
河口湖北岸(望遠)
河口湖大石湖畔
河口湖大石高台
河口湖勝山
鳴沢村公園(望遠)
西湖・樹海
精進湖子抱き
本栖湖千円札
富士ドクタービレッジ
富士ヶ嶺ゴルフ場
職業訓練センター(望遠)
大原学園富士宮(望遠)
富士宮市柚野
富士市茶畑(望遠)
裾野庭園鉄道(望遠)
裾野市河川敷(望遠)
小山町須走(望遠)
河口湖畔
河口湖畔道の駅
山中湖畔
明見湖(広角)
国139昭和大入口
マップ交通カメラ
アクアリウム
富士五湖YouTube


富士山周辺の広域情報





2024年3月17日22時27分


久保覚 (富士五湖TV代表)

Profile 全投稿表示

LEDで点滅する北斎の冨嶽三十六景

https://www.fujigoko.tv/mtfuji/vol5/3Dmodel/
・凱風快晴
・山下白雨
・甲州三坂水面
・神奈川沖浪裏
大きさ
模型のみの大きさ:7.5cm×7.5cm×8cm程度
ショーケースを含む場合:9cm×9cm×9cm

コメント

削除修正新規













2024年2月13日20時26分


久保覚 (富士五湖TV代表)

Profile 全投稿表示

気象庁発表の天気予報をHPに表示する。

googleの生成AIのBardがGeminiになった。その実力を見るために何かプログラムを作って確かめてみた。

気象庁では定期的にXMLフォーマット形式の電文を配信している。
このXMLファイルを定期的に自動で読み込めばHP上に天気予報を表示できるので実際にGoogleGeminiを使用してプログラムしてみた。

以下に表示に至るまでの方法をステップごとに備忘録として記録する。
===========
ステップ1.気象庁のXMLフォーマット形式の電文を定期的に取り込む。
 サーバーのcrontabで定期的にXMLファイルを取り込むよう設定。
 気象庁のファイルは「https://www.data.jma.go.jp/developer/xml/feed/regular_l.xml」にある。
 読み込む方法はfreeBSDならfetchコマンドで取り込む。
 fetch -mp -o /自分のサーバーのパス/weatherJapan.rdf https://www.data.jma.go.jp/developer/xml/feed/regular_l.xml
 以上で、自身のサーバー内にweatherJapan.rdfファイルとして取り込み完了。
---------------
ステップ2.取り込んだデータから「山梨県の最新データ」を取り込む。
 「ステップ1」で取り込んだ気象庁のデータは全国の気象データのindexのようなものなので、そこから山梨県の最新気象データを抽出する。
 具体的には、indexに並んでいるデータ群(過去データもある)から目的のデータを見つける。
 山梨県の気象予報なら、甲府気象台の「https://www.data.jma.go.jp/developer/xml/data/データの日付_0_VPFD51_190000.xml」となる。
 データは過去のアーカイブを含むので最新のデータ、つまりリストの先頭のindexを引く。
 indexの引き方はunixのshellScriptで自動化する。
 生成AIで、「VPFD51_190000を含むリストの先頭の文字を取り出すshellScriptを書け」と命令。
 weatherF=$(grep -Eo 'https:\/\/www\.data\.jma\.go\.jp\/developer\/xml\/data\/(.*)VPFD51_190000\.xml' /自分のサーバーのパス/weatherJapan.rdf | awk -F/ '{print $NF}' | head -1)
 上記の回答を得る。
 次は変数weatherFを使用して山梨県のXMLデータをfetchで読み込む。
 fetch -mp -o /自分のサーバーのパス/weatherYamanashi.rdf https://www.data.jma.go.jp/developer/xml/data/"${weatherF}"
 以上で、自身のサーバー内にweatherYamanashi.rdfファイルとして取り込み完了。

<Gemini最初の指令>
https://www.data.jma.go.jp/developer/xml/feed/regular_l.xml
にあるXMLファイルから
https://www.data.jma.go.jp/developer/xml/data/*****_VPFD51_190000.xml
の部分を抽出し、抽出した先頭のみを表示するシェルを書け。
ただし、「*****」は任意の文字列。
解答→正規表現とgrepのパターンを提示してきた。正規表現はエラーになったのでgrepを使用し改良して使用。
---------------
ステップ3.「ステップ1」と「ステップ2」をcrontabで定期的に実行するようサーバーに記述する。
<weatherYamanashi.rdfファイルの中身例>
前段あり〜
<DateTime>2024-02-13T17:00:00+09:00</DateTime>
<Duration>PT7H</Duration>
<Name>今夜</Name>
</TimeDefine>
<TimeDefine timeId="2">
<DateTime>2024-02-14T00:00:00+09:00</DateTime>
<Duration>P1D</Duration>
<Name>明日</Name>
</TimeDefine>
<TimeDefine timeId="3">
<DateTime>2024-02-15T00:00:00+09:00</DateTime>
<Duration>P1D</Duration>
<Name>明後日</Name>
</TimeDefine>
</TimeDefines>
<Item>
<Kind>
<Property>
<Type>天気</Type>
<DetailForecast>
<WeatherForecastPart refID="1">
<Sentence>晴れ</Sentence>
<Base>
<jmx_eb:Weather type="天気">晴れ</jmx_eb:Weather>
</Base>
</WeatherForecastPart>
<WeatherForecastPart refID="2">
<Sentence>晴れ 昼過ぎ から くもり</Sentence>
<Base>
<jmx_eb:Weather type="天気">晴れ</jmx_eb:Weather>
</Base>
<Becoming>
<TimeModifier>昼過ぎ から</TimeModifier>
<jmx_eb:Weather type="天気">くもり</jmx_eb:Weather>
</Becoming>
</WeatherForecastPart>
<WeatherForecastPart refID="3">
<Sentence>くもり 後 一時 雨</Sentence>
<Base>
<jmx_eb:Weather type="天気">くもり</jmx_eb:Weather>
</Base>
<Temporary>
<TimeModifier>後 一時</TimeModifier>
<jmx_eb:Weather type="天気">雨</jmx_eb:Weather>
</Temporary>
</WeatherForecastPart>
</DetailForecast>
<WeatherPart>
<jmx_eb:Weather refID="1" type="天気">晴れ</jmx_eb:Weather>
<jmx_eb:Weather refID="2" type="天気">晴れ後くもり</jmx_eb:Weather>
<jmx_eb:Weather refID="3" type="天気">くもり後一時雨</jmx_eb:Weather>
</WeatherPart>
<WeatherCodePart>
<jmx_eb:WeatherCode refID="1" type="天気予報用テロップ番号">100</jmx_eb:WeatherCode>
<jmx_eb:WeatherCode refID="2" type="天気予報用テロップ番号">111</jmx_eb:WeatherCode>
<jmx_eb:WeatherCode refID="3" type="天気予報用テロップ番号">212</jmx_eb:WeatherCode>
</WeatherCodePart>
</Property>
</Kind>
<Kind>
<Property>
<Type>風</Type>
〜以下続く
---------------
ステップ4.定期的に取り込んだ山梨県の天気予報データ(weatherYamanashi.rdf)を解析する。
 解析にはperlプログラムを使用する。
 必要な部分のみperlの正規表現を使用してプログラムしようとしたが、今回は「XML::Simple;」を使用することにした。
use File::Slurp;
use XML::Simple;
use Data::Dumper;
my $xml = read_file("weatherYamanashi.rdf"); #ファイルの読み
my $parser = XML::Simple->new(); #XML::Simple使用準備
my $parser_data = $parser->XMLin( $xml); #取り込み
print Dumper($parser_data); #結果表示
〜取り込まれたデータ例
$VAR1 = {
'xmlns' => 'http://xml.kishou.go.jp/jmaxml1/',
'xmlns:jmx' => 'http://xml.kishou.go.jp/jmaxml1/',
'Control' => {
'DateTime' => '2024-02-11T01:34:15Z',
'Status' => "\x{901a}\x{5e38}",
'PublishingOffice' => "\x{7532}\x{5e9c}\x{5730}\x{65b9}\x{6c17}\x{8c61}\x{53f0}",
'EditorialOffice' => "\x{7532}\x{5e9c}\x{5730}\x{65b9}\x{6c17}\x{8c61}\x{53f0}",
'Title' => "\x{5e9c}\x{770c}\x{5929}\x{6c17}\x{4e88}\x{5831}\x{ff08}\x{ff32}\x{ff11}\x{ff09}"
},
'Head' => {
'xmlns' => 'http://xml.kishou.go.jp/jmaxml1/informationBasis1/',
'TargetDateTime' => '2024-02-11T11:00:00+09:00',
'Headline' => {
'Text' => {}
},
'InfoKind' => "\x{5e9c}\x{770c}\x{5929}\x{6c17}\x{4e88}\x{5831}",
'TargetDuration' => 'P2DT13H',
'EventID' => {},
'Serial' => {},
'Title' => "\x{5c71}\x{68a8}\x{770c}\x{5e9c}\x{770c}\x{5929}\x{6c17}\x{4e88}\x{5831}",
'InfoType' => "\x{767a}\x{8868}",
'InfoKindVersion' => '1.0_1',
'ReportDateTime' => '2024-02-11T11:00:00+09:00'
},
'xmlns:jmx_add' => 'http://xml.kishou.go.jp/jmaxml1/addition1/',
'Body' => {
'xmlns' => 'http://xml.kishou.go.jp/jmaxml1/body/meteorology1/',
'xmlns:jmx_eb' => 'http://xml.kishou.go.jp/jmaxml1/elementBasis1/',
'MeteorologicalInfos' => [
{
'TimeSeriesInfo' => [
{
'Item' => [
{
'Area' => {
'Code' => '190010',
'Name' => "\x{4e2d}\x{30fb}\x{897f}\x{90e8}"
---------------
ステップ5.必要な部分のみ取り出す
 例えば、天気予報の部分を取り出す
sub getJMAWeatherTenki{
my $data = shift; #取り込んだハッシュ
my $place_id = shift; #地域コード:富士五湖=1
my $time_id = shift; #今日=1,明日=2、明後日=3

my $content;
foreach my $weather_define ( @{$data->{Body}{MeteorologicalInfos}[0]{TimeSeriesInfo}[0]{Item}[$place_id]{Kind}[0]{Property}{WeatherPart}{'jmx_eb:Weather'}} ){
if( $weather_define->{refID}==$time_id ){
$content = $weather_define->{content};
}
}
return $content;
}
戻り値例:「くもり後晴れ」

<Gemini最初の指令>
weatherYamanashi.rdfを解析し、天気データ「{jmx_eb:Weather}」の「{refID}」が一致する文字列「{content}」を得よ。
解答→得た答えを修正して上記を仕上げた。
---------------
ステップ6.天気予報の文字から画像を作成する
 まず以下の画像データを意味付けしたファイル名で作成する。
 文字列から画像ファイル名を構成する。
sub getJMAWeatherImg{
my $weather_str = shift; #天気文字列
my $time_id = shift; # my %exDayId = ( '今日' => 1, '明日' => 2, '明後日' => 3 );

use constant WEATHER_CODES => { '晴れ' => 1, 'くもり' => 2, '雨' => 3, '雪' => 4, };
use constant TIME_CODES => { '時々' => 1, '後' => 2, };

my @parts = split(/(後|時々)/, $weather_str);
my $a = WEATHER_CODES->{ $parts[0] } || 0;
my $b = TIME_CODES->{ $parts[1] } || 0;
my $c = WEATHER_CODES->{ $parts[2] } || 0;
my $p = 0;
my $name; #以下は「今夜」の場合を考慮する
foreach my $time_define ( @{$exParserData->{Body}{MeteorologicalInfos}[0]{TimeSeriesInfo}[0]{TimeDefines}{TimeDefine}} ){
if( $time_define->{timeId}==$time_id ){
$name = $time_define->{Name};
}
}
Jcode::convert( \$name, 'utf-8'); #ファイル内はUTF-8だが、そのままでは使用できない
my $fDayw = Jcode::convert( '今夜', 'utf-8'); #そのため比べる両者をUTF-8で再矯正する
if( $name eq $fDayw ){ $p = 1; }
my $fileImg = sprintf("tnk%04d.png", $p . $a . $b . $c);
return $fileImg;
}
 何故か文字化けが発生し苦労したが上記の方法で回避

<Gemini最初の指令>
「晴れ」、「晴れ後くもり」、「雨時々雪」と言った文字列があります。
「後」と「時々」をキーに文字列を前後に分けて上の例なら、
「晴れ」、「晴れ」「後」「くもり」、「雨」「時々」「雪」と文字列を分解するperlプログラムを書け。

得た文字列を、「晴れ」=1、「くもり」=2、…のように3桁の数字に置き換えよ。
解答→得た答えを修正して上記を仕上げた。
---------------
ステップ7.以上のプログラムを半分以上生成AIに手伝ってもらい完成させた。
 あとは自分の環境に合わせて関数化し汎用ライブラリーとして保管。
---------------

 以上、動作例は「https://live.fujigoko.tv/?n=30」等を参照。

今回は自身と気象庁のサーバー負荷を考え以上のようにしたが、「ステップ1」と「ステップ2」を省いて全てperlで記述すればその都度全国の気象データを得ることができる。
具体的には、https://www.data.jma.go.jp/developer/xml/feed/regular_l.xmlから全国の気象データを抽出すれば良いようにプログラムをさらに汎用化し公開もできる。
が、自身のサーバーでそのサービスを提供するメリットがあるかどうかと考えてしまった。

#コンピュータ #AI #人工知能 #プログラム 

コメント

削除修正新規













2024年1月23日20時39分


久保覚 (富士五湖TV代表)

Profile 全投稿表示

Suno AI, chatGPT, 最新のAIでどこまで楽曲ができるか? その2

国土交通省が主体で勧めている日本風景街道と「ぐるり富士山風景街道」の一環である富士山一周サイクリング。
テーマの一部として浮世絵と富士山を含む模擬ツアーを行い、昨年12月に外国人数名と富士山一周のe-Bikeツアー(トータル4日間)の撮影同行した。
その成果物として動画編集をするのだが、外国人向け動画のバックミュージックは英語歌詞の入った楽曲にしようと思っていた。

ところが、編集をしようにも動画の内容にあった詩もないし、たいていの歌入りは著作権の問題もあった。
そこで、昨年夏から話題になっていたSunoAIが12月にバージョンアップしたという事で活用してみることにした。

そしてそれは、結果的に動画のバックグラウンドに最適だった。
もちろん、ツアーの内容はすべて英語詩に入っている。
まず、chatGPTに「e-Bikeで富士山一周の動画を作りバックミュージックは英語である」ことを示唆。
次に動画に入れ込むシーンの説明を加えた。例えば「神社に行った」とか「洞窟に入った」とかだ。
何度かの指令のあとchatGPTにてなんとなく詩が出来上がったのである。
この時に注意することは、イントロ→詩→つなぎ→サビといった構成の考慮は私自身が行った。
(もちろん、chatGPTもそれなりに考慮してくれますが、SunoAIとの相性はあります。)

次に、出来上がった英語詩をSunoAIにてバックミュージックとして楽曲とボーカルを生成させてみた。
そして、幾つかの候補から楽曲の長さを4分程度に調整し、バックグラウンドミュージックとして完成させました。


出来上がった楽曲はCとFの繰り返しで単調だがバックミュージックとしては邪魔にならないよう出来上がったと思う。というより大切な要素。

以下に英語詩と対訳と出来上がった動画を掲載しておく。
その驚くべき親和性とAIの発達に敬意を表する。

思い起こせば2015年にgoogleの人工知能の記事に触れて感想を記事にしたが、あれから9年でここまできた。さらに10年後、20年後で2045年問題を超えるが、想定より早いかもしれない。
富士山一周のe-Bikeの行程は以下の通り。
1日目:清水→三保→由井→御殿場
2日目:御殿場→須走→山中湖→忍野八海→富士吉田
3日目:富士吉田→河口湖→樹海と洞窟→朝霧ふもとっぱら
4日目:朝霧ふもとっぱら→牧草地→白糸→柚野→富士山本宮
上記の各動画(日本語・英語)、計8本。

=================================
Title:Around Mt.Fuji Adventure Tour

Sacred shrines echo in the wind,
Embracing the unknown, riding on E-BIKE,
The melody of the fields, the heartbeat of the earth,
In the depths of caves, treasures concealed,
Dreams painted on the shores of the lake.

On our e-bike tour, every moment's a thrill (oh-yeah)
At the foot of Mount Fuji, the adventure begins.

Exploring cultural heritage on E-BIKE,
Life at the foothills of Mount Fuji, resonates within,
The landscapes weave an emotional poem,
Unending adventures, a journey to dreams.

Mystical shrines, the breath of history,
Proud lands, a stage set in melody,
The song of the fields, the heartbeat of the earth,
In the mystery of caves, the magic of treasures,
Colors of dreams reflected on the lakeside.

Exploring cultural heritage on E-BIKE,
Life at the foothills of Mount Fuji, resonates within,
The landscapes weave an emotional poem,
Unending adventures, a journey to dreams.

Guided by Mount Fuji beneath the starry sky,
The light of E-BIKE shining toward a brilliant future,
Imprints of adventure on the heart,
A quiet continuation of the fantastical journey.

Guided by Mount Fuji beneath the starry sky,
The light of E-BIKE shining toward a brilliant future,
Imprints of adventure on the heart,
A quiet continuation of the fantastical journey.

======= 日本語翻訳 =======

タイトル:富士山一周アドベンチャーツアー

神聖な神社が風に響き渡り、
未知を受け入れ、E-BIKEに乗って、
野原の旋律、大地の鼓動、
洞窟の奥には財宝が隠されており、
湖畔に描かれた夢。

私たちの電動自転車ツアーでは、あらゆる瞬間がスリル満点です (そうそう)
富士山の麓から冒険が始まります。

E-BIKEで文化遺産を巡る、
富士山麓の生命が響き渡り、
情緒あふれる詩を織りなす風景、
終わりのない冒険、夢への旅。

神秘的な神社、歴史の息吹、
誇り高き土地、メロディーに彩られた舞台、
野の歌、大地の鼓動、
洞窟の神秘、宝物の魔法、
湖畔に映る夢の色。

E-BIKEで文化遺産を巡る、
富士山麓の生命が響き渡り、
情緒あふれる詩を織りなす風景、
終わりのない冒険、夢への旅。

星空の下、富士山に導かれて、
輝かしい未来に向けて輝くE-BIKEの光、
心に残る冒険の痕跡、
幻想的な旅の静かな続き。

星空の下、富士山に導かれて、
輝かしい未来に向けて輝くE-BIKEの光、
心に残る冒険の痕跡、
幻想的な旅の静かな続き。
その他の日程の「ぐるり富士山サイクルネット協議会」の動画は以下から。

#AI #人工知能 #動画配信 #SunoAI #chatGPT #ぐるり富士山 

コメント

削除修正新規













2024年1月20日18時48分


久保覚 (富士五湖TV代表)

Profile 全投稿表示

Suno AI, chatGPT, 最新のAIでどこまで楽曲ができるか?

そこで、ちょっと変な狂気をはらんだ意味不明の楽曲を作成できるかにチャレンジしてみた。
結果、わずか数時間で完成。
文章生成AIが本格的に使えるようになってから1年以上経過した。
その後、画像生成、動画生成と時代は進化してついに昨年夏ごろから自動作詞作曲までできるようになった。しかも歌まで歌ってくれる。
そして、最近になって私のもとに動画作成の依頼があったのでそのバックグラウンドミュージックに歌詞付きの音楽を入れたくなったので実際にAIを活用して楽曲を作成してみた。
まず著作権クリアのために課金を行い、PCの画面を通して動画の状況説明と要望を入力して英語歌詞の楽曲を作成した。
結果、思いのほか簡単に良いものができたので感動した次第です。

この動画は後日公開いたします。


さて、今回はAI楽曲作成の話……

そこで、ちょっと意地悪に日本語歌詞の楽曲を作ってみた。
その成果が以下です。
#AI #人工知能 #動画配信 #SunoAI #chatGPT 

コメント

削除修正新規













2023年12月24日13時27分


久保覚 (富士五湖TV代表)

Profile 全投稿表示

過去のFacebookから転載「SONY VECTRON」

2016年10月17日投稿記事
数年後の手書き図面プロモーション動画(Ver.1プロトより処理速度早くなったなぁ)。結局メニューが付いたけど20代の俺って天才(^^;
ラインアップとしてWacomのハンディタイプとSONYの大型タイプも追加。Wacomはまだマイナーな頃、一方の大型タイプはSONYのVectronというA1サイズの入出力装置を使用。VECTRONはレーザーテクトロシステムを採用し、システムは(懐かしい)NEWS。
この当時はSONY村の五反田によく通った思い出。今は本社も売却…
ちなみに当時のプログラムはこんな書式で記述していたのかぁ…飲んでいる時間もあったけど、100時間残業なんて普通だったと思い出に浸る数日でした(*^^)v
確かVECTRONに表示されている画像は私がプログラムした DXF-file → VECTRON から生成したものか VECTRON用T-boardの図面だったと思う。
#Facebook #AI #人工知能 #コンピュータ 

コメント

削除修正新規













2023年12月24日13時24分


久保覚 (富士五湖TV代表)

Profile 全投稿表示

過去のFacebookから転載「T-Boardについて」

2016年10月16日投稿記事
昨日、昔の画像を探していたら20代に開発していた人工知能CADのVideoとカタログが出てきた。27〜29年近く前(2024年からは35年以上前)、懐かしい。後日書いた小説では、 〜 http://www.fujigoko.tv/rev/sty0203.html までに相当。カタログのモデルはオーディションを開催したが私の意見は通らなかった(?_?)
ビデオの注目点は当時の銀座浜離宮にあった竹中工務店東京本店の製図ルーム。ドラフターが圧巻の風景だったのを今も覚えている。ビデオ撮影は竹中情報部にてインターグラフと、ナレーションは当時のNHKアナウンサー。晴海のショーのために制作。
ちなみに当時開発していた「人工知能CAD」は現在の人工知能=AIではなく、知識ベースを基にコンピュータが適切解を導くというものだった。
よって、学習機能は人間が論理的に入力する必要があるし、大量の事象を学ぶわけではない。あくまで知識ベースを基にコンピュータが判断するものだ。

例えば、東京都のある場所にRC構造のビルを建てるとする。
敷地のある場所により、商業地域とか斜線制限とか日照権とか容積率とかエレベーターの位置とかはある程度法律や土地の形状で決まる。その決め事を知識ベースとし、建てられるビルのガイドラインを数種類提示し、営業は現地にてクライアントに即時提案できる。
というものに過ぎなかった。

しかし現在は大量の情報を処理し、特に特化した知識ベースでなくても土地の形状と法律を教えてやればそれなりにビルの設計程度ならできてしまうということだ。
#Facebook #AI #人工知能 #コンピュータ 

コメント

削除修正新規













2023年10月10日10時34分


勝山観光協会・勝山民宿組合

Profile 全投稿表示

2023年 道の駅かつやま 感謝祭

令和5年10月15日(日)「道の駅かつやま」で感謝祭が開催されます。当日は自衛隊の特殊車両が来て見学や乗車体験が出来ます。また、豪華賞品が当たる抽選会もありますので、皆様お誘い合わせの上、ご来場下さい。

コメント

削除修正新規













2023年9月12日09時45分


ビュー山中湖

Profile 全投稿表示

*****

うっとうしい新型コロナウィルスの脅威がまだまだ続きそうです。ビュー山中湖もその対策として【入館時の検温】【手指のアルコール消毒】【食事以外の館内でのマスク着用】などスタッフ一同徹底をしております。お客様には大変御面倒ですが、これらのコロナ対策にぜひご協力していただきますようお願いいたします。

コメント

削除修正新規













2023年6月13日22時41分


久保覚 (富士五湖TV代表)

Profile 全投稿表示

chatGPTとともにLUAで動画配信OBSでカメラシーンを切り替えるスクリプトのプログラム

全てをchatGPTだけでプログラムしようとした。
プログラム言語は「LUA」というスクリプト言語で、C言語に近い。ところが、私は今までLUAを使ったことが無かった。
そこで、chatGPTと相談しながら作業を進めることにしたのである。
やりたいことは、動画配信で日中は富士山、夜間は水槽の動画を配信すること。

まず、日没と日の入りを求める関数を作るため以下のように指令した。
「動画配信ソフトのLUAを使用して日の出と日の入りを求めるget_SunrizeSunset関数を作成せよ。ただし、引数に緯度経度と求める日を使うこと」
早速プログラムコードが出てきたので、次の指令をした。
「先の関数を使用して日中の場合はTrue、夜間の場合はFalseを返すこと。」
だんだんプログラムが長くなった。
「動画配信ソフトOBSを使用して日中ならFUJI、夜間ならAQUAのシーンを選択すること」
「日の出と日没時間にマージンを持たせるように改良せよ」
幾つか齟齬があって修正を繰り返し一行もソースコードを書かずにプログラムが完成し、動画配信OBSに実装した。

ところが、ここから長かった。
実装すると日没と日の入り時間になってもシーン(カメラ)が切り替わらない。
どうやら日没と日の入り時間が間違っているようだ。
一行もコードを書かないと決めていたので言葉だけで修正を求める。
例えば、「日本時間に対応しているか?」とか「どこかに誤りはないか?」とか。

その都度、黙々と文句を言わずコードを修正して返してくるchatGPT。
途中で「天体の運行がどう」とか「LUAは数学演算が苦手」だとか「さらに精密な計算をしてみる」とか言い訳が始まってプログラムリストはどんどん長くなる。
そこで「おおまかな時間が分かればよい」と指令すると「私には分からないので他の言語のライブラリの使用を勧められた」
この間約半日ほど経過していた。私はただchatGPTのコードをコピペして結果を報告するだけだった。途中面白いのは「以下の値がどうなっているか教えて」とか必死にデバッグに励んでいたことだった。

そして、とうとうchatGPTでは正解にたどり着けなかった。
仕方が無いのでgoogleで検索すると日の入り日没を求める関数がすぐに見つかった。
私にとって初見のLUAだったが何度も修正リストを見ていたので言語の記述方法は理解できたこともあり、見つけた関数の部分だけchatGPTのプログラムと置き換えたらちゃんと動作した。

結果的にだがchatGPTは太陽系の運行から日の出日没を求めようとして失敗したが、googleで見つけた関数は緯度経度を考慮した地球から太陽の位置を求めていた。
私的には精密な日の出日没が欲しかったわけではなく「カメラの切り替えをしたいだけなのでだいたいな時間」が分かればよかったわけだ。
しかし、時間を求めること以外のプログラムはchatGPTのままで動作した。例えば動画配信ソフトでのカメラの切り替えとか日中とかの判断する部分。

つまり、単純に欲しい関数の使用を伝えそれらを組み合わせて全体を構築する部分の運用は意図通りの関数を作成してくれた。
もちろん、目的を達成するために関数という部品をどのように分解して伝えるのかという部分は人間が考えるのだが、その辺も理解して仕様通りの関数を作成してくれた。
この全体のシステムをどのように分解していくのが後工程を楽にするかはシステム設計の基礎が無ければならない。
chatGPTへの指令次第では長大なプログラムリストになり、ミスや修正が難しくなる。
ようするに今回は「日の出日没」の時間を得る関数の入れ替えで簡単に修正できた。

私の反省点として関数を作成する都度、実行結果の予想と結果を報告すれば良かったと思う。
関数の指令を与えながら次第に全体が出来上がるまでコピペのみですませようと少し過信しすぎた。それほどこちらに考える間を与えずプログラムリストを吐き出してくるのにはまってしまった。

というわけで出来上がった動画配信の様子は現在、 https://www.youtube.com/watch?v=mWm6luQ1d7M で見ることができる。
日の出30分前から富士山画像へ、日没後20分後から水槽カメラへと切り替わる。

以降、LUAで動画配信OBSでカメラシーンを切り替えるスクリプトのプログラムリスト。
obs = require('obslua')
os = require('os')

scene_now = ""
scene_WEB251 = "WEB251" -- 富士山カメラ
scene_WEB252 = "WEB252" -- 水槽カメラ
latitude = 35.68039639541995 -- 緯度経度は東京駅にしてある
longitude = 139.76788440520536
sunrise_margin = -30 -- 分単位で指定(2時間前=-120)
sunset_margin = 30 -- 分単位で指定(2時間後=120)

-- sunrise / sunset calculation
function rscalc(latitude, longitude, when)
local pi = math.pi
local doublepi = pi * 2
local rads = pi / 180.0

local TZ = function(when)
local ts = os.time(when)
local utcdate, localdate = os.date('!*t', ts), os.date('*t', ts)
localdate.isdst = false

local diff = os.time(localdate) - os.time(utcdate)
return math.floor(diff / 3600)
end

local range = function(x)
local a = x / doublepi
local b = doublepi * (a - math.floor(a))
return b < 0 and (doublepi + b) or b
end

when = when or os.date('*t')

local y2k = { year = 2000, month = 1, day = 1 }
local y2kdays = os.time(when) - os.time(y2k)
y2kdays = math.ceil(y2kdays / 86400)

local meanlongitude = range(280.461 * rads + 0.9856474 * rads * y2kdays)
local meananomaly = range(357.528 * rads + 0.9856003 * rads * y2kdays)
local lambda = range(meanlongitude + 1.915 * rads * math.sin(meananomaly) + rads / 50 * math.sin(2 * meananomaly))

local obliq = 23.439 * rads - y2kdays * rads / 2500000

local alpha = math.atan2(math.cos(obliq) * math.sin(lambda), math.cos(lambda))
local declination = math.asin(math.sin(obliq) * math.sin(lambda))

local LL = meanlongitude - alpha
if meanlongitude < pi then
LL = LL + doublepi
end

local dfo = pi / 216.45

if latitude < 0 then
dfo = -dfo
end

local fo = math.min(math.tan(declination + dfo) * math.tan(latitude * rads), 1)
local ha = 12 * math.asin(fo) / pi + 6

local timezone = TZ(when)
local equation = 12 + timezone + 24 * (1 - LL / doublepi) - longitude / 15

local sunrise, sunset = equation - ha, equation + ha

if sunrise > 24 then
sunrise = sunrise - 24
end

if sunset > 24 then
sunset = sunset - 24
end

return math.floor(sunrise * 60), math.ceil(sunset * 60)
end


--本日の日中かどうか審議する
function is_daytime(latitude, longitude, sunrise_margin, sunset_margin)
local date = os.date("*t")
local sunrise, sunset = rscalc(latitude, longitude, date)
-- obs.script_log(obs.LOG_INFO, "Sunrize(min): " .. sunrise)
-- obs.script_log(obs.LOG_INFO, "Sunset(min): " .. sunset)

sunrise = sunrise + sunrise_margin
sunset = sunset + sunset_margin
local zero_oclock = os.time({year = date.year, month = date.month, day = date.day, hour = 0})

-- 与えられた日の日の出と日の入りの時間(秒)を計算
local sunrise_sec = zero_oclock + sunrise * 60
local sunset_sec = zero_oclock + sunset * 60
local now_sec = os.time(date)

--[[ Debug Section START
local t = os.date("*t", sunrise_sec)
local time_str = string.format("%04d-%02d-%02d %02d:%02d:%02d", t.year, t.month, t.day, t.hour, t.min, t.sec)
obs.script_log(obs.LOG_INFO, "Current time: " .. time_str)
local t = os.date("*t", sunset_sec)
local time_str = string.format("%04d-%02d-%02d %02d:%02d:%02d", t.year, t.month, t.day, t.hour, t.min, t.sec)
obs.script_log(obs.LOG_INFO, "Current time: " .. time_str)
]]

if sunrise_sec <= now_sec and now_sec <= sunset_sec then
return true
else
return false
end
end

--シーンの切り替え
function switch_scene(scene_name)
local scenes = obs.obs_frontend_get_scenes()

for _, scene in ipairs(scenes) do
local scenes_list = obs.obs_source_get_name(scene)
if scenes_list == scene_name then
if scenes_now ~= scene_name then
scenes_now = scene_name
obs.obs_frontend_set_current_scene(scene)

local t = os.date("*t")
local chg_str = string.format("%02d-%02d %02d:%02d -- %s", t.month, t.day, t.hour, t.min, scene_name)
obs.script_log(obs.LOG_INFO, "Switched scene: " .. chg_str)

end
break
end
end
end

--日中ならWEB251、夜ならWEB252
function check_time()
if is_daytime(latitude, longitude, sunrise_margin, sunset_margin) then
switch_scene(scene_WEB251)
else
switch_scene(scene_WEB252)
end
end

--
function script_description()
return "Script to switch scenes at specified times."
end

--
function script_load(settings)
obs.timer_add(check_time, 60 * 1000)
end
#chatGPT #プログラム #OBS #動画配信 

コメント

削除修正新規













2023年6月4日22時37分


久保覚 (富士五湖TV代表)

Profile 全投稿表示

蝙蝠オーグのアジトは河口湖ステラシアターだった⁉

山梨ではシン仮面ライダーの公開が終わった。そこで、見た感想を書いてみる。

 一言でいうと「たいへん良かったし、面白かった」に尽きる。特に50代以降の人には刺さるものがあったと思う。
個人的に最初の仮面ライダーを見たのは小学生2年のころか?印象は暗く怖いイメージがあった。今思えばショッカーの行動原理は当時の学生運動の陰湿さの敗北と重なる。
ちょうどこのころ、あさま山荘事件をきっかけに山岳ベース事件が明るみになったころで(特に漫画版の)ショッカーには当時の学生運動と同じ香りがしていた。新仮面ライダーにはまさにその香りが残っており、ノスタルジーを感じた次第である。
 また随所にコアな石ノ森章太郎初代仮面ライダーへのリスペクトが入っており、監督の愛も感じた。裏返せば平成以降の仮面ライダーファンや事情を良く知らない人には作品の賛否が分かれるだろうと思った。

しかし、そんなことはどうでも良く新仮面ライダーは個人的に良かったと言える。
 ここで少し作品の内容に触れるが、序盤の蜘蛛オーグ(旧クモ男)を倒すまではYoutubeで公開されているようで、ライダーの制御できない圧倒的な力と暴力を原作の設定通りに表現していた。思い起こせば初代仮面ライダーの時にあったコウモリ男との戦いでの血しぶきシーンの再現かと思われるが、当時の解説本の設定通りに行うとこうだろうなと感じた。
 そういえば、新仮面ライダーと蝙蝠オーグとの戦いのアジトは何と「河口湖ステラシアター」だった。初代仮面ライダー1話目の序盤に出てくる本郷猛と立花藤兵衛がバイクの練習をしているところへショッカーたちが襲ってくるシーンは河口湖ステラシアター近くだったことを思い出した。ここでのバイクに乗りながら風を受けて変身するシーンは理屈抜きにカッコイイ。

 蜂オーグとの戦いのCGは石ノ森漫画お得意の高速戦闘シーンのオマージュだろう。あの印象的な加速装置の描写を石ノ森がいろいろ工夫して描いた1コマを映像にするとああなるんだなと見ていて思ったし、ショッカーライダーとの暗いトンネルでの戦闘はテレビシリーズで同じシーンを見た記憶がある。そもそも最初のライダーの画面は先に記した通り雰囲気も暗いが映像も常に暗かった。映画の雰囲気も昔懐かしいブラウン管テレビの70年代の雰囲気バッチリだった。
 庵野監督は人形に魂の宿る設定が好きだなと感じた。これは特に日本人なら神道の考えに共感できると思う。万物の魂の集合としての炎=魂が存在し、炎の一部が分離し物に宿る。役目を終えた魂は再び物を離れ一つの魂へと集合して行く。繰り返すが日本人にしか分からない宗教観だ。靖国神社の戦没者を分祀できない理由と一緒で一度炎に集合した個々の炎はもはやかつての形に分離できない。
 以上の事を映画マトリクスのようなVRと混同視される(その説明のほうが分かりやすい)が本質的に違うことは一言添えておく。

 今回の新仮面ライダーはプラーナというインド哲学に寄ったが庵野監督の本質は神道の魂の融合だろう。ウルトラマンにしてもゴジラにしてもエヴァンゲリオンにしても、そのものの中に魂が宿ったり離れたりする様はすべてに共通している。これはおそらく、庵野監督が拠り所にしているオタク作品群の数々に正当性を与えるため、長年に渡り頭の中で生み出した必殺技に他ならない。簡単に言うと、庵野監督は自分の好きな作品世界を本気で信じており、それらに正当性を与える行為をずっと模索し続けてきた結果生み出した方法論があるということだ。
 話を新仮面ライダーに戻すと、蝶オーグの言っていたハビタット世界は魂の帰ってゆく集合体の世界の事だがエヴァの世界観と一致する。しかしエヴァでは肯定的にその世界に行きたいと思っていたものが新仮面ライダー(新エヴァでも)では否定的な事が面白い。庵野監督の心の変化を感じられる。誰でも愛する者が帰っていった一つの魂の場所に触れたいと思う時があるが、現実に生きることに気が付くとそればかりに囚われていてはいけないと気付く。言い換えると、いつまでも空想の世界に逃げていてはいけないことを庵野監督は大人になって気が付いたのだろうか?

 新仮面ライダーの物語終盤ははからずも原作に近い形で1号ライダーと2号ライダーが融合し新ライダーとなって角島へと走ってゆく場面で終わる。新エヴァも新仮面ライダーも庵野監督の出身地である山口県の風景の中に走り去ってゆく。つまり、庵野監督の私小説とノスタルジーとオタク気質、そして昭和の小難しい日本映画に触れることができた人は感動できる作品だったなと感じた次第です。

フィギュアたちは所有物を撮影、ステラシアターはまだ屋根の無い時の画像、角島大橋は2011年5月25日撮影。

#模型 #フィギュア #映画 

コメント

削除修正新規









 
富士山周辺特派員MENU
すべての投稿報告
広域公共情報報告(標準表示)
会員のプライベート報告
富士五湖TVから報告

<<2024年>>3月
1 2 3 4 5 6 7 8 9 10 11 12

過去のタイトル(新着順)
LEDで点滅する北斎の冨嶽三十六景

気象庁発表の天気予報をHPに表示する。

Suno AI, chatGPT, 最新のAIでどこまで楽曲ができるか? その2

Suno AI, chatGPT, 最新のAIでどこまで楽曲ができるか?

過去のFacebookから転載「SONY VECTRON」

過去のFacebookから転載「T-Boardについて」

2023年 道の駅かつやま 感謝祭

*****

chatGPTとともにLUAで動画配信OBSでカメラシーンを切り替えるスクリプトのプログラム

蝙蝠オーグのアジトは河口湖ステラシアターだった⁉

第44回 甲斐の勝山やぶさめ祭り

第12回 富士・河口湖さくら祭り

令和5年 勝山さくら祭り スタンプラリー

ChatGPTが予言したAIの支配するシナリオ

今話題のChatGPTでAI本人と人工知能の将来を語ってみた

公開されている3Dプリンター用のデータについて

富士宮市秋のまつり

河口湖は紅葉の時期を迎えました

iPhone14Proでスキャニング〜3D印刷

足和田バイパス着手式典

道の駅かつやま 感謝祭

2022年火祭り交通規制

富士山山開き

令和4年4月29日(昭和の日)の甲斐の勝山やぶさめ祭りは中止になりました。

勝山さくら祭り

中央道 集中工事

電気自動車用急速充電器の入替について

アミューズ花火大会

映画コンテイジョン

*****

映画マトリックス再び

道の駅かつやま レストラン休業のお知らせ

【フォトスポット】

【7月の藤と蝶】

Rainy day

KUKUNA Garden

6月 富士山

中川雄三さんは故人になりました

山中湖湖畔にて早朝散歩 絶景富士山を望む

四季の彩りに満ちたMtfuji Resort Yamanakako

1日の終わり

自由に楽しめる空間 Mauka Resort AZMY Yamanakako Camp Site

今朝の山中湖からの朝焼け富士山

自然との一体感をお楽しみ「遊んで!楽しんで!くつろいで!」「おこもりSTAY」プラン

2F MOONBOWからお届け

4月21日(水)22:30〜NHK歴史探偵に出演します。

2021 桜 河口湖 富士山

富士山ライブ動画のタイムラプス 2021年3月26日、河口湖母の白滝から望む花火。

富士山で発生した火災の記録 - 20210204 Mt. Fuji fire.

御坂トンネルの舗装

過去の投稿者(新着順)
久保覚 (富士五湖TV代表)

勝山観光協会・勝山民宿組合

ビュー山中湖

流石やすし

風のテラスKUKUNA くくな

中川雄三

インターリゾート東屋 (天野猶治)

富士五湖情報局(富士五湖TV)

富士山五合目観光協会

元祖室

河口湖美術館

しゅうすいや・SHUSUIYA

くくな 周辺観光用

社会福祉法人欣寿会・特別養護老人ホーム芙蓉荘

ニューブリッヂキャンプ場

富士写真家連盟

忍野観光農園 富士忍野ベリーランド

ウッドストック

Team Let's Fuji

河口湖・ボートハウス ハワイ

株式会社ひまわり 山中湖店

山中湖ペンション ブルーリボン

しゅんちゃんち

河口湖アートクラフトフェア

温泉民宿 丸弥荘

浮世絵の中の富士山

富士北麓ペットネット会員ページ

フジシロ工業(有)

香りと色彩のアトリエ紗泡(SAPO) 山梨セラピスト協会

日本の世界遺産 - World Heritage in Japan


 
ホーム / 掲示板各種/ 富士山周辺の広域情報
 

Copyright (C) 2001 Fujigoko.TV. All Rights Reserved.