🏠️Top Page

🖊️おもしろき こともなき世をおもしろく 住みなすものは 心なりけり.

⏩️地声ベースのAI音声合成モデルを再度構築しました話.たぶん似てる.

おはようございます.地声ベースのAI音声合成モデルを再度構築しました話を書いていきます.まず地声ベースモデルを作る場合.自分の音声を録音しwavなどファイルにします.それが出来ない環境では音声モデルを作ることは難しいです.それが出来たらstyle-bert-vits2をGitHubから落としてきて、ブランチをdevに切り替えておきます.Windowsの場合、app.batを起動します.前提条件としてPythonがインストールされていることとgitがインストールされた環境であることです.

app.batを起動するとターミナルがターミナル立ち上がり次に任意のブラウザが開くことでしょう.ターミナルは閉じずにブラウザ画面のTOPにタブがあるので左から右へタスクをこなしていくと地声ベースの音声合成モデルが生成されます.

音声合成モデルが生成された後にstyle-bert-vits2内でターミナルを開き下記のコマンドを叩きます.

python convert_onnx.py --model model_assets\モデル名

叩く処理が実行されonnxファイルがモデルフォルダに作られます.

作られたファイルをaivm-generator.aivis-project.comサイトにてコンバートします.コンバートするとAIVM / AIVMX ファイルがダウンロードされます.最後にダウンロードされたファイルをAivisSpeechアプリに取り込めば完了です.

で、こちらが地声ベースの音声合成モデルで今回の記事を読み上げている音源になります.

明日へ続く

⏩️ネトフリで映画65 シックスティ・ファイブを中盤まで観てラストまで飛ばし観した話.

おはようございます.ネトフリで映画65 シックスティ・ファイブを中盤まで観てラストまで飛ばし観した話を書いています.まずこの映画、大スクリーンかVRで観ないと楽しめない作りになっています.

ストーリー的には地球が舞台になっています.ストーリー展開はこんな感じです、恐竜が存在していた白亜紀後期に不慮の事故で地球に墜落した1基の母船.生存者は2人、果たして地球から脱出することは出来るのか?というストーリーなのですが、ストーリー展開がベタベタ過ぎる.

中盤まで観てヒヤヒヤドキドキがこのままずっと最後まで続くのかと思って中盤まで観て脱出ポッドが見つかったあたりからラストまで観た感じです.自分としては珍しい見方です.

基本、映画は飛ばし飛ばしで観ないのですがこの映画は例外です.この映画を小さな画面で観ていたことが一番の問題だと思いますが、ラストまで観て再度観たいとは思えなかったので....

全然悪いわけではないけど何かが足りない気がしました.映画の評価も3と微妙な評価でしたが今回は映画評論が正しかった形になります.尚、映画は字幕で見ています.

明日へ続く

⏩️LaravelのViteが使用できない環境でログイン画面などを表示させたい対処法.

おはようございます.さて正月、2日目の記事はLaravelのViteが使用できない環境でログイン画面などを表示させたい対処法です.レンタルサーバーではnpmコマンドが使えないのでローカルでビルドしてサーバーにビルド後のファイルをUPしている方が殆どだと思いますが、npmをビルドするのも面倒、ビルドが出来ない方はソースコードを読んで何のコードが使われているかを判断して使用されているライブラリーのcdnを貼り付けるだけで大体の解決します.

尚、viteで参照しているところは削除してください(viteと差し替える形になります.).

viteでエラーが出る話はこれで終わりです.ここから余談です今年から無料になったGitHub Copilotを個人開発では使用するようにしました、この事によって今までより開発効率が上がるということならば有料プランも検討したいなと思っています.今のところ、無料プランで使っていくというスタンスです.

因みに自分は正月そうそうからコードを書いています.

明日へ続く

⏩️新年、あけましておめでとうございます~🎍🐍🎍

新年、あけましておめでとうございます~🎍🐍🎍、この投稿を読んで頂いた人に福が来るように祈っています.今年は貫徹の年越しでもしようかなと思っていたんだけど、この投稿が公開している頃は寝落ちしている頃かもしれません.

今年は何だか良いことが起きそうな気がします、何だかそういう気がします.気がする時って自分の場合、大体あたっている事が多いのでそうなると思っています.

