A high-quality audio recorder with voice detection
Project description
Voice Recorder Library
ไลบรารีสำหรับบันทึกเสียงและวิเคราะห์เสียงอัตโนมัติ พร้อมระบบตรวจจับเสียงพูดและการแสดงผลที่หลากหลาย
✨ คุณสมบัติ
- 🎤 บันทึกเสียงอัตโนมัติ
- 🔍 ตรวจจับเสียงพูดอัตโนมัติ
- 📊 วิเคราะห์และแสดงผลเสียงหลากหลายรูปแบบ
- 📈 สร้างกราฟและแผนภาพแสดงผลการวิเคราะห์
- ⚡ ทำงานแบบ Real-time
- 🔧 ปรับแต่งค่าต่างๆ ได้ง่าย
📦 การติดตั้ง
- ติดตั้งผ่าน pip:
pip install voice-recorder
or
git clone install voice-recorder
- ติดตั้ง dependencies ที่จำเป็น:
pip install numpy matplotlib scipy pyaudio keyboard
🚀 การใช้งานเบื้องต้น
การบันทึกเสียงพื้นฐาน
from voice_recorder import AudioRecorder
# สร้าง recorder
recorder = AudioRecorder()
# บันทึกเสียงจนกว่าจะตรวจพบความเงียบ
recorder.record_until_silence("recording.wav")
การบันทึกเสียงขั้นสูง
# ปรับแต่งค่าต่างๆ
recorder = AudioRecorder(
voice_threshold=-30, # ความไวในการตรวจจับเสียง
silence_duration=1.5, # เวลารอก่อนหยุดเมื่อไม่มีเสียง
min_voice_duration=0.2 # ระยะเวลาขั้นต่ำของเสียง
)
# กำหนด callbacks
def on_voice():
print("ตรวจพบเสียง!")
def on_silence():
print("ตรวจพบความเงียบ!")
recorder.set_callback('voice', on_voice)
recorder.set_callback('silence', on_silence)
# เริ่มบันทึก
recorder.start("output.wav")
การวิเคราะห์เสียง
from voice_recorder import AudioVisualizer
# สร้าง visualizer
visualizer = AudioVisualizer()
# แสดงรูปคลื่นเสียง
visualizer.plot_waveform("recording.wav", highlight_voice=True)
# แสดงสเปกตรัมความถี่
visualizer.plot_spectrum("recording.wav")
# แสดง spectrogram
visualizer.plot_spectrogram("recording.wav")
# วิเคราะห์แบบครบถ้วน
visualizer.analyze_audio("recording.wav", output_dir="analysis_results")
📝 คำอธิบายคลาสหลัก
AudioRecorder
คลาสสำหรับบันทึกเสียงพร้อมระบบตรวจจับเสียงอัตโนมัติ
พารามิเตอร์สำคัญ:
voice_threshold(-40 ถึง 0): ความไวในการตรวจจับเสียงsilence_duration: เวลารอก่อนหยุดเมื่อไม่มีเสียง (วินาที)min_voice_duration: ระยะเวลาขั้นต่ำของเสียง (วินาที)
เมธอดสำคัญ:
start(): เริ่มบันทึกเสียงstop(): หยุดบันทึกrecord_until_silence(): บันทึกจนกว่าจะตรวจพบความเงียบset_callback(): กำหนดฟังก์ชันเมื่อเกิดเหตุการณ์
AudioVisualizer
คลาสสำหรับวิเคราะห์และแสดงผลเสียงในรูปแบบต่างๆ
เมธอดสำคัญ:
plot_waveform(): แสดงรูปคลื่นเสียงplot_spectrum(): แสดงสเปกตรัมความถี่plot_spectrogram(): แสดง spectrogramanalyze_audio(): วิเคราะห์เสียงแบบครบถ้วน
📚 ตัวอย่างการใช้งาน
ดูตัวอย่างเพิ่มเติมได้ในโฟลเดอร์ examples/:
basic_recording.py: การบันทึกเสียงพื้นฐานadvanced_recording.py: การบันทึกเสียงขั้นสูงaudio_analysis.py: การวิเคราะห์เสียงrealtime_monitor.py: การตรวจจับเสียงแบบ real-timebatch_processor.py: การประมวลผลไฟล์เสียงจำนวนมาก
⚙️ การทดสอบ
รันการทดสอบทั้งหมด:
python -m voice_recorder.tests
🤝 การมีส่วนร่วม
- Fork โปรเจค
- สร้าง branch ใหม่:
git checkout -b feature/amazing-feature - Commit การเปลี่ยนแปลง:
git commit -m 'Add amazing feature' - Push ไปยัง branch:
git push origin feature/amazing-feature - เปิด Pull Request
📄 ลิขสิทธิ์
โปรเจคนี้ใช้ลิขสิทธิ์ MIT License - ดูรายละเอียดในไฟล์ LICENSE
📧 ติดต่อ
- อีเมล: pkorn8394@gmail.com
- เว็บไซต์: https://https://portfolio-pakorn.vercel.app/
- GitHub: https://github.com/Pakon12
🙏 ขอขอบคุณ
- PyAudio สำหรับการบันทึกเสียง
- Matplotlib สำหรับการแสดงผลกราฟ
- SciPy สำหรับการประมวลผลสัญญาณ
- NumPy สำหรับการคำนวณ
📝 หมายเหตุ
- ต้องติดตั้ง PyAudio ก่อนใช้งาน
- ทดสอบบน Python 3.7 ขึ้นไป
- ต้องการไมโครโฟนสำหรับการบันทึกเสียง
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
voice_recorder-1.0.0.tar.gz
(9.2 kB
view details)
File details
Details for the file voice_recorder-1.0.0.tar.gz.
File metadata
- Download URL: voice_recorder-1.0.0.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cdcf492c0f9d8a4cc747d7e8e0e19b2a544114133e28a8dc56830ab500a07f7
|
|
| MD5 |
f40ed82a0fe4a728dceb1bba6e900890
|
|
| BLAKE2b-256 |
b0fb1f41598ce0e78f2f1ef51402116bee296470a4f3296dca573b31223399a1
|