チューリップクリエイティブコンピュータ
94日前原文(github.com)
概要
- Tulip Creative Computer(Tulip CC)は、音楽・グラフィックス・コード・文章制作向けの携帯型プログラマブルデバイス
- Pythonで即座にプログラミング可能、音楽合成・高速グラフィック・MIDI・ネットワーク機能を内蔵
- オープンソースのハードウェア・ソフトウェアで、購入も自作も可能
- ウェブ・デスクトップアプリでも利用可能、作品の共有も簡単
- 多彩な入出力・拡張性を持ち、音楽制作やゲーム開発、創作活動に最適
Tulip Creative Computerとは
- Tulip CCは低消費電力・低価格な自立型携帯コンピュータ
- タッチスクリーン・音声出力搭載、USBキーボードやMIDI・マウスもサポート
- Pythonプロンプトで即起動、コーディングや試行錯誤がすぐ可能
- 音楽合成・グラフィック・テキスト・MIDI・ネットワーク・外部センサー対応
- 専用ハードウェア上でリアルタイム動作、全システムがユーザーコードに専念
ハードウェア仕様
- ESP32-S3チップ採用、ESP-IDF上で動作
- 8.5MB RAM(2MBはMicroPython用)・32MBフラッシュストレージ(24MBをPythonで利用可能)
- AMYステレオ120ボイスシンセサイザー搭載、FM・加法・減法合成・サンプラー・高品質フィルター等
- テキスト表示(128x50, 256色, ANSI対応)
- 32スプライト同時描画・衝突判定・32KBビットマップメモリ
- 1024x600フレームバッファ(スクロール・オーバースキャン対応)
- Wi-Fi・I2C/Grove/Mabeeコネクタ・USB周辺機器対応
- 最大5V/575mA消費、バッテリー駆動可能
ソフトウェアと拡張性
- MicroPython・AMY・LVGLによるシステム構成
- 内蔵エディタ(pico/nano風、シンタックスハイライト・検索・保存対応)
- BBSチャット・ファイル転送機能(TULIP ~ WORLD)
- APIでグラフィック・サウンド・ネットワーク・MIDI・入出力制御
- ウェブ版Tulip・Tulip Desktop(Mac/Linux/WSL)も提供
- T-Deck等他デバイスにもインストール可能
使い方の例
- Pythonファイルの実行
cd('ex')で例題フォルダへ移動execfile("parallax.py")でスクリプト実行run("game")でTulipパッケージを起動
- エディタ起動
edit("game.py")でファイル編集
- タッチ・入力取得
(x0, y0, x1, y1, x2, y2) = tulip.touch()
- Wi-Fi接続・ネットワーク操作
tulip.wifi("ssid", "password")で接続ip_address = tulip.ip()でIP取得tulip.url_save("https://url", "filename.ext")でURL保存
- 音楽・サウンド
amy.drums()でドラムテストamy.send(volume=4)でボリューム調整amy.reset()で音停止
- MIDI制御
m = tulip.midi_in()で受信tulip.midi_out((144,60,127))でノート送信
- グラフィック操作
pal_idx = tulip.bg_pixel(x,y)でピクセル取得・設定tulip.bg_png(png_filename, x, y)でPNG描画tulip.sprite_move(12, x, y)でスプライト移動
- チャット・ファイル共有
import worldでTULIP ~ WORLD利用world.post_message("hello!!")でメッセージ送信world.upload(filename)でファイルアップロード
Tulipの入手・開発・参加方法
- MakerfabsでTulip CCを購入(US$59)
- 自作・ビルドガイド・APIドキュメント・トラブルシューティング公開
- Discordでコミュニティ交流・質問歓迎
- コードの改善・Pull Request受付中
- Tulip Desktop/Tulip Webで事前体験可能
- 開発ルール
- 親切・協力的な態度を推奨
- Tulip DesktopとCCで機能互換性を維持
- ハードウェア上で十分テストしてから新機能提案
まとめ
- Tulip CCは、音楽・アート・ゲーム・プログラミングなど創作活動に最適なポータブルデバイス
- オープンソース精神とコミュニティ主導開発による進化
- 誰でも購入・自作・改良が可能、多様なプラットフォームで利用可能
- シンプルかつ強力なAPI・ツール群で自由な創造力を発揮