去年は何かと厳しいかったので、倍返しに運が廻ってくると良いですよね.運が悪い運が良いって言いますが実はこころの持ちようがカナリ影響しているそうです.なので悪いことが起きても塞翁が馬だと思って考え方を切り替えることが大事らしい.

そういう訳なので、去年イマイチ運が悪かった方も良い方向に進んでいると思って前向きに行きましょい!人生は一瞬らしいので後悔のないように!!

では、皆さんにとって良い一年でありますように!!

明日へ続く

⏩️皆様のお陰で今年も何とかなりました.有難う御座います.

おはようございます.皆様のお陰で今年も何とかなりました.有難う御座います.今年は少々厳しい生活を送っていたのですが、訪問者さまのお陰で何とかなりました心より感謝申し上げます.本当に有難う御座います.

馬鹿な自分でもお金を増やせる唯一の方法はお金に働いてもらうということです.そうすることでお金がお金を生みます.生まない場合もありますが長期的に見れば投資することはプラスになると思っています.

理由は人には欲があるので経済成長を辞めることはないでしょうと思うからです.経済が悪化した場合も増えていた分が減る様に見えて価値そのものは変わらないように思います.特に投資信託の場合、株の抱合せを購入しているわけですから.株単体とは話がまた違います.

投資信託や株などを厳しい生活のなかで購入していました.そのお陰で資産が少し増えました.また引き落としなどは副収入で何とかなった時期もあり助かりました.

有難う御座います.

来年も良い一年でありますように!

明日へ続く

⏩️ビットフライヤーはビットコインのビットコインをリアルタイムで受信するphpコード

おはようございます.ビットフライヤーはビットコインのビットコインをリアルタイムで受信するphpコードを書きましたのでお裾分けです.以前書いていたものとは違う感じになります.ビットフライヤーさんのAPIを参照するとルビやJSの例コードはあるものの、何故かPHP言語のコードが無いので書いてみた形になります.ベースは生成AIに出力してもらったの物になります.それを自分の方がクラス化して使いやすくした形になります.

<?php
require 'vendor/autoload.php';

use WebSocket\Client;

class bitflyer
{
    public $client = null;
    public $channelName = "lightning_board_snapshot_BTC_JPY";
    public $wsUrl = 'wss://ws.lightstream.bitflyer.com/json-rpc';

    public function connecting()
    {
        try {
            // WebSocketクライアントを初期化
            echo "Connecting to WebSocket server...\n";
            $this->client = new Client($this->wsUrl);

            echo "Connection established. Subscribing to channel...\n";

            // サブスクライブメッセージを送信
            $subscribeMessage = json_encode([
                'method' => 'subscribe',
                'params' => ['channel' => $this->channelName],
                'id' => null,
            ]);
            $this->client->send($subscribeMessage);
        } catch (\WebSocket\ConnectionException $e) {
            echo "WebSocket connection error: " . $e->getMessage() . "\n";
            sleep(1); // 1秒待機して再接続
            $this->client = null;
            $this->connecting()->receive();
        } catch (Exception $e) {
            echo "General error: " . $e->getMessage() . "\n";
            $this->client = null;
            $this->connecting()->receive();
        }
        return $this;
    }

    public function receive()
    {
        try {
            // メッセージ受信処理
            while (true) {
                $message = $this->client->receive();

                // 受信データが空でないか確認
                if (!empty($message)) {
                    $data = json_decode($message, true);

                    // デコードが成功したか確認
                    if (json_last_error() === JSON_ERROR_NONE) {
                        if (isset($data['method']) && $data['method'] === 'channelMessage') {
                            print_r($data['params']);
                        }
                    } else {
                        echo "JSON デコード エラー: " . json_last_error_msg() . "\n";
                    }
                } else {
                    echo "返却値 空.\n";
                }
            }
        } catch (Exception $e) {
            echo $e->getMessage();
            $this->client = null;
            $this->connecting()->receive();
        }

        echo "Ctrl+C にて終了\n";
        return $this;
    }
}

(new bitflyer)->connecting()->receive();

尚、レンタルサーバーなんかでこのコードを動かすのは禁止されていますので、必ずローカルマシンで動かしてください.もし何かトラブルになっても保証出来ないので注意してください.因みに自分はDocker内で動かしています.

明日へ続く

⏩️24年12月26日にて仕事納めでした.10連休ですー!.

おはようございます.24年12月26日にて仕事納めでした.10連休ですー!でで~ん.この記事は26日の早朝に書いた記事になります.今年より来年がより良い1年でありますように.

この10連休も毎日ブログが更新されるように仕事が終わった後から記事をある程度、貯めていこうと思っています.ちなみに今の段階で4本のストックがありますが、来年からこのブログの他にIT戦記(絵)みたいなものを始めようと思っています.リンクはこっそりフッターの兎さんにもう仕込んでいたりしてます.

そちらの日誌も書かないといけないので来年は結構大変かもと思いつつもメインのブログはこちらです.こちらは毎日更新ですねー.大変でも副収入になると思えば頑張りがいはあります.

副収入だけで生活できればそれは言う事無いですが、そんなに簡単なことではないです.

来年の目標は副収入がコンスタントに入ってくるようにしたいという思いがあります.仕事も頑張りつつ副収入も試行錯誤して安定させたい.その次の目標は副収入が給与水準になることです.

それを可能にするにはカナリ大変なことだと思いますが、今年少し希望が持てたので長期的な目標にしたいと思っています.

明日へ続く

⏩️ガチで知らなかった.もう何年もPHP言語使っているのに恥

おはようございます.ガチで知らなかった.もう何年もPHP言語使っているのに恥...下記のコードで動くことを知らなかった.そもそもそんな返却の仕方が出来ないと思い込んでいたのでlist関数を使用していた.

function abc(){
    return ['a','b','c'];
}
[$a,$b,$c] = abc();
echo "a={$a} b={$b} c={$c}";

改修とか機能追加とか、新規開発で他の人のコードとかを見るけど、そういう使い方をしている人を見たことがなかったので、知る由もなく今の今まで来てしまった.これphpのサンドボックスでバージョンの違うものを実行してみたらphp7.4系でも動いたので絶句してしまった.因みに7.0系は動かない.

自分はphp5系のからPHP言語を主とした仕事をしてきたわけです.仕事で使用するコードってある程度似ているので同じような関数などを使う反面、バージョンアップで追加された機能を使うことはほぼ無い.非対応になった関数を置き換えることはあっても.そういう事もあり今の今まで知らずにいた.

知るきっかけになったのは、プルリクエストしマージ後に自動でコードの正規化が行われた時にコードが置き換わった事によることで知ることに...

知るは一時の恥、知らぬは一生の恥.

明日へ続く

⏩️とある掲示板的なサービスにソフトデリート機能を追加した話.

おはようございます.先日、あるユーザーから一通の問い合わせが届きました.そこには「削除依頼」という文字だけで何を削除すれば良いのかや削除の理由などは書かれていなかった.

陳腐するぎると内心思ったのだけど、実際どんな年代が使用しているのかは分からないので「削除」ボタンを追加し本人と管理人以外、削除出来ないようにその日のうちに対応しました.

これによって誤って投稿したものを削除することが可能になったので、ユーザーさん的には使いやすく少しはなったんじゃないかな?

とある掲示板的なサービスは、こちらの無料サービスのリンク紹介に貼っています.どのサービスがそうなのかはご自身で調べてみてください.

明日へ続く

⏩️映画、市子を観ました.#アマプラ #壮絶

おはようございます.先日、休みに映画、市子をAmazonプライムで観ました.壮絶過ぎるストーリー展開でした.ラストシーンはこう終わるだなってので終わり方だったんだけど、中盤から一体どうなるだろうかという感じの物語の進み方だったんで見応えはあるには有ったけども、ちょっとテーマが考えさせられる物だったのでこの映画に良し悪しはないかなと.

まぁでも前々から気になっていて見るタイミングがなかった映画をウォーキング中に大体観てあとは42インチのディスプレイで残りをその日の内に消化した感じです.見終わった後に何かモヤモヤ感は残るものの、観てよかったと思います.

この頃、PSVRで観ることがなくなっています.理由はSFの映画で見たい映画が今年はなかったのが原因です.ディズニープラス契約しているけど、将軍を観た後にスター・ウォーズでもとか思ったのだけど時間が取れなくてみていないです.映像作品は時間を消費するというのが一番のネックですよね.

時間が勿体ないと思っている反面、休みの日にYOUTUBEとかダラダラと観ている自分がいるので気をつけないとね.

明日へ続く