Frontend·Hacker News·2 lượt xem

Hiển thị HN: Điều gì sẽ xảy ra nếu bộ tổng hợp của bạn được cung cấp bởi APL (hoặc bản sao K câm)?

Show HN: What if your synthesizer was powered by APL (or a dumb K clone)?

AI Summary

Một developer đã phát triển k-synth, một bộ công cụ web sử dụng một ngôn ngữ mảng tối giản, lấy cảm hứng từ K, nhằm đơn giản hóa quá trình tổng hợp waveform. Dự án thử nghiệm này tận dụng WASM và Web Audio để live-coding sample, hướng tới việc cung cấp một cách tạo audio snippet trực quan hơn so với lập trình truyền thống. Các developer có thể rút ra bài học rằng việc khám phá các thiết kế ngôn ngữ độc đáo (như ngôn ngữ mảng và đánh giá right-associative) cùng với việc tận dụng AI để hỗ trợ ban đầu có thể đẩy nhanh quá trình tạo mẫu nhanh (rapid prototyping) cho các lĩnh vực ngách như DSP. Dự án là open-source và đang tìm kiếm phản hồi về việc lựa chọn các operator và thiết kế ngôn ngữ.

Tôi đã xây dựng k-synth như một thử nghiệm để xem liệu ngôn ngữ mảng tối giản, lấy cảm hứng từ K có thể giúp việc phác thảo dạng sóng nhanh hơn và trực quan hơn mã truyền thống hay không. Tôi đã tập hợp một bộ công cụ dựa trên web để bạn có thể thử cú pháp trực tiếp trong trình duyệt mà không cần phải chạm vào trình biên dịch:

Bộ công cụ trực tiếp: https://octetta.github.io/k-synth/

Nếu bạn truy cập trang này, đây là đường dẫn nhanh đến phần thưởng âm thanh:

- Nhấp vào "bản vá" và chọn dm-bell.ks.

- Nhấp vào "chạy"—khu vực sổ ghi chép sẽ cập nhật. Nhấp vào dạng sóng để nghe kết quả.

- Nhấp vào nút "->0" bên dưới dạng sóng để sao chép nó vào vị trí 0 ở trên cùng (các vị trí cũng có thể nhấp vào được).

- Nhấp vào "miếng đệm" trong vùng nhập để hiển thị lưới hiệu suất.

- Nhấp vào "giai điệu" để phát mẫu của vị trí 0 ở các khoảng thời gian khác nhau trên lưới.

Ngăn xếp 'Kỳ lạ':

- Ngôn ngữ: Ngôn ngữ mảng kết hợp phải, đơn giản hóa (ví dụ: s cho sin, p cho pi).

- Bộ công cụ web: Được xây dựng bằng WASM và Web Audio cho các mẫu mã hóa trực tiếp.

- Lập trình cặp AI: Tôi đã sử dụng tác nhân AI để khởi động trình phân tích cú pháp và bản mẫu web soạn sẵn, cho phép tôi kiểm tra thiết kế ngôn ngữ trong vài tuần thay vì vài tháng.

Mục tiêu: Điều này không nhằm thay thế DAW. Đó là một cách nhỏ gọn để tạo mẫu cho các dự án lớn hơn. Nó hiện đang ở trạng thái "will-it-blend". Tôi đang tìm kiếm phản hồi từ ngôn ngữ mảng và cộng đồng DSP—đặc biệt là về các lựa chọn của nhà điều hành và logic đánh giá từ phải sang trái.

Nguồn (MIT): https://github.com/octetta/k-synth

Tác giả: octetta

#discussion