이 프로젝트는 Arduino-Recorder 저장소와 함께 사용되는 음성 녹음 서버입니다.
ESP32(또는 Arduino 계열)에서 PCM 오디오 데이터를 WebSocket으로 전송하면, 서버에서 이를 수신하여 프로필별로 녹음 → MP3 파일로 변환 → HTTP 스트리밍이 가능하도록 구성되어 있습니다.
- Sample Rate: 16000 Hz
- Channels: 1 (Mono)
- Bit Depth: 16bit (Signed PCM)
- Arduino → PCM 녹음
- PCM → Base64 인코딩
- WebSocket으로 서버 전송
- 서버에서 PCM 누적
- WAV 포맷으로 메모리 생성
- WAV → MP3 변환 (LAME)
wwwroot에 MP3 저장
wwwroot/
├─ recording_0.mp3
├─ recording_1.mp3
├─ recording_2.mp3
├─ recording_3.mp3
└─ recording_4.mp3
└─ ...
- 녹음이 끝날 때마다 기존 파일은 덮어쓰기 됩니다.
- 파일은 정적 파일로 제공되어 브라우저 또는 ESP32에서 바로 스트리밍 가능합니다.
이 서버는 Arduino-Recorder 저장소의 수신 서버 역할을 합니다.
Arduino 쪽에서는:
- 마이크 입력을 PCM으로 녹음
- WebSocket으로 서버에 실시간 전송
- 특정 버튼 또는 이벤트 시
START / STOP명령 송신
서버 쪽에서는:
- 녹음 데이터를 안전하게 수집
- MP3 파일로 저장
- ESP32 또는 웹에서 재생 가능
📌 Arduino-Recorder 프로젝트와 함께 사용할 것을 전제로 설계된 서버입니다.