ハクソク

世界を動かす技術を、日本語で。

チューリップクリエイティブコンピュータ

概要

  • 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・ツール群で自由な創造力を発揮

Hackerたちの意見

おじいさんが聞いてるけど、「ライブコーディング」ってやつに対応してるの?
ライブコーディングのことは知らなかったけど、教えてくれてありがとう!Tulipは確かにそういう使い方ができそうだけど、自分でかなりのフレームワークコードをPythonで書かなきゃいけないかもね。
これがRuntime Revolutionの人たちが自分たちのHypercardクローンをこう名付けたのが面白いね: https://livecode.com/
面白いね!80年代には、Tulip Computers NVってオランダのPCクローンを作ってたメーカーがあったんだよね。[1] https://en.wikipedia.org/wiki/Tulip_Computers
もしかしたら、まだ誰かが商標を持ってるのかもね(?)
アメリカの開発者たちがそんなこと気にすると思ってるの、かわいいね。https://github.com/shorepine/tulipcc/graphs/contributors
それも考えてたよ.. :)
昔、IT関連の雑誌の編集者をしていた頃に、彼らの工場を見学したことがある。機械の金属ハウジングから回路基板まで、ほとんどすべてがその工場で作られていたんだ。フォトレジスト、露光、エッチング、洗浄、印刷、コーティング、ピックアンドプレースマシンを通って、波状はんだ浴、テスト、シャーシへの取り付けまで。オランダの比較的控えめな工場ホールでね。あの時にできたなら、今もすべてを外注することなくできるはずだよ。
このスレッドをクリックしたとき、ヴィンテージコンピュータの話かと思ってたんだけど。前回オランダに行ったときに、彼らのプロモーション資料を見た記憶があるから、2008年/2009年にもう潰れてたなんて知らなかったよ。
オランダにあった素晴らしい革新的な会社だったよ。彼らはハードウェアボードもソフトウェアも全部自分たちで設計・製造してたんだ。詳しくはここを見てね。https://www.homecomputermuseum.nl/collectie/tulip/?srsltid=A...
興味深いね。T-Deck Tulip CCに興味があって、旅行中にコーディングに使いたいんだけど、こういうデバイスで軽いプログラミングした経験ある人いる?
Pythonや他の動的言語を使うなら、たぶんうまくいくと思うよ。残念ながら、esp32sで動くネイティブコンパイラはあまりないと思うけど、いくつかはあるみたいだね。[0] https://github.com/valdanylchuk/xcc700
T-Deckを使って、tulipccでコーディングやライティングをしたことがあるけど、最近は主に計算機として使ってる。GUIテキストエディタを作ったんだけど、ここで見つけられるよ。https://github.com/coolcoder613eb/notepad あんまりコーディングはしてないけど、たまにT-Deck自体のテキストエディタのバグを直したことはある。
これが好きなのは、今の時代に比べて複雑さが減ってるところだね。もし1年前にシンセを作ってたら、RustをWASMにコンパイルしてブラウザで動かしてたと思う。このデバイスは同じ機能がたくさんあるけど、OSに-3000万行のコード、ブラウザに-3000万行、Rust/LLVMにまた-3000万行必要なんだよね。それに材料費や電力の節約も考えないといけないし。もちろん、単純比較はできないけど、ほとんどのプログラムにどれだけのスタックが必要なのか、考えさせられるよ。
いつも通りのトレードオフだね。私も同じことをよく考えるよ。AIがこの問題にどう関わってくるのかも気になる。
数ヶ月使ってるけど、すごくいいプロジェクトだよ。特にM5のi2c周辺機器を追加するのが大好き。例えば、8つのロータリーエンコーダーのバンクとかね。サイズがめっちゃミニマルなのもいいし、気づいてないかもしれないけど、画面はタッチスクリーンなんだ。基本的なUIウィジェットも揃ってるし、gfxはスプライトやビットマップ、テキストモードを重ねて表示できるのが面白い。デザイナーたちが8ビットシステムにかなりの経験を持ってるのがわかるよ。ビットマップは画面より少し大きめだから、スーパービットマップ的なこともできる。そんなに大きくはないけど、ちょっとだけね。アイロニックに、シンセの機能はあまり使ってないけど、外部楽器用のシーケンサーを作るのに使ってる。音声入力もあると思うし…ディスコードも役立つよ。10点満点!
名前からして、誰かがPCブランドを復活させるのかと思った。 https://en.wikipedia.org/wiki/Tulip_Computers
こういう限られたデバイスについて、子供たちがコンピュータとどんなふうに関わるべきか考えてたんだ。9歳の時に学校のラボでコンピュータを使ってLOGOやBASICを書いたのを思い出す。それは本当に衝撃的な体験だった。四角を描いて、アスタリスクで三角形を作ってたんだ!ハハハ、なんて素晴らしいことだったんだろう。コンピュータからたくさんの喜びをもらったし、子供たにもそんな体験をさせたいな、ソーシャルメディアに迷い込むことなく(それが今は頭を締め付けてるから)。まだ数年先だけど、その時にこの種のデバイスを評価して、使うべきモデルかどうか見てみたいと思ってる。
TI-84のBasicバージョンは魔法みたいだったな。高校の科学の先生が、自分でプログラムを書けばどんなプログラムでも使っていいって許可してくれたんだ。いろんな物理アルゴリズムのために、ネストされたメニューのプログラムを作ったのを覚えてる。デバッグしてたら結局全部覚えちゃったけど、プログラム自体を使う方が楽しかったし、エラーもなかったからね。
あの頃のことは覚えてるけど、今は再現するのがずっと難しいと思う。あの時代はコンピュータが新しくて珍しかったから、コンピュータとのやり取りは特別なことだったし、自分で操作できるなんてすごく感動的だった。今の子供たちは、いろんなテクノロジーに囲まれて育ってるから、意識し始めた瞬間からいろんな人がテクノロジーと関わってるのを見てる。あの「ワオ!」って瞬間を作るのは、今はずっと難しいよね。
幼い息子にCallisto 2をあげるつもりだよ。彼が楽しめる年齢になったらね。https://www.thingiverse.com/thing:4846997
> この手の限られたデバイスについて、子供たちにどんなコンピュータとの関わりを持たせたいか考えてるんだ。9歳のときに学校のラボでコンピュータを使ってLOGOやBASICを書いたことを覚えてる。それはすごく衝撃的な体験だった。四角を描いて、アスタリスクで三角形を作ってたんだ!ハハハ、なんて素晴らしいことだったんだろう。まあ、Minecraftの「レッドストーン」もそんな感じだよね?もちろん、もっと大きなプログラムに組み込まれてるけど、子供たちにはそれが違いを生むのかは分からないな。
私、恋に落ちたかも。Micropythonをベースにしてるのがすごく大きいね。ハードウェアプロジェクトにはデフォルトで使い始めて、すべてが楽になるんだ。ドライバーを書くのも、ユーザーインターフェースで遊ぶのも簡単だし。普通のPythonライブラリがたくさん使えるし、インターネット経由で取得もできる。昔の組み込みキットでForthか何かを動かしてた時のイメージだね(あ、ネットワークの部分はちょっと違うかも)。
俺も持ってるよ。2024年の7月に買ったんだ。俺にとっては楽器じゃないし、使ってないけど、音楽と関わるのは他の方法が好きなんだ。でも、デザイナーの情熱には感謝してる。
ハードウェア版をリリース前に予約注文したんだ。50ドルという価格だったから、賭ける価値があると思ったんだよね。結果的には大満足!今のところ、ちょっとハッカー向けなデバイスだけど、良くも悪くもパワフルだよ。AMYはすごく印象的なシンセだし、作った人の愛情がこもってるのが伝わってくるね。