语音录入工作灵感,自动按项目/创意/待办分类,生成灵感清单,支持关键词检索,避免灵感遗忘。

15 阅读3分钟
  1. 实际应用场景描述

场景:

你经常在通勤、散步或会议间隙产生灵感(比如新项目想法、技术优化点、待办任务)。传统做法是记在手机备忘录或纸质本上,但容易遗漏、分类混乱、检索困难。

痛点:

  • 手动输入效率低
  • 分类依赖人工判断
  • 检索不方便
  • 容易忘记灵感

解决方案:

开发一个 语音灵感管理工具,通过语音识别将灵感转为文本,利用关键词自动分类,并支持快速检索,所有灵感存储在本地数据库,随时可查。

  1. 核心逻辑讲解

  2. 语音采集 → 使用 "speech_recognition" 库调用麦克风录音并转成文本。

  3. 文本预处理 → 去除多余空格、标点,统一小写。

  4. 分类规则 → 预设关键词映射:

    • 包含 "项目"、"开发"、"上线" → 项目
    • 包含 "创意"、"想法"、"点子" → 创意
    • 包含 "待办"、"任务"、"记得" → 待办
  5. 存储 → 使用 SQLite 存储灵感内容、分类、时间戳。

  6. 检索 → 支持按关键词搜索标题和内容。

  7. CLI 交互 → 命令行界面方便快速操作。

  8. 代码模块化实现

目录结构

inspiration_manager/ ├── main.py ├── speech_input.py ├── classifier.py ├── storage.py ├── search.py └── README.md

"storage.py" - 数据库操作

import sqlite3 from datetime import datetime

DB_NAME = "inspirations.db"

def init_db(): conn = sqlite3.connect(DB_NAME) c = conn.cursor() c.execute('''CREATE TABLE IF NOT EXISTS inspirations (id INTEGER PRIMARY KEY AUTOINCREMENT, content TEXT, category TEXT, timestamp TEXT)''') conn.commit() conn.close()

def save_inspiration(content, category): conn = sqlite3.connect(DB_NAME) c = conn.cursor() c.execute("INSERT INTO inspirations (content, category, timestamp) VALUES (?, ?, ?)", (content, category, datetime.now().strftime("%Y-%m-%d %H:%M:%S"))) conn.commit() conn.close()

def search_inspirations(keyword): conn = sqlite3.connect(DB_NAME) c = conn.cursor() c.execute("SELECT * FROM inspirations WHERE content LIKE ? OR category LIKE ?", (f"%{keyword}%", f"%{keyword}%")) results = c.fetchall() conn.close() return results

"speech_input.py" - 语音识别

import speech_recognition as sr

def record_and_transcribe(): recognizer = sr.Recognizer() with sr.Microphone() as source: print("请说出你的灵感...") audio = recognizer.listen(source) try: text = recognizer.recognize_google(audio, language="zh-CN") print(f"识别结果: {text}") return text except sr.UnknownValueError: print("无法识别语音") return "" except sr.RequestError: print("语音服务不可用") return ""

"classifier.py" - 分类器

def classify_inspiration(text): text_lower = text.lower() if any(kw in text_lower for kw in ["项目", "开发", "上线"]): return "项目" elif any(kw in text_lower for kw in ["创意", "想法", "点子"]): return "创意" elif any(kw in text_lower for kw in ["待办", "任务", "记得"]): return "待办" else: return "未分类"

"search.py" - 搜索功能

from storage import search_inspirations

def display_results(results): if not results: print("未找到相关灵感") return for row in results: print(f"[{row[2]}] {row[1]} (时间: {row[3]})")

"main.py" - 主程序

from speech_input import record_and_transcribe from classifier import classify_inspiration from storage import save_inspiration, init_db from search import display_results

def main(): init_db() while True: print("\n1. 录入灵感\n2. 搜索灵感\n3. 退出") choice = input("选择操作: ") if choice == "1": text = record_and_transcribe() if text: category = classify_inspiration(text) save_inspiration(text, category) print(f"已保存为【{category}】类灵感") elif choice == "2": keyword = input("输入搜索关键词: ") results = search_inspirations(keyword) display_results(results) elif choice == "3": break else: print("无效选择")

if name == "main": main()

  1. README.md

灵感管理器 Inspiration Manager

一个基于 Python 的语音灵感管理工具,支持语音录入、自动分类、关键词检索。

功能

  • 语音录入灵感
  • 自动分类(项目/创意/待办)
  • 关键词搜索
  • SQLite 本地存储

安装依赖

bash

pip install SpeechRecognition pyaudio

使用

bash

python main.py

目录结构

见上方代码目录说明。

  1. 使用说明

  2. 安装依赖: "SpeechRecognition" 和 "pyaudio"(Windows 可能需要安装 Visual Studio Build Tools)。

  3. 运行 "main.py"。

  4. 选择 "1" 录入灵感,对着麦克风说话。

  5. 选择 "2" 搜索灵感,输入关键词即可。

  6. 数据保存在 "inspirations.db" 中,可随时查看。

  7. 核心知识点卡片

知识点 说明

"speech_recognition" Google 语音识别 API 封装,支持多语言 SQLite 轻量级嵌入式数据库,适合本地存储 字符串处理 "lower()"、 "in" 用于分类匹配 模块化设计 将功能拆分为独立模块,便于维护 CLI 交互 "input()" 和 "print()" 实现简单命令行界面

  1. 总结

本项目结合了 语音识别、自然语言处理(简单规则)、数据库存储 和 CLI 交互,解决灵感记录与管理的痛点。

后续可扩展方向:

  • 接入 NLP 模型做更智能的分类
  • 增加 Web 界面(Flask/Django)
  • 支持导出 Markdown/PDF
  • 云同步(如 Firebase)

,还可以生成一个 可执行的可视化桌面版(PyQt/Tkinter),让语音录入更直观。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!