Commit Graph
100 Commits
Author SHA1 Message Date
Henry_Du b7be4cd00d fix: use NBT ETA and clean monitor debug output 2026-08-02 17:33:05 +08:00
Henry_Du 9060e79006 fix: use earlier realtime tick for arrival ETA 2026-08-02 17:14:51 +08:00
Henry_Du 426e55a7f0 fix: normalize upcoming ETA keys before text override 2026-08-02 17:11:31 +08:00
Henry_Du db818209f2 debug: show raw create target line and eta fields 2026-08-02 17:08:59 +08:00
Henry_Du a1db54b295 fix: parse CRN ETA as value plus unit 2026-08-02 17:05:53 +08:00
Henry_Du 96222ebf06 debug: expand text ETA parsing and show raw eta string 2026-08-02 17:03:43 +08:00
Henry_Du 9f2dc5bb3d debug: compare text and NBT ETA keys on monitor 2026-08-02 17:00:24 +08:00
Henry_Du 4b95c86af6 fix: align NBT destination with CRN display stopovers 2026-08-02 16:55:15 +08:00
Henry_Du 432b82eae9 feat: prefer CRN display ETA text when available 2026-08-02 16:48:42 +08:00
Henry_Du 23196cd59d fix: compute ETA using measured tick rate 2026-08-02 16:44:12 +08:00
Henry_Du ea288b6572 feat: show delay reason/status from CRN NBT on monitor 2026-08-02 16:41:01 +08:00
Henry_Du 61576a7d9e fix: detect advanced peripherals block reader by type or method 2026-08-02 16:33:50 +08:00
Henry_Du b725c74e1d debug: add upcoming trains data probe 2026-08-02 16:31:07 +08:00
Henry_Du c13a0c9dcc fix: avoid monitor log overlap and show upcoming status 2026-08-02 16:24:32 +08:00
Henry_Du 5134a4ebf0 fix: restore main loop block structure 2026-08-02 16:22:44 +08:00
Henry_Du 544179758e fix: restore goto label required by earlier logic 2026-08-02 16:19:56 +08:00
Henry_Du 95e550441e fix: ensure trailing newline at end of file 2026-08-02 16:17:33 +08:00
Henry_Du 8a431147ec fix: remove unused goto continue label causing lint error 2026-08-02 16:15:23 +08:00
Henry_Du d28b0eec30 fix: correctly assign State.upcomingTrains before display link fallback 2026-08-02 16:10:52 +08:00
Henry_Du ad70f4adbc feat: display upcoming trains and delay info on monitor 2026-08-02 16:07:48 +08:00
Henry_Du e92348b4db feat: add real-time ETA interpolation for block reader 2026-08-02 16:04:41 +08:00
Henry_Du 13dc054a01 feat: use block reader for accurate ETA and delay data 2026-08-02 15:57:14 +08:00
Henry_Du c573260e5d feat: Implement exact 45s pre-arrival broadcast by delaying 1min signal 2026-08-02 14:59:07 +08:00
Henry_Du dbf259efe5 fix: Re-enable train pre-arrival broadcast on '1 min' to provide sufficient advance notice 2026-08-02 12:08:16 +08:00
Henry_Du 5c899b30bb fix: Trigger train pre-arrival broadcast only on '现在' or '0' instead of '1 min' 2026-08-02 12:02:44 +08:00
Henry_Du 53b4d1b296 fix: Reduce train pre-arrival debounce timeout to 1 minute 2026-08-02 11:57:57 +08:00
Henry_Du b52776fe09 fix: Reduce train pre-arrival debounce timeout to 2.5 minutes 2026-08-02 11:56:20 +08:00
Henry_Du 43a2a4deaf fix: Increase train pre-arrival debounce timeout to 5 minutes to prevent multiple broadcasts for fuzzy ETA 2026-08-02 11:54:23 +08:00
Henry_Du 712d8bb84d fix: Ensure platform is stripped of non-digit chars for audio file matching 2026-08-02 11:52:27 +08:00
Henry_Du 26003844b9 特性(音频与脚本): 添加8条语音音频文件与火车站点监测脚本
添加4条中文、4条日文语音音频文件,新增脚本用于ComputerCraft下的Create模组火车站点监测
2026-08-02 11:45:24 +08:00
Henry_Du ef75671527 feat: Add train pre-arrival broadcast via CRN create_target 2026-08-02 11:37:41 +08:00
Henry_Du 805aba9f37 fix: remove 3.0 fallback and strictly apply AUDIO_VOLUME=100 directly to HQ speaker APIs 2026-08-02 09:07:12 +08:00
Henry_Du faa25bbb3c fix: safely apply CONFIG.AUDIO_VOLUME to all HQ speaker APIs (speakWavAll, speakHLS, etc.) with 3.0 fallback 2026-08-02 08:57:20 +08:00
Henry_Du ac8405e300 fix: use pcall to uncapped AUDIO_VOLUME for HQ speakers while keeping 3.0 fallback for vanilla speakers 2026-08-02 08:53:49 +08:00
Henry_Du 832658ad58 feat: apply 5x volume boost to all FFmpeg audio processing (broadcast sequences, HLS, DFPWM) to maximize loudness 2026-08-02 08:50:28 +08:00
Henry_Du 8aec4c6a84 chore: set default AUDIO_VOLUME to 100 for maximum HQ speaker distance/volume (v1.0.19) 2026-08-02 08:42:13 +08:00
Henry_Du fb49925a9b chore(Audio/voice): 更新日语语音文件ja-zt.wav 2026-08-02 08:21:04 +08:00
Henry_Du 66ce214f51 Perf: fix audio playback stuttering by increasing pre-buffer to 5 chunks and optimizing multi-speaker synchronization without forced gaps 2026-08-01 23:19:37 +08:00
Henry_Du 944f00f521 Fix: correctly parse nextStation by checking both create:station and create:destination, and handle schedule loop 2026-08-01 23:10:06 +08:00
Henry_Du 90c108b1d7 Update: remove ja-xl and ch-line from train arrival broadcast sequence 2026-08-01 23:05:39 +08:00
Henry_Du 01b367fa8b 杂项(Audio/voice): 更新一批语音音频文件 2026-08-01 23:02:10 +08:00
Henry_Du 4b3bd91023 Fix: implement case-insensitive file matching for broadcast audio sequences to fix missing uppercase line and station names 2026-08-01 22:54:10 +08:00
Henry_Du 2fae7305f6 Fix: use filter_complex for sequence concatenation to fix sample rate mismatch causing speed up and noise 2026-08-01 22:46:23 +08:00
Henry_Du e009f05a61 Fix: use wav-stream-live for train arrivals and departures to fix CC client audio playback 2026-08-01 22:34:29 +08:00
Henry_Du 81f58b58bb Fix: Lua client config screen overwritten by logs, and fix temp broadcast preview URL 2026-08-01 22:15:59 +08:00
Henry_Du 5c78b20163 Fix: include audioLineDir and audioVoiceDir when building broadcast sequence 2026-08-01 22:09:40 +08:00
Henry_Du 1043d46fb8 Fix: correctly setup line audio directory, routing, and upload handling 2026-08-01 18:41:29 +08:00
Henry_Du 440a8366ca Feat: CC client auto-detects and displays available departure beeps from server 2026-08-01 18:37:52 +08:00
Henry_Du 495b3cedb9 Fix: save line audio to voice directory instead of beep 2026-08-01 18:30:59 +08:00
Henry_Du 2741b2d321 Revert TTS generation to backend with fixed local proxy 127.0.0.1:7890 2026-08-01 18:25:50 +08:00
Henry_Du c76538e4bd feat: switch to client-side fetch for Fish Audio API to bypass server network restrictions 2026-08-01 17:58:20 +08:00
Henry_Du a516976e35 Revert "feat: use pure direct connection to official api.fish.audio without any forced proxies"
This reverts commit 3ecae7b0bc.
2026-08-01 17:57:00 +08:00
Henry_Du 3ecae7b0bc feat: use pure direct connection to official api.fish.audio without any forced proxies 2026-08-01 17:55:30 +08:00
Henry_Du b8aee4d766 fix: revert to server proxy logic and add resilient fallback for win32 to prevent 500 errors 2026-08-01 17:51:08 +08:00
Henry_Du 038662c15e Revert "feat: switch to client-side fetch for Fish Audio API to bypass server network restrictions"
This reverts commit dedb37e22b.
2026-08-01 17:49:57 +08:00
Henry_Du dedb37e22b feat: switch to client-side fetch for Fish Audio API to bypass server network restrictions 2026-08-01 17:45:48 +08:00
Henry_Du 1b6a2b7e33 feat: switch Fish Audio API endpoint to user's custom proxy domain (fishaudio.fse-media.group) 2026-08-01 17:42:24 +08:00
Henry_Du 7bfff51919 revert: switch back to direct Fish Audio API due to Vercel IP block 2026-08-01 17:37:52 +08:00
Henry_Du f4c22cb713 feat: switch Fish Audio API endpoint to Vercel proxy to resolve ETIMEDOUT issues on server 2026-08-01 17:34:55 +08:00
Henry_Du 52ecdc8a16 Revert "fix: remove hardcoded windows proxy fallback that causes 500 error when proxy is unavailable"
This reverts commit 62ecf5642b.
2026-08-01 16:00:00 +08:00
Henry_Du 62ecf5642b fix: remove hardcoded windows proxy fallback that causes 500 error when proxy is unavailable 2026-08-01 15:57:30 +08:00
Henry_Du 6150050f69 revert: move TTS generation back to server-side due to CORS issues 2026-08-01 12:01:38 +08:00
Henry_Du 6f122c7a2c feat: add FISH_AUDIO_BASE env support for reverse proxy 2026-08-01 11:59:15 +08:00
Henry_Du e3a88acf9b Revert "feat: migrate TTS generation to frontend to utilize local browser proxy"
This reverts commit 5e600bb75d.
2026-08-01 11:58:20 +08:00
Henry_Du 5e600bb75d feat: migrate TTS generation to frontend to utilize local browser proxy 2026-08-01 11:55:31 +08:00
Henry_Du 1d0c0e0703 fix: fallback to 127.0.0.1:7890 proxy on windows for local TTS generation 2026-08-01 11:50:18 +08:00
Henry_Du c0f100a833 fix(console): map Beep files to Audio/beep
Store and present Beep assets under Audio/beep while keeping legacy Audio/general reads working so existing files remain accessible during the directory transition.
2026-08-01 11:42:38 +08:00
Henry_Du 545c19335f ksts 2026-08-01 11:34:52 +08:00
Henry_Du 86b6ba180e feat: implement train arrival/departure sequence logic and add departure beep config in client 2026-08-01 11:28:52 +08:00
Henry_Du 810dff3f0e feat: update station broadcast logic 2026-08-01 11:23:55 +08:00
Henry_Du e66f39284f feat: Add Line Audio Generation and Line List Manager 2026-08-01 11:20:58 +08:00
Henry_Du b140aafa2d fix(audio): prebuffer live wav stream startup
Buffer a couple of live wav chunks before beginning playback so startup jitter is reduced when the stream first begins feeding speakers.
2026-08-01 11:11:22 +08:00
Henry_Du eb0adfc2e0 feat: handle line.txt and train arrival/departure events 2026-08-01 11:10:17 +08:00
Henry_Du a990a2da0c fix(console): align music upload field name
Use the musicAudioFiles form field on music.html so the page matches the multer configuration for /api/upload/music-audio and stops returning Unexpected field.
2026-08-01 11:04:13 +08:00
Henry_Du a92fb55f60 fix(station): detect create stations by capability
Use the Create station method set from the CC:Tweaked integration docs to identify attached train stations even when the peripheral type string is not reported as train_station.
2026-08-01 10:46:26 +08:00
Henry_Du b51e31e00f fix(station): sync identity config from physical station
Detect train station peripherals from all discovered names and automatically write station_identity.cfg from the physical station identity so attached main hosts stop falling back to manual slave setup.
2026-08-01 10:27:36 +08:00
Henry_Du 777e6f3371 fix(station): detect train station peripherals on any side
Avoid prompting manual slave setup on main hosts when the train station block is attached somewhere other than the back side, and log the detected side for easier diagnosis.
2026-08-01 09:45:13 +08:00
Henry_Du f7de7717dc fix(tts): rename japanese station audio suffix to ja
Switch generated station audio entries from en-* to ja-* and update the generator flow so Chinese plus Japanese audio imports use the new suffix consistently.
2026-08-01 09:02:18 +08:00
Henry_Du a2408da417 feat(tts): switch broadcast generation to s2.1-pro-free
Update the generator and temp broadcast flows to send the new Fish Audio model and reference IDs so Chinese and secondary-language audio use the latest requested voice configuration.
2026-08-01 08:50:13 +08:00
Henry_Du 529c871b0e fix(station): allow music to restart after stop
Keep the active music stream attached until Audio.stop runs so stop requests finish the stream reader cleanly and the next music playback can start again without getting stuck behind the previous stream.
2026-08-01 08:36:01 +08:00
Henry_Du 69badb6853 feat(console): adapt main console for mobile screens
Stack the console layout vertically on smaller screens, wrap the action toolbar, collapse file rows into compact mobile cards, and make the bottom console, modal, and toast areas usable on phones without desktop splitters.
2026-08-01 08:26:50 +08:00
Henry_Du 578cff6dc2 feat(station): allow slave nodes to run without monitors
Make monitors optional so slave nodes can boot and play audio in terminal-only mode, while still using the monitor UI automatically when one is present.
2026-08-01 07:59:06 +08:00
Henry_Du 918e0c68e5 feat(station): add first-run slave identity setup
Remove station_name from the slave identity config and prompt for station code and platform on startup when no train station peripheral and no usable identity file are present, so slave nodes can be configured interactively on first boot.
2026-08-01 07:54:56 +08:00
Henry_Du 6315e1eaa1 feat(station): support manual identity for slave nodes
Allow station_broadcast to run without a train station peripheral on the back, add a local station_identity.cfg override for station name/code/platform, and display the active station code, platform, and identity mode so slave nodes can be grouped to a platform manually.
2026-08-01 07:51:59 +08:00
Henry_Du 304d413482 feat(station): group slave nodes by station target
Merge stations with the same station code and platform into one logical target, and expand music and temp broadcast playback to all online slave nodes while the console and picker UIs show grouped station entries with node counts.
2026-08-01 07:44:38 +08:00
Henry_Du fd53eaef97 feat(console): add voice folder to file manager
Add an Audio/voice directory with upload and preview support, and expose it in the console file manager so the structure now shows Configuration, Music, Voice, Beep, and Station.
2026-08-01 07:21:47 +08:00
Henry_Du 1f4be7c10b feat(console): split audio files into music and beep folders
Add an Audio/music path for uploaded music, keep the existing general audio directory as the Beep group, and update the console and music page so the file manager now shows Configuration, Music, Beep, and Station with matching upload and preview routes.
2026-08-01 07:18:14 +08:00
Henry_Du 1554adf5f1 feat(audio): support more upload and music formats
Allow the console and music page to upload common audio formats, expand music track detection and playback source selection beyond wav/dfpwm, and update station list name normalization so common extensions resolve consistently. Bump the station build to v1.0.6.
2026-08-01 06:39:18 +08:00
Henry_Du 6610b168d7 fix(music): synchronize multi-speaker wav streaming
Bump the station build to v1.0.5, reduce live WAV chunks to 0.25 seconds, and queue decoded samples in a synchronized multi-speaker mode so multiple speakers stay aligned during streaming playback.
2026-08-01 00:25:26 +08:00
Henry_Du 841f127005 fix(music): smooth wav chunk streaming playback
Bump the station build to v1.0.4, reduce live WAV chunk size to 0.5 seconds, and keep native speaker queues fed during streaming instead of draining after every chunk so playback is less jittery and stays closer to real time.
2026-08-01 00:21:39 +08:00
Henry_Du 43962aceb0 fix(station): prefer native speaker.playAudio for decoded chunks
Bump the station build to v1.0.3 and send decoded WAV samples through each speaker's native playAudio path before falling back to controller.playAudioAll, with logs to show which output path was used.
2026-08-01 00:18:06 +08:00
Henry_Du e6fa681339 fix(station): decode wav chunks to speaker samples
Bump the station build to v1.0.2 and decode streamed WAV chunks into PCM samples on the client before feeding playAudioAll/playAudio, while keeping the HQ WAV path as a fallback for decode failures.
2026-08-01 00:04:18 +08:00
Henry_Du f09e5af698 修复git钩子 2026-07-31 23:49:50 +08:00
Henry_Du 447388662b 修改版本号 2026-07-31 23:33:01 +08:00
Henry_Du 5d2397db7c feat(station): add visible build version reporting
Add a station build version counter, show it on the monitor and terminal header, log it at startup, and report it to the server during register and heartbeat so deployed client versions are visible during troubleshooting.
2026-07-31 23:30:41 +08:00
Henry_Du 87e45de15b fix(music): add wav chunk diagnostics and larger chunks
Increase live WAV chunk size to one second and log chunk acceptance, queue depth, and retry state on stations so the HQ speaker path can be diagnosed from runtime logs.
2026-07-31 22:46:47 +08:00
Henry_Du f7755953b4 feat(music): stream live wav chunks to HQ speakers
Slice realtime WAV audio into small self-contained chunks on the server and feed them into the HQ speaker WAV queue on stations so music can start playing before the full file finishes transferring.
2026-07-31 22:08:11 +08:00
Henry_Du d86c74f0cc fix(music): stream live dfpwm instead of pcm
Move live music streaming back onto the proven DFPWM playback path and silently ignore legacy train_arrival, train_departure, and play_sequence messages from older station clients so they no longer spam logs.
2026-07-31 22:03:35 +08:00
Henry_Du 218aaabb50 fix(station): remove arrival and departure preview audio flow
Delete the station-side arrival/departure announcement requests and drop the server handlers for train arrival, train departure, and play_sequence messages so preview audio no longer interrupts live music.
2026-07-31 21:53:12 +08:00
Henry_Du fd154afd82 fix(music): remove HLS fallback from station playback
Keep music playback on the direct PCM or DFPWM paths so music requests no longer trigger RTMP/HLS push attempts when a WAV source is unavailable.
2026-07-31 21:17:04 +08:00