6 poin oleh GN⁺ 2025-04-20 | 1 komentar | Bagikan ke WhatsApp
  • undercut-f1 adalah klien TUI open source yang merekam informasi timing real-time dari sesi F1 agar bisa diputar ulang nanti
  • Dapat menerima data stream berbasis SignalR untuk divisualisasikan, atau memutar ulang sesi yang telah direkam
  • Menyediakan timing tower detail per pembalap, strategi pit stop, pesan race control, analisis strategi, pelacakan posisi pembalap, team radio, dan riwayat per lap
  • Data disimpan secara lokal sehingga dapat dimanfaatkan untuk pengembangan dan pengujian, serta mendukung mode simulasi
  • Menghadirkan tampilan visual dengan memanfaatkan protokol gambar terminal seperti iTerm2 dan Kitty

Pengenalan proyek undercut-f1

undercut-f1 adalah alat open source yang memvisualisasikan informasi live timing F1 dalam TUI (terminal user interface) berbasis CLI
Fitur utamanya adalah sebagai berikut:

  • Menyajikan data sesi F1 real-time secara audiovisual
  • Pengguna dapat merekam data sesi sendiri lalu memutarnya kembali nanti
  • Dengan mempertimbangkan rata-rata jeda siaran F1 (30–60 detik), alat ini menyediakan fitur penyesuaian jeda
  • Aplikasi CLI berbasis .NET yang dapat digunakan dalam bentuk paket NuGet atau file executable tunggal

Fitur utama

  • Timing tower

    • Menampilkan catatan per sektor (dengan warna untuk personal best/overall best)
    • Waktu lap terbaru dan terbaik
    • Jenis ban dan lama pemakaian
    • Selisih waktu terhadap pimpinan dan mobil di depan
    • Perbandingan selisih waktu antara pembalap terpilih dan pembalap lain
  • Informasi strategi/stint

    • Strategi ban tiap pembalap dapat dilihat sekilas
    • Visualisasi waktu penggunaan dan durasi tiap ban
    • Memudahkan deteksi perbedaan strategi
  • Layar race control

    • Menampilkan pesan race control seperti investigasi resmi, penalti, dan informasi cuaca
  • Pelacak pembalap

    • Visualisasi posisi lintasan real-time dari pembalap yang dipilih
    • Berjalan di terminal yang mendukung protokol gambar iTerm2 dan Kitty
    • Pembalap dapat dipilih dan dibandingkan melalui kursor
  • Riwayat timing

    • Memeriksa perubahan gap/interval per lap
    • Menyediakan grafik tren waktu lap dan gap ke pimpinan untuk 15 lap terakhir
  • Mendengarkan dan mentranskripsikan team radio

    • Menggunakan model Whisper untuk mentranskripsikan team radio secara lokal dengan pengenalan suara mandiri
    • Kualitas bergantung pada kualitas audio hari itu, dan saran peningkatan juga diterima

Menjalankan sesi dan replay

  • Menjalankan sesi live

    • Jalankan undercutf1
    • Masuk ke layar sesi dengan tombol <kbd>S</kbd>
    • Mulai sesi live dengan tombol <kbd>L</kbd>
    • Lihat timing tower dengan tombol <kbd>T</kbd>
    • Data sesi disimpan di ~/undercut-f1/data/<session-name>, sehingga bisa digunakan nanti sebagai data replay
  • Replay sesi yang direkam

    • Data di folder Sample Data dapat disalin, atau data sesi resmi dapat diunduh untuk replay
    • Mulai simulasi dengan tombol <kbd>F</kbd> → pilih sesi → masuk ke timing tower
    • Gunakan tombol <kbd>N</kbd> untuk menyesuaikan jeda agar bisa menelusuri lebih cepat
  • Mengunduh data sesi

    • Daftar sesi untuk tahun tertentu dapat dilihat dengan perintah undercutf1 import <year>
    • Pilih sesi untuk diunduh dan dikonversi ke lokal → lalu dapat diputar ulang

