0.基础环境
类别:笔记本
型号:中国长城 NF14C
硬件平台:飞腾处理器FT2000(ArmV8 指令集)
系统:银河麒麟操作系统 V10 SP1(2303)
关键词:
信创,麒麟系统,linux,飞腾,arm,aarch,arm64,whisper,LLM,人工智能,大语言模型
1.需求背景
在日常的会议中,为了方便、准确记录会议精神或者一些其他的语音识别成文本的需求,我们在Windows下有很多解决方案,但大语言模型流行的今天,利用大语言模型来识别更为精准。通过检索请多资料,目前OpenAI开放的Whisper模型已升级至large-v2版本,效果非常好(目前我只以普通话为准进行试验,后续如果是方言,可能需要进和本地化训练,不在本文撰写范围)
2.录音
你可以随意下载一个Mp3(如果是试验,不宜过长)。我这里是利用系统的录音软件临时录了一个小片DEMO
3.python3的准备
利用which python
确认是否是python3.9以上版本,默认正常自带2.7
3.1pyenv版本管理
pyenv是轻量级的python多版本管理工具,非conda这一类的虚拟环境,但可以方便切换系统版本需要,满足本文需求
curl https://pyenv.run | bash
编辑.bashrc,vim ~/.bashrc
,在尾部追加下面的内容
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
再重新打开命令行,进行python安装详细操作请检索pyenv相关资料
pyenv install --list #显示可安装版本
pyenv install -v 3.9.16 #安装指定版本
pyenv global 3.9.16 #切换
补充卸载命令
pyenv uninstall 2.7.15
3.whisper的安装与使用
项目地址:https://github.com/openai/whisper
3.1安装
详细过程与用法参照项目官方github.coom页面
pip install -U openai-whisper #安装
安装ffmpeg
sudo apt install ffmpeg
安装rust相关
pip install setuptools-rust
3.2使用
在实际使用中,whisper需要利用到GPU,因为本机没 GPU,用CPU能解决问题,但过程较慢,大家可以选择小一点的模型
但除large,large-v2外,其他仅支持英语
whisper test.mp3 --language zh --model large-v2 #指定语言可以减少模型检测时间,支持flac,wav,ape许多的音频格式
top | grep "whisper"
对应语言代码
"en": "english",
"zh": "chinese",
"de": "german",
"es": "spanish",
"ru": "russian",
"ko": "korean",
"fr": "french",
"ja": "japanese",
"pt": "portuguese",
"tr": "turkish",
"pl": "polish",
"ca": "catalan",
"nl": "dutch",
"ar": "arabic",
"sv": "swedish",
"it": "italian",
"id": "indonesian",
"hi": "hindi",
"fi": "finnish",
"vi": "vietnamese",
"he": "hebrew",
"uk": "ukrainian",
"el": "greek",
"ms": "malay",
"cs": "czech",
"ro": "romanian",
"da": "danish",
"hu": "hungarian",
"ta": "tamil",
"no": "norwegian",
"th": "thai",
"ur": "urdu",
"hr": "croatian",
"bg": "bulgarian",
"lt": "lithuanian",
"la": "latin",
"mi": "maori",
"ml": "malayalam",
"cy": "welsh",
"sk": "slovak",
"te": "telugu",
"fa": "persian",
"lv": "latvian",
"bn": "bengali",
"sr": "serbian",
"az": "azerbaijani",
"sl": "slovenian",
"kn": "kannada",
"et": "estonian",
"mk": "macedonian",
"br": "breton",
"eu": "basque",
"is": "icelandic",
"hy": "armenian",
"ne": "nepali",
"mn": "mongolian",
"bs": "bosnian",
"kk": "kazakh",
"sq": "albanian",
"sw": "swahili",
"gl": "galician",
"mr": "marathi",
"pa": "punjabi",
"si": "sinhala",
"km": "khmer",
"sn": "shona",
"yo": "yoruba",
"so": "somali",
"af": "afrikaans",
"oc": "occitan",
"ka": "georgian",
"be": "belarusian",
"tg": "tajik",
"sd": "sindhi",
"gu": "gujarati",
"am": "amharic",
"yi": "yiddish",
"lo": "lao",
"uz": "uzbek",
"fo": "faroese",
"ht": "haitian creole",
"ps": "pashto",
"tk": "turkmen",
"nn": "nynorsk",
"mt": "maltese",
"sa": "sanskrit",
"lb": "luxembourgish",
"my": "myanmar",
"bo": "tibetan",
"tl": "tagalog",
"mg": "malagasy",
"as": "assamese",
"tt": "tatar",
"haw": "hawaiian",
"ln": "lingala",
"ha": "hausa",
"ba": "bashkir",
"jw": "javanese",
"su": "sundanese",
第一次执行会需要下载模型,约2.87GB,需要耐心等待。模型下载后,进行识别,资源监控如下图
最后的识别效果,准确无误
写在最后
本人用的这台长城的笔记本基于飞腾Ft2000,在使用conda pip时有问题,因此考虑到系统自带了python2.7,所以在就利用pyenv切换了一下python 3.9.16的版本,大家可以尝试其他版本。
另外,还有一个buzz的开源软件(基于whisper),提供GUI,没有官方版本,只能后续有时间再补上,//todo
麒麟系统专栏:
https://segmentfault.com/blog/kylinos
文章发表在SegmentFault
联系邮箱:1179611323@qq.com
群:662512340
发行日志:
20230929 首发 中秋快乐
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。