📱 통화 녹음 요약 텍스트 파일을 Obsidian 마크다운으로 변환하는 Android 앱
- 텍스트 요약 파일 변환: 통화 녹음 요약 텍스트 파일을 구조화된 마크다운으로 변환
- 다중 인코딩 지원: UTF-8, UTF-16 LE/BE, Latin1 인코딩 자동 감지 및 변환
- Obsidian 호환: Front matter와 태그를 포함한 Obsidian 친화적 마크다운 생성
- 스마트 파일명 파싱: 파일명에서 연락처, 날짜, 시간 정보 자동 추출
- 중복 방지: 동일한 시간대 내용 중복 저장 방지
- 실시간 디버그: 앱 내 디버그 로그 화면으로 변환 과정 실시간 모니터링
-
통화 녹음:
통화 녹음 홍길동_250710_133659_summary.txt- 형식:
통화 녹음 [연락처]_[YYMMDD]_[HHMMSS]_summary.txt - 결과:
통화녹음_홍길동.md파일에 저장
- 형식:
-
일반 음성:
음성 250707_150008_summary.txt- 형식:
음성 [YYMMDD]_[HHMMSS]_summary.txt - 결과:
음성녹음.md파일에 저장
- 형식:
- UTF-8 (BOM 있음/없음)
- UTF-16 LE (Little Endian, BOM: FF FE)
- UTF-16 BE (Big Endian, BOM: FE FF)
- Latin1 (폴백)
앱이 올바르게 파싱할 수 있는 텍스트 파일 형식:
키워드
클라우드, 가상화 기술, KVM, 라이센스, 비용 효율성
요약
클라우드 기술 및 제품 소개
- 피맥스 클라우드의 역사와 기술력을 소개하며...
- IM 클라우드의 설립 배경과 핵심 엔지니어들의 이동을 언급...
KVM 기반 가상화 솔루션 소개
- KVM 기반의 가상화 솔루션 특징과 장점을 설명...
- 데이터 센터 운영 및 전산실 관리에 필요한 기능들을 통합...
---
type: summary-note
title: 통화 녹음 - 홍길동
created: 2025-07-13T22:45:30.123456
tags:
- 통화녹음
- 홍길동
- 요약
---
# 통화 녹음 - 홍길동
## 📞 홍길동 - 2025-07-10 13:36:59
**파일명**: `통화 녹음 홍길동_250710_133659_summary.txt`
**식별자**: `250710_133659`
### 🏷️ 키워드
클라우드, 가상화 기술, KVM, 라이센스, 비용 효율성
### 📝 요약 내용
클라우드 기술 및 제품 소개
- 피맥스 클라우드의 역사와 기술력을 소개하며...
- IM 클라우드의 설립 배경과 핵심 엔지니어들의 이동을 언급...
KVM 기반 가상화 솔루션 소개
- KVM 기반의 가상화 솔루션 특징과 장점을 설명...- 파일 선택: "텍스트 파일 선택" 버튼으로 요약 파일 선택
- 출력 폴더 선택: 마크다운 파일을 저장할 폴더 선택
- 변환 실행: "마크다운으로 변환" 버튼 클릭
- 설정 탭 → "Obsidian 경로 설정"
- Obsidian vault 폴더 선택
- 이후 변환 시 자동으로 해당 경로에 저장
- 메인 화면 → 🐛 디버그 로그 버튼
- 변환 과정 실시간 확인
- 로그 저장/복사/클리어 기능
- Flutter: 3.27.1
- Dart: 3.6.0
- Android: 최소 SDK 21 (Android 5.0)
- 패키지:
file_picker: ^8.1.4- 파일 선택permission_handler: ^12.0.1- 권한 관리path: ^1.9.1- 경로 처리shared_preferences: ^2.3.3- 설정 저장
- MANAGE_EXTERNAL_STORAGE: 모든 파일 접근 권한
- READ_EXTERNAL_STORAGE: 외부 저장소 읽기
- WRITE_EXTERNAL_STORAGE: 외부 저장소 쓰기
- 앱 설치 후 첫 실행 시 권한 요청 대화상자 표시
- "설정으로 이동" → 앱 → MemoriaTrace → 권한
- "파일 및 미디어" → "모든 파일에 대한 접근 허용" 활성화
- 변환 과정 추적: 각 단계별 상세 로그
- 인코딩 감지: BOM 및 인코딩 자동 감지 과정
- 파일 내용 미리보기: 읽힌 파일 내용 확인
- 에러 진단: 실패 원인 상세 분석
- 실시간 표시: 앱 내에서 바로 확인
- 파일 저장: 다운로드 폴더에 로그 파일 저장
- 클립보드 복사: 로그 내용 복사
- 색상 구분: 에러/경고/성공 상태별 색상 표시
lib/
├── main.dart # 앱 진입점
├── screens/
│ ├── simple_text_converter_screen.dart # 메인 변환 화면
│ ├── markdown_list_screen.dart # 변환된 파일 목록
│ ├── obsidian_settings_screen.dart # Obsidian 경로 설정
│ └── debug_log_screen.dart # 디버그 로그 화면
├── services/
│ └── text_summary_service.dart # 핵심 변환 로직
└── utils/
└── debug_logger.dart # 디버그 로깅 유틸리티
// 통화 녹음 패턴
RegExp(r'^통화 녹음 (.+)_(\d{6})_(\d{6})_summary$')
// 일반 음성 패턴
RegExp(r'^음성 (\d{6})_(\d{6})_summary$')- BOM 감지: 파일 시작 바이트 분석
- UTF-16 LE/BE: 2바이트 코드 유닛 변환
- UTF-8: 표준 UTF-8 디코딩
- 폴백: Latin1로 안전한 읽기
- 식별자 기반:
YYMMDD_HHMMSS패턴으로 중복 검사 - 기존 파일 확인: 동일 시간대 내용 존재 시 스킵
- 안전한 추가: 새로운 내용만 기존 파일에 추가
flutter clean
flutter pub get
flutter build apk --debugflutter build apk --releasebuild/app/outputs/flutter-apk/
├── app-debug.apk # 디버그 버전
└── app-release.apk # 릴리스 버전
- 🐛 디버그 로그 확인
- 파일 인코딩 확인 (UTF-16 권장)
- 파일 형식 확인 (키워드/요약 구조)
- 권한 확인 (모든 파일 접근 허용)
- 인코딩 오류: UTF-16 BOM 확인
- 권한 거부: Android 설정에서 수동 권한 부여
- 파일명 불일치: 지정된 패턴 준수 필요
- 빈 내용: 키워드/요약 구조 확인
문제가 발생하면 다음을 포함하여 보고해주세요:
- 디버그 로그 (🐛 버튼에서 복사)
- 파일명 예시
- Android 버전
- 에러 메시지
Made with ❤️ using Flutter