Fitur kursor dan pengelolaan jeda

  • Di semua layar, kursor dikendalikan dengan tombol <kbd>▲</kbd>/<kbd>▼</kbd>
    • Contoh: saat memilih pembalap tertentu, selisih waktu berdasarkan pembalap tersebut dapat divisualisasikan
  • Tombol <kbd>M</kbd>/<kbd>N</kbd> digunakan untuk menyesuaikan jeda agar sinkron dengan siaran live
    • Jika ditekan bersama <kbd>Shift</kbd>, penyesuaian dilakukan dalam satuan 30 detik

Sumber data dan cara penyimpanan

  • Stream F1 Live Timing berbasis SignalR
  • Data real-time diterima dengan berlangganan topik berikut:
    • TimingStats, TimingData, WeatherData, DriverList, RaceControlMessages, TeamRadio, dan lainnya
  • Saat sesi, data disimpan ke dalam dua file berikut:
    • subscribe.txt: data awal yang diterima saat berlangganan
    • live.txt: seluruh data yang diterima secara real-time selama sesi

Lisensi

  • Proyek ini adalah proyek open source tidak resmi yang tidak berafiliasi dengan institusi resmi F1
  • F1, FORMULA ONE, dan merek dagang terkait dimiliki oleh Formula One Licensing B.V.

1 komentar

 
GN⁺ 2025-04-20
Komentar Hacker News
  • Di Finlandia, teleteks masih sangat populer untuk mengikuti olahraga. TUI memberikan informasi inti secara langsung tanpa iklan. Format teleteks kini bertahan lebih lama daripada TV, sehingga orang-orang membaca halaman teleteks melalui aplikasi seluler
  • Sebagai seseorang yang menyukai F1, saya sangat menantikan untuk mencoba ini akhir pekan ini. Saya penasaran tentang sumber data live/statis dan ketersediaannya untuk digunakan secara bebas. Banyak olahraga sangat protektif soal hak data. Saya penasaran bagaimana pandangan F1 tentang hal ini. Bagaimanapun, ini benar-benar luar biasa, dan sepertinya bisa saya gunakan sebagai layar kedua/ketiga sambil duduk di sofa menikmati balapan. Jika saya menemukan cara untuk berkontribusi, saya akan melakukannya
  • Selamat. README-nya ditulis dengan baik dan menunjukkan perhatian yang besar terhadap proyek ini
  • Kerja yang luar biasa. Melalui halaman strategi ban, kita bisa melihat bagaimana Ferrari salah dalam menyusun strategi untuk pembalapnya
  • Terlihat menarik. Sayangnya, instalasi cepat dengan metode alat dotnet (Win10) terpasang tanpa kesalahan, tetapi saat menjalankan aplikasi muncul jendela yang tidak merespons. Tidak ada kesalahan di log. Perintah tombol tidak berfungsi, bahkan Q pun tidak. Pengambilan data berjalan, tetapi jendela yang tidak merespons itu tidak berubah. Saya tidak sedang mencari dukungan teknis, hanya ingin memberi tahu bahwa README mungkin memerlukan langkah tambahan
  • Sangat keren. Beberapa minggu lagi saya akan pergi ke Grand Prix Miami bersama istri saya. Saya menantikan untuk mencoba ini untuk sesi/balapan Jeddah
  • Saya menginstalnya di Windows menggunakan metode dotnet, tetapi tampaknya tidak berfungsi. Baris atas seperti Quit / Cursor / Session memang muncul, tetapi tidak ada tombol yang melakukan apa pun. Saya ingin mengujinya selama sesi yang sedang berlangsung sekarang
  • Terima kasih sudah membuat ini. Sebagai penggemar F1 dan TUI, ini akan sangat cocok untuk memenuhi keinginan saya mengetahui lebih banyak tentang apa yang dilakukan tim papan tengah saat penyiar sedang fokus pada barisan depan
  • Terlihat hebat. Namun, akan bagus jika ada cara yang lebih mudah untuk menjalankannya. Biner Linux-nya tidak mandiri dan saya harus memasang dependensi pihak ketiga. Akan bagus jika ada biner statis (atau image container?)
  • Terlihat cukup keren, tetapi saya tidak bisa membuat fitur delay bekerja dengan benar. Saya mencoba menonton sesi kualifikasi dengan delay sekitar 25 menit; jam menunjukkan waktu yang benar, tetapi waktu pembalap tidak muncul. Radio dan pesan race control tetap berada di kondisi saat ini. Saya bisa melihat semua pesan race control dan pesan radio dari Q1