この記事は2024年6月1日で公開された中国語の記事「Python 潮流周刊#54:ChatTTS 强大的文本生成语音模型」の日本語訳です。主に LLM によって翻訳され、手修正で校正されていりますが、もし不自然の点が気づいたら、「記事の改善」機能で、編集リクエストをいただけるとありがたいです。
こちらから最新号まで購読できます(英語のみですので、ご了承ください。)
こんにちは、Python エンジニアのネコです。毎週、英語を中心とした高品質な Python、AI、そして一般的な技術に関する情報をお届けしています。また、Telegramのチャンネル では、より幅広いニュースや情報も補足的に発信していますので、ぜひフォローしてみてください。
今回は、12本の記事、12のオープンソースプロジェクト、3本の音声・動画コンテンツを紹介します。全文は約2100文字です。
🦄記事&チュートリアル
1、知っておきたい便利な Python コマンドラインツール集
Python には、python -m xxx のようにコマンドラインからそのまま実行できるモジュールが数多く用意されています。この記事では、それらのモジュールの使い方が詳しく紹介されており、最終的に 50 種類以上の便利なツールがまとめられています。(参考:「-m」について詳しく知りたい方は、「Python の -m オプション徹底解説:使い方から仕組み、進化まで」をどうぞ)
著者は、かつてカーネギーメロン大学のコンピュータサイエンスの授業でティーチングアシスタントを務めていた経験があり、その中でも特に気に入っていた課題が「数字の桁数を求める」というものです。一見すると単純に思える課題ですが、実際には多くの深い考察を促す内容であり、記事ではその奥深さについて詳しく掘り下げています。
モジュール間の循環インポートは、Python でよく見られる問題の一つです。通常はコード構造を見直して階層的に整理することで対処しますが、著者はそれとは別に、簡単かつ実用的な修正方法を紹介しています。具体的には、関数が定義されたモジュールをすぐに参照せず、処理の後半に遅らせて読み込むことで、必要なモジュールの初期化を先に完了させるという手法です。
4、PEP-789:非同期ジェネレータの yield を制限して、タスクキャンセル時のエラーを防止
新たに提出されたドラフト版の提案では、sys.prevent_yields() というコンテキストマネージャの導入が検討されています。これは、yield が RuntimeError を引き起こす可能性のある状況、特にタスクのキャンセル処理中に不適切な yield が実行されるのを防ぎ、より安全な非同期処理を実現することを目的としています。
2024 年の PyCon US は無事に終了しました。公式の録画や発表資料などはまだ公開を待つ必要がありますが、こちらはある参加者による詳細な参加レポートです。数日間の会場の雰囲気、イベントの流れ、気になったセッションの内容、出会った人々などが紹介されています。改めて、公式 PyCon の雰囲気の良さを実感しました!
この記事は「Python ゲーム開発」シリーズの一つで、すでに二つの記事が公開されています。3D ゲームエンジンライブラリのPanda3Dのインストール方法と基本的な使い方を解説しており、描画結果はなかなか良いです。
7、ChatTTS:リアルな人間に迫るオープンソースの音声合成モデル(中国語)
この記事では、ここ2週間ほど非常に注目されている ChatTTS プロジェクトをローカル環境に構築する方法や、基本的な使い方、さらに上級者向けの活用法について解説しています。
画像に書籍の文字が含まれている場合、そのテキスト情報を抽出する方法とパフォーマンスの最適化について解説します。この記事では、scikit-image ライブラリを使った画像処理をベースに、まず Numba による高速化を行い、その後アルゴリズムを段階的に最適化して理想的な性能向上を実現しています。
9、GPT-4o で Flask プロジェクトのコードを生成すると、どのような成果物を出せるの?
OpenAI が新しくリリースした強力な GPT-4o を使って、データベース操作に対応し、Tailwind CSSでスタイルされた HTML ページも備えた Flask プロジェクトまで生成してみました。この記事では、主要なプロンプトやコードを紹介しつつ、実際にどれくらいのクオリティが出せるかを検証しています。出来上がった成果物もなかなかのものですよ。
10、Python を使って Scrapscript 言語のコンパイラを作る
Scrapscript は、コンパクトで、コンテンツにアドレスを指定できる、ネットワークファーストのプログラミング言語。この記事では、作者が Python を使って新しいコンパイラを開発する過程を詳しく解説し、いくつかの主要なモジュールの仕組みについても説明しています。
長めですが、決して退屈ではありません。著者は、絶えず変わるオフィスの中で特定の人を探すという分かりやすい例を使いながら、ハッシュ関数や等価関数、不変性とハッシュ可能性、さらにハッシュの衝突について解説しています。
12、Python、Go、C++、C、AWK、Forth、Rust の7言語でアルゴリズム課題の性能を比較する
この記事では、Python、Go、C++、C、AWK、Forth、Rust の7つの言語で単語の出現頻度を数えるアルゴリズム問題を解き、それぞれの言語の性能を比較しています。複数の制約条件が設定されており、各言語の実装と最適化手法について詳しく解説。さらに、記事の最後には他のプログラミング言語による実装例も多数紹介されています。
🐿️プロジェクト&リソース
1、Think Python 第三版(無料オンライン)—Think Python, 3rd edition
『Think Python』の第三版が公開されました。中国語版のタイトルは『像计算机科学家一样思考 Python 』で、前版は 2015 年に出版されています。原著と翻訳版は、中国の書評サイト「豆瓣」でともに高評価の 8.8 点を獲得しています。
訳注:『Think Python 第3版』の日本語版についてはオライリー・ジャパン社の記事「デジタルファーストコンテンツ『Think Python 第3版』の日本語版をOLP上で提供開始」を参照してください。
音楽処理の基礎を学ぶための Python ノートがまとめられた教材集です。教育や学習の場で役立つ内容となっています。(投稿者:云云)
現在も高い注目を集めているテキスト読み上げモデルで、中国語と英語の両言語に対応しており、自然で高品質な音声を生成します。(スター数 21.7K)
ChatTTS-ui はローカルで使えるシンプルなウェブインターフェースを提供し、API も公開しています(スター数 3.4K)。ChatTTS_colab はオフライン統合パッケージ付きでワンクリック展開が可能です!ChatTTS-Forge は API、WebUI、Playground などを備えた充実した ChatTTS の統合環境を提供しています。
5、koheesio:高効率なデータパイプラインを構築する Python フレームワーク
Nike 社がオープンソースで公開している、PySpark と連携可能なデータパイプライン構築用の Python フレームワークです。
6、groqbook:Groq と Llama3 を使って数秒で一冊の本を丸ごと生成する
プロンプトを元に書籍の構成を作成し、その後、内容を展開して一冊の本を生成します。Streamlit で公開されているバージョンもあり、オンラインで気軽に試せます。
7、cachebox:Rust製の高性能Pythonキャッシュライブラリ
他のキャッシュライブラリと比べて 5〜20 倍も高速で、メモリ使用量は Python の辞書に比べると非常に少なく(約3分の1)、7 種類以上のキャッシュアルゴリズムに対応。さらに、完全なスレッドセーフ設計となっています。
8、mesop:Google が公開する Python ベースの UI フレームワーク
Google の社内で Web アプリの迅速な開発に使われている UI フレームワークで、Python のコードで UI を構築します。レスポンシブ対応やホットリロード、型安全性を備え、豊富な IDE サポートも特徴です。(スター数 1.1K)
9、Qwen2:Alibaba Cloud のオープンソース LLM シリーズ
Qwen2 の公式リポジトリです。128K のコンテキストをサポートし、コード生成や数学的推論能力を大幅に向上させています。(スター数 4.2K)
10、RSS-Translator:手軽にデプロイできるシンプルなRSS翻訳ツール
RSS のタイトルやコンテンツを翻訳し、原文と訳文を並べて表示できます。DeepL、OpenAI、Gemini など複数の翻訳エンジンに対応しているほか、AI によるコンテンツ要約、自動全文取得、翻訳済みコンテンツのキャッシュ機能も備わっています。
11、farfalle:ローカルまたはクラウド LLM でセルフホスト可能な AI 検索エンジン
Perplexity のオープンソースの代替として、ローカル環境またはクラウド上の LLM で実行可能です。フロントエンドには Next.js、バックエンドには FastAPI が使用されており、ログ記録には Logfire が利用されています。(スター数 2K)
12、chsrc:全プラットフォーム対応コマンドラインリポジトリ切り替えツール
多様な OS および CPU に対応したコマンドラインツールで、複数のリポジトリの速度を測定し、最も高速なものを選択することが可能です。
🐢ポッドキャスト&動画
1、Python 学習におすすめの YouTube チャンネルは?
Reddit に投稿されたこのスレッドでは、Python 学習に役立つ多数の YouTube チャンネルが共有されています。ぜひコメント欄を参考にしてください。
コアデベロッパーが集結した PyCon 2024 の会場で、この短いポッドキャストでは現在注目されているいくつかの話題について語られています。
3、チューリング賞受賞者紹介シリーズポッドキャスト、全15回が公開中(中国語)
このポッドキャストシリーズでは、各回でチューリング賞の受賞者を紹介しています。彼らの生い立ち、功績、社会への影響などが詳細かつ分かりやすくまとめられており、資料も充実しています。
🐧 バックナンバー
Python トレンド週刊#5:100万タスクの同時実行で必要なメモリは? (2023.06.03)日本語訳
🐱 購読のご案内
情報過多の時代において、良質な情報を厳選することは賢い選択です。この技術週刊誌は、まさにそのためのツールです。国内の Python および AI 開発者向けに特化しており、読むべき価値のある記事、チュートリアル、オープンソースプロジェクト、便利なソフトウェアツール、ポッドキャスト、動画、そして旬な話題など、豊富なコンテンツを厳選してお届けします。今すぐ購読して、毎週配信される記事で、着実にスキルアップしていきましょう。
訳注:今すぐ購読は、WeChat を通じた支払いのみ対応しています。また、そちらのページは英語に翻訳されていません。そのため、こちらのリンク からの購読方法をご確認いただくことをおすすめします。