Skip to content

tharu8813/Arduino-Recorder-Server

Repository files navigation

Arduino Recorder Server

ASP.NET Core Platform WebSocket License

이 프로젝트는 Arduino-Recorder 저장소와 함께 사용되는 음성 녹음 서버입니다.

ESP32(또는 Arduino 계열)에서 PCM 오디오 데이터를 WebSocket으로 전송하면, 서버에서 이를 수신하여 프로필별로 녹음 → MP3 파일로 변환 → HTTP 스트리밍이 가능하도록 구성되어 있습니다.

오디오 처리 방식

PCM 사양

  • Sample Rate: 16000 Hz
  • Channels: 1 (Mono)
  • Bit Depth: 16bit (Signed PCM)

처리 흐름

  1. Arduino → PCM 녹음
  2. PCM → Base64 인코딩
  3. WebSocket으로 서버 전송
  4. 서버에서 PCM 누적
  5. WAV 포맷으로 메모리 생성
  6. WAV → MP3 변환 (LAME)
  7. wwwroot에 MP3 저장

저장 파일 구조

wwwroot/
 ├─ recording_0.mp3
 ├─ recording_1.mp3
 ├─ recording_2.mp3
 ├─ recording_3.mp3
 └─ recording_4.mp3
 └─ ...
  • 녹음이 끝날 때마다 기존 파일은 덮어쓰기 됩니다.
  • 파일은 정적 파일로 제공되어 브라우저 또는 ESP32에서 바로 스트리밍 가능합니다.

Arduino-Recorder와의 관계

이 서버는 Arduino-Recorder 저장소의 수신 서버 역할을 합니다.

Arduino 쪽에서는:

  • 마이크 입력을 PCM으로 녹음
  • WebSocket으로 서버에 실시간 전송
  • 특정 버튼 또는 이벤트 시 START / STOP 명령 송신

서버 쪽에서는:

  • 녹음 데이터를 안전하게 수집
  • MP3 파일로 저장
  • ESP32 또는 웹에서 재생 가능

📌 Arduino-Recorder 프로젝트와 함께 사용할 것을 전제로 설계된 서버입니다.

About

Arduino-Recorder의 서버

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages