From c37d73c5bb2d2c6bf4535da49e113f8c49dd18dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sun, 8 Mar 2026 12:15:32 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20[rd]=20=EC=82=AC=EC=9A=B4=EB=93=9C=20?= =?UTF-8?q?=EB=A1=9C=EA=B3=A0=20=EC=83=9D=EC=84=B1=EA=B8=B0=20Phase=201=20?= =?UTF-8?q?MVP=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Web Audio API 기반 사운드 합성 엔진 - 4종 신스(sine/square/triangle/sawtooth) + ADSR 엔벨로프 - 노트 시퀀서 UI (비주얼 바 + 드롭다운 편집) - 10종 프리셋 (알림, 로고, 시작음, 성공 등) - WAV 내보내기, JSON import/export, localStorage 저장 --- app/Http/Controllers/RdController.php | 12 + resources/views/rd/sound-logo/index.blade.php | 938 ++++++++++++++++++ routes/web.php | 3 + 3 files changed, 953 insertions(+) create mode 100644 resources/views/rd/sound-logo/index.blade.php diff --git a/app/Http/Controllers/RdController.php b/app/Http/Controllers/RdController.php index 9cb938bc..a5f9588a 100644 --- a/app/Http/Controllers/RdController.php +++ b/app/Http/Controllers/RdController.php @@ -325,4 +325,16 @@ public function designInsight(Request $request): View|\Illuminate\Http\Response return view('rd.design-insight.index'); } + + /** + * 사운드 로고 생성기 + */ + public function soundLogo(Request $request): View|\Illuminate\Http\Response + { + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('rd.sound-logo')); + } + + return view('rd.sound-logo.index'); + } } diff --git a/resources/views/rd/sound-logo/index.blade.php b/resources/views/rd/sound-logo/index.blade.php new file mode 100644 index 00000000..30bb3dde --- /dev/null +++ b/resources/views/rd/sound-logo/index.blade.php @@ -0,0 +1,938 @@ +@extends('layouts.app') + +@section('title', '사운드 로고 생성기') + +@section('content') + + +
+ +
+

사운드 로고 생성기

+
+ +
+ + +
+ +
+ + 개 음표 | + 초 + +
+ + +
+ +
+ +
+
음색 (Synthesizer)
+ +
+ + +
+
엔벨로프 (ADSR)
+
+
Attack
+ +
+
+
Decay
+ +
+
+
Sustain
+ +
+
+
Release
+ +
+
+ + +
+
이펙트
+
+
볼륨
+ +
+
+
리버브
+ +
+
+ + +
+
내 사운드
+ + +
+
+ + +
+ + + + + +
+
+ + +
+ + +
+ + + +
+ + +
+
+ +@endsection + +@push('scripts') + +@endpush diff --git a/routes/web.php b/routes/web.php index b0a8d971..c2abe47e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -420,6 +420,9 @@ // 디자인 인사이트 Route::get('/design-insight', [RdController::class, 'designInsight'])->name('design-insight'); + + // 사운드 로고 생성기 + Route::get('/sound-logo', [RdController::class, 'soundLogo'])->name('sound-logo'); }); // 일일 스크럼 (Blade 화면만)