|
24 | 24 |
|
25 | 25 | ## What is Textream? |
26 | 26 |
|
27 | | -Textream is a macOS app that listens to your voice and highlights your script in real-time. It displays your text in a sleek **Dynamic Island-style overlay** at the top of your screen — visible only to you, invisible to your audience. |
| 27 | +Textream is a free, open-source macOS app that listens to your voice and highlights your script in real-time. It displays your text in a sleek **Dynamic Island-style overlay** at the top of your screen, a **draggable floating window**, or **fullscreen on a Sidecar iPad** — visible only to you, invisible to your audience. |
28 | 28 |
|
29 | 29 | Paste your script, hit play, and start speaking. Words light up as you say them. When you're done, the overlay closes automatically. |
30 | 30 |
|
@@ -54,12 +54,17 @@ Then right-click the app → **Open**. After the first launch, macOS remembers y |
54 | 54 |
|
55 | 55 | - **Real-time voice tracking** — On-device speech recognition highlights words as you say them. No cloud, no latency, works offline. |
56 | 56 | - **Dynamic Island overlay** — A notch-shaped floating overlay at the top of your screen, inspired by the MacBook Dynamic Island. Sits above all apps. |
| 57 | +- **Floating window mode** — Switch from the pinned notch to a draggable floating window you can place anywhere on screen. |
| 58 | +- **Glass effect** — Enable a translucent frosted glass background for the floating window with adjustable opacity. |
| 59 | +- **External display / Sidecar** — Show a fullscreen teleprompter on an external display or Sidecar iPad. Includes a mirror mode for use with prompter mirror rigs. |
| 60 | +- **Font customization** — Choose from font size presets (S, M, L, XL) and color presets (white, yellow, blue, green, pink). |
57 | 61 | - **Live waveform** — Visual voice activity indicator so you always know the mic is picking you up. |
58 | 62 | - **Tap to jump** — Tap any word in the overlay to jump the tracker to that position. |
59 | 63 | - **Pause & resume** — Go off-script, take a break, come back. The tracker picks up where you left off. |
60 | 64 | - **Adjustable size** — Resize the overlay width and text height from Settings (⌘,) to fit your screen. |
61 | | -- **Language selection** — Choose your preferred speech recognition language from Settings (⌘,). |
| 65 | +- **Language selection** — Choose your preferred speech recognition language. The current language is shown in the title bar. |
62 | 66 | - **Completely private** — All processing happens on-device. No accounts, no tracking, no data leaves your Mac. |
| 67 | +- **Open source** — MIT licensed. Contributions welcome. |
63 | 68 |
|
64 | 69 | ## Who it's for |
65 | 70 |
|
@@ -101,13 +106,16 @@ Textream/ |
101 | 106 | ├── Textream.xcodeproj |
102 | 107 | ├── Info.plist |
103 | 108 | └── Textream/ |
104 | | - ├── TextreamApp.swift # App entry point, deep link handling |
105 | | - ├── ContentView.swift # Main text editor UI |
106 | | - ├── TextreamService.swift # Service layer, URL scheme handling |
107 | | - ├── SpeechRecognizer.swift # On-device speech recognition engine |
108 | | - ├── NotchOverlayController.swift # Dynamic Island overlay window |
109 | | - ├── SettingsView.swift # Notch size settings |
110 | | - └── Assets.xcassets/ # App icon and colors |
| 109 | + ├── TextreamApp.swift # App entry point, deep link handling |
| 110 | + ├── ContentView.swift # Main text editor UI + About view |
| 111 | + ├── TextreamService.swift # Service layer, URL scheme handling |
| 112 | + ├── SpeechRecognizer.swift # On-device speech recognition engine |
| 113 | + ├── NotchOverlayController.swift # Dynamic Island + floating overlay |
| 114 | + ├── ExternalDisplayController.swift # Sidecar / external display output |
| 115 | + ├── NotchSettings.swift # User preferences and presets |
| 116 | + ├── SettingsView.swift # Tabbed settings UI |
| 117 | + ├── MarqueeTextView.swift # Word flow layout and highlighting |
| 118 | + └── Assets.xcassets/ # App icon and colors |
111 | 119 | ``` |
112 | 120 |
|
113 | 121 | ## URL Scheme |
|
0 commit comments