├── add_account.gif
├── Nosub快捷键对照表.xlsx
├── Nosub.qrc
├── Nosub.cpp
├── main.cpp
├── Nosub.h
├── Nosub.ui
├── Nosub.sln
├── Nosub.vcxproj.filters
├── README_zh.md
├── README_zh_tw.md
├── .gitattributes
├── README.md
├── 推荐的字幕制作平台.md
├── configcore.md
├── Nosub.vcxproj
└── .gitignore
/add_account.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patui/Nosub/HEAD/add_account.gif
--------------------------------------------------------------------------------
/Nosub快捷键对照表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patui/Nosub/HEAD/Nosub快捷键对照表.xlsx
--------------------------------------------------------------------------------
/Nosub.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Nosub.cpp:
--------------------------------------------------------------------------------
1 | #include "Nosub.h"
2 |
3 | Nosub::Nosub(QWidget *parent)
4 | : QMainWindow(parent)
5 | {
6 | ui.setupUi(this);
7 | }
8 |
--------------------------------------------------------------------------------
/main.cpp:
--------------------------------------------------------------------------------
1 | #include "Nosub.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 | Nosub w;
8 | w.show();
9 | return a.exec();
10 | }
11 |
--------------------------------------------------------------------------------
/Nosub.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "ui_Nosub.h"
5 |
6 | class Nosub : public QMainWindow
7 | {
8 | Q_OBJECT
9 |
10 | public:
11 | Nosub(QWidget *parent = Q_NULLPTR);
12 |
13 | private:
14 | Ui::NosubClass ui;
15 | };
16 |
--------------------------------------------------------------------------------
/Nosub.ui:
--------------------------------------------------------------------------------
1 |
2 | NosubClass
3 |
4 |
5 | NosubClass
6 |
7 |
8 |
9 | 0
10 | 0
11 | 600
12 | 400
13 |
14 |
15 |
16 | Nosub
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Nosub.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.30225.117
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Nosub", "Nosub.vcxproj", "{7C0645B0-5FA0-4A3A-80BC-6762EE344E68}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|x64 = Debug|x64
11 | Release|x64 = Release|x64
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {7C0645B0-5FA0-4A3A-80BC-6762EE344E68}.Debug|x64.ActiveCfg = Debug|x64
15 | {7C0645B0-5FA0-4A3A-80BC-6762EE344E68}.Debug|x64.Build.0 = Debug|x64
16 | {7C0645B0-5FA0-4A3A-80BC-6762EE344E68}.Release|x64.ActiveCfg = Release|x64
17 | {7C0645B0-5FA0-4A3A-80BC-6762EE344E68}.Release|x64.Build.0 = Release|x64
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {08831A8A-17F0-4E10-B0C5-009F36A72499}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Nosub.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {99349809-55BA-4b9d-BF79-8FDBB0286EB3}
18 | ui
19 |
20 |
21 | {D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}
22 | qrc;*
23 | false
24 |
25 |
26 |
27 |
28 | Resource Files
29 |
30 |
31 | Resource Files
32 |
33 |
34 | Header Files
35 |
36 |
37 | Source Files
38 |
39 |
40 |
41 |
42 | Resource Files
43 |
44 |
45 | Resource Files
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/README_zh.md:
--------------------------------------------------------------------------------
1 | ```
2 | 官网: https://www.nosub.cn
3 |
4 | 个人BLOG: https://www.nosub.net
5 |
6 | Nosub QQ群:870178887(仅限字幕相关)
7 |
8 | ```
9 |
10 | ###### [Nosub V2新版B站持续更新中。。。](https://space.bilibili.com/392428129)
11 |
12 | #### Nosub是一个全新的字幕软件 [下载地址](https://github.com/patui/Nosub/releases)
13 |
14 | 
15 |
16 | 
17 |
18 | 
19 |
20 | 
21 |
22 | 
23 |
24 |
25 | >开发者愿景:让新手上字幕真正变得简单;
26 | ---
27 |
28 | 关于新版的思考:
29 | ```
30 | V2新版已经开始做减法,完全专注于字幕编辑软件,
31 | 追求极致的字幕编辑和调整效率;
32 | ```
33 |
34 | ###### V2相对于V1版本的改进:
35 | - 基于Cmake构建跨平台的程序,易于维护和重构;
36 | - 基于QT6.5和C++ 20开发;
37 | - 重写视频播放器(新版基于libmpv),支持硬件解码和变速播放,大幅提升SEEK速度和兼容性;
38 | - 完善字幕编辑器,支持字幕查找和替换功能;
39 | - 优化字幕编辑器的交互逻辑,提升字幕编辑效率;
40 | - 大幅提升字幕加载速度(解析速度);
41 | - 简化UI交互逻辑;
42 |
43 |
44 | ###### (一)Nosub的支持平台:
45 | - [x] Windows(Windows10,以及Windows 11)
46 | - [x] MacOS (暂时支持m芯片,Intel芯片的用户请耐心等待)
47 | - [x] Linux (完全支持)
48 |
49 | ###### (二) Nosub的核心组件:
50 | - [x] 视频播放器
51 | - [x] 时间轴(波形图)
52 | - [x] 字幕编辑器;(字幕切割,合并,删除,修改,调整时间)
53 |
54 |
55 | ###### (三)Nosub V2版用到的开源库:
56 | - [Qt (跨平台 C++ 框架)](https://www.qt.io/) | [Qt GitHub (部分开源模块)](https://github.com/qt)
57 | - [libmpv (视频播放器核心)](https://github.com/mpv-player/mpv)
58 | - [FFmpeg (音视频解码库)](https://ffmpeg.org/) | [FFmpeg GitHub](https://github.com/FFmpeg/FFmpeg)
59 | - [uchardet (文本编码检测)](https://github.com/BYVoid/uchardet)
60 | - [iconv (文本编码转换)](https://www.gnu.org/software/libiconv/)
61 | - [SDL2 (多媒体渲染库)](https://www.libsdl.org/) | [SDL2 GitHub](https://github.com/libsdl-org/SDL)
62 | - [SDL2_ttf GitHub](https://github.com/libsdl-org/SDL_ttf)
63 | - [OpenGL (渲染库)](https://www.opengl.org/)
64 | - [sherpa-onnx (ASR 语音识别)](https://github.com/k2-fsa/sherpa-onnx)
65 | - [spdlog (日志库)](https://github.com/gabime/spdlog)
66 | - [demucs.cpp (Demucs v4 C++ 实现)](https://github.com/sevagh/demucs.cpp)
67 |
68 |
69 | 
70 |
--------------------------------------------------------------------------------
/README_zh_tw.md:
--------------------------------------------------------------------------------
1 | ```
2 | 官网: https://www.nosub.cn
3 |
4 | 个人BLOG: https://www.nosub.net
5 |
6 | Nosub QQ群:870178887(仅限字幕相关)
7 |
8 | ```
9 |
10 | 
11 |
12 |
13 | 
14 |
15 |
16 | 
17 |
18 | 
19 |
20 | 
21 |
22 |
23 | ###### [Nosub V2新版B站持续更新中。。。](https://space.bilibili.com/392428129)
24 |
25 | #### Nosub是一個全新的字幕軟件 [下載地址](https://github.com/patui/Nosub/releases)
26 |
27 | >開發者願景:讓新手上字幕真正變得簡單;
28 | ---
29 |
30 |
31 | Nosub的全新V2版本正在開發中,新版測試版會盡快發佈。。。
32 |
33 |
34 | 關於新版的思考:
35 | ```
36 | V2新版已經開始做減法,完全專註於字幕編輯軟件,
37 | 追求極致的字幕編輯和調整效率;
38 | ```
39 |
40 |
41 | ###### V2相對於V1版本的改進:
42 | - 基於Cmake構建跨平臺的程序,易於維護和重構;
43 | - 基於QT6.5和C++ 20開發;
44 | - 重寫視頻播放器(新版基於libmpv),支持硬件解碼和變速播放,大幅提升SEEK速度和兼容性;
45 | - 完善字幕編輯器,支持字幕查找和替換功能;
46 | - 優化字幕編輯器的交互邏輯,提升字幕編輯效率;
47 | - 大幅提升字幕加載速度(解析速度);
48 | - 簡化UI交互邏輯;
49 |
50 |
51 | ###### (一)Nosub的支持平臺:
52 | - [x] Windows
53 | - [x] MacOS (Intel芯片请耐心等待)
54 | - [x] Linux
55 |
56 | ###### (二) Nosub的核心組件:
57 | - [x] 視頻播放器
58 | - [x] 時間軸(波形圖)
59 | - [x] 字幕編輯器;(字幕切割,合併,刪除,修改,調整時間)
60 |
61 |
62 | ###### (三)Nosub V2版用到的開源庫:
63 | - [Qt (跨平台 C++ 框架)](https://www.qt.io/) | [Qt GitHub (部分开源模块)](https://github.com/qt)
64 | - [libmpv (视频播放器核心)](https://github.com/mpv-player/mpv)
65 | - [FFmpeg (音视频解码库)](https://ffmpeg.org/) | [FFmpeg GitHub](https://github.com/FFmpeg/FFmpeg)
66 | - [uchardet (文本编码检测)](https://github.com/BYVoid/uchardet)
67 | - [iconv (文本编码转换)](https://www.gnu.org/software/libiconv/)
68 | - [SDL2 (多媒体渲染库)](https://www.libsdl.org/) | [SDL2 GitHub](https://github.com/libsdl-org/SDL)
69 | - [SDL2_ttf GitHub](https://github.com/libsdl-org/SDL_ttf)
70 | - [OpenGL (渲染库)](https://www.opengl.org/)
71 | - [sherpa-onnx (ASR 语音识别)](https://github.com/k2-fsa/sherpa-onnx)
72 | - [spdlog (日志库)](https://github.com/gabime/spdlog)
73 | - [demucs.cpp (Demucs v4 C++ 实现)](https://github.com/sevagh/demucs.cpp)
74 |
75 |
76 |
77 | 
78 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ```
2 | Nosub Official Website: https://www.nosub.cn
3 |
4 | Nosub Official Blog: https://www.nosub.net
5 | ```
6 |
7 | ###### [中文Readme](https://github.com/patui/Nosub/blob/master/README_zh.md)
8 |
9 | ###### [繁体中文Readme](https://github.com/patui/Nosub/blob/master/README_zh_tw.md)
10 |
11 | 
12 |
13 | 
14 |
15 | 
16 |
17 | 
18 |
19 | 
20 |
21 |
22 | >Developer's vision: to make subtitling really easy for newbies;
23 | ---
24 |
25 | Thoughts about the new version:
26 |
27 | `
28 | The new version of V2 has begun to subtract, focusing entirely on subtitle editing software that
29 | for the ultimate in subtitle editing and tweaking efficiency;
30 | `
31 |
32 |
33 | ###### Improvements of V2 relative to V1 version:
34 | - Build cross-platform programs based on Cmake, easy to maintain and refactor;
35 | - Developed based on QT6.5 and C++ 20;
36 | - Rewrite the video player (the new version is based on libmpv), support hardware decoding and variable speed playback, greatly improve SEEK speed and compatibility;
37 | - Improve subtitle editor, support subtitle find and replace function;
38 | - Optimize the interaction logic of subtitle editor to improve the efficiency of subtitle editing;
39 | - Dramatically improve subtitle loading speed (parsing speed);
40 | - Simplify UI interaction logic;
41 |
42 |
43 | ###### (i) Nosub's supported platforms:
44 | - [x] Windows
45 | - [x] MacOS (ARM-64)
46 | - [x] Linux
47 |
48 | ###### (ii) Core components of Nosub:
49 | - [x] Video Player
50 | - [x] Timeline (waveform charts)
51 | - [x] Subtitle editor; (subtitle cutting, merging, deleting, modifying, timing)
52 |
53 |
54 | ###### (c) Nosub V2 version third-party library:
55 | - [Qt (跨平台 C++ 框架)](https://www.qt.io/) | [Qt GitHub (部分开源模块)](https://github.com/qt)
56 | - [libmpv (视频播放器核心)](https://github.com/mpv-player/mpv)
57 | - [FFmpeg (音视频解码库)](https://ffmpeg.org/) | [FFmpeg GitHub](https://github.com/FFmpeg/FFmpeg)
58 | - [uchardet (文本编码检测)](https://github.com/BYVoid/uchardet)
59 | - [iconv (文本编码转换)](https://www.gnu.org/software/libiconv/)
60 | - [SDL2 (多媒体渲染库)](https://www.libsdl.org/) | [SDL2 GitHub](https://github.com/libsdl-org/SDL)
61 | - [SDL2_ttf GitHub](https://github.com/libsdl-org/SDL_ttf)
62 | - [OpenGL (渲染库)](https://www.opengl.org/)
63 | - [sherpa-onnx (ASR 语音识别)](https://github.com/k2-fsa/sherpa-onnx)
64 | - [spdlog (日志库)](https://github.com/gabime/spdlog)
65 | - [demucs.cpp (Demucs v4 C++ 实现)](https://github.com/sevagh/demucs.cpp)
66 |
67 |
68 | 
69 |
--------------------------------------------------------------------------------
/推荐的字幕制作平台.md:
--------------------------------------------------------------------------------
1 | # 前言:
2 |
3 | 视频字幕制作这块,一直是用户非常头痛的问题,需要耗费大量的时间和精力,有时候30分钟的视频,可能需要4个小时的时间来制作字幕,这种成本和代价实在太高,让人无法接受,综合考虑,个人推荐以下8个平台来减少制作字幕的痛苦,如果后面发现更好的平台,会持续更新此文档;
4 |
5 | ## 推荐理由和依据
6 |
7 | 字幕处理效率分两块:
8 |
9 | 1. 中文识别准确率(即出稿的准确率);
10 |
11 | 2. 字幕调整效率;(即拿到文本字幕后,编辑的效率)
12 |
13 | 从字幕处理效率来看,第1点至关重要,所以本文基于第1点,
14 |
15 | 然后综合以下几点,给出个人推荐和判断;
16 |
17 | 1. 中文语音识别的准确率,准确度越高,后期编辑越少;
18 |
19 | 2. 平台大小。(这涉及到稳定性,个人隐私等一些问题,个人不推荐小的语音识别平台)
20 |
21 | 3. 付费与免费,使用的费用成本;
22 |
23 | 4. 易用性,操作简易程度;
24 |
25 | ## 讯飞听见-听见译制(免费)
26 |
27 | https://fanyi.iflyrec.com
28 |
29 | 听见译制是为提供自动创建视频字幕、字幕机器翻译、在线校对、译后编辑和团队协作等功能,大幅提高译员和翻译团队的工作效率,降低生产成本。
30 |
31 | 优点:
32 |
33 | - 讯飞官方出品,语音识别准确率高
34 |
35 | - 支持自动生成字幕和字幕翻译工作;
36 |
37 | - 支持多人协作,任务指派;
38 |
39 | - 目前完全免费;
40 |
41 | - 支持跨平台;
42 |
43 | 缺点:
44 |
45 | - 目前没有发现;
46 |
47 | ## 2.今日头条旗下-巨量创意平台Web版(免费)
48 |
49 |
50 |
51 | 优点:
52 |
53 | - 完全免费
54 |
55 | - 准确率和剪映几乎相当。
56 |
57 | - 不限制视频时长。
58 |
59 | - 可以在电脑上完成,Windows或是MacOS都可以;
60 |
61 | - 可以导出SRT字幕,需要懂一点调试技巧;
62 |
63 | 缺点:
64 |
65 | - 需要注册。
66 |
67 | - 需要上传视频文件(必须是视频)。
68 |
69 | ## 3.网易见外工作台:(每天免费2小时)
70 |
71 |
72 |
73 | 优点:
74 |
75 | - 每天免费2小时;
76 |
77 | - 支持音/视频文件;
78 |
79 | 缺点:
80 |
81 | - 需要注册;
82 |
83 | - 有免费时长限制;
84 |
85 | - 准确性略低于剪影,快影APP,和讯飞听见;
86 |
87 | ## 4.讯飞听见-听见字幕(付费)
88 |
89 |
90 |
91 | 优点:
92 |
93 | - 省心,省时,可以说是最好的字幕平台;
94 |
95 | - 中文领域识别准确率最高的字幕平台;
96 |
97 | - 支持有字幕稿和无字幕搞两种情况;
98 |
99 | - 自带非常强大的字幕编辑工具;
100 |
101 | - 支持导出SRT/ASS/XML等多种格式;
102 |
103 | - 支持跨平台;
104 |
105 | 缺点:
106 |
107 | - 新用户有2小时免费体验时长;
108 |
109 | - 费用极高,机器字幕转写费用在0.48元/分钟,即接近30元/小时;
110 |
111 | ## 5.剪映和快影APP:(属于移动平台)
112 |
113 | 优点:
114 |
115 | - 语音识别准确率极高;
116 |
117 | - 操作简单,小白用户也可以即可上手;
118 |
119 | - 完全免费使用,不限使用次数;
120 |
121 | 缺点:
122 |
123 | - 属于手机应用,操作不方便;
124 |
125 | - 导出文本字幕不方便;
126 |
127 | - 快影,剪映有15分钟导出时长限制;
128 |
129 | ## 6.必剪APP(B站官方出品,属于移动平台)
130 |
131 | 优点:
132 |
133 | - B站官方出品,完全可信赖;
134 |
135 | - 完全免费使用,不限使用次数;
136 |
137 | - 不限制时长。
138 |
139 | 缺点:
140 |
141 | - 属于手机应用,操作不方便;
142 |
143 | - 导出文本字幕不方便;
144 |
145 | - 识别准确性有待提高;
146 |
147 | ## 7.绘影APP(付费)
148 |
149 | 优点:
150 |
151 | - 支持多种语音识别;
152 |
153 | - 识别准确率极高;
154 |
155 | - 支持所有平台(支持Android/iOS和Web网页);
156 |
157 | 缺点:
158 |
159 | - 每天只有30分钟免费时长;
160 |
161 | ## 8.SpeechJsonParser插件(本文档作者开发)
162 |
163 | 一个专门用来导出剪映APP,快影APP,绘影APP,巨量创意Web等自动识别生成的字幕为Srt字幕文件的插件,一劳永逸的解决上字幕的收费的问题。
164 |
165 | 优点:
166 |
167 | - 一劳永逸的解决自动上字幕的问题;
168 |
169 | - 几乎支持所有主流的自动识别软件的SRT自动的导出;
170 |
171 | - 完全免费,不限制使用次数;
172 |
173 | - 只是上述平台字幕的搬运工;
174 |
175 | 缺点:
176 |
177 | - 第一次使用比较麻烦,需要一定的计算机操作;
178 |
179 | 注:其它平台或是字幕软件忽略不计;
180 |
181 | # \--------------------------------
182 |
183 | # 关于文档:
184 |
185 | 本文档的在线文档:
186 |
187 | 推荐的字幕制作平台
188 |
189 | https://docs.qq.com/doc/B3dlOP29ULIr0S02ne0NVuD31hgtLP0KUsYr16oRjG1tNZpx2fRl934lkeyV1a1ypK3ZFDAN4
190 |
191 | **文档维护**:MO
192 |
193 | ### 官方QQ群:870178887
194 |
195 | ### (仅限字幕相关的技术交流)
196 |
--------------------------------------------------------------------------------
/configcore.md:
--------------------------------------------------------------------------------
1 | 程序目录下有两个配置文件
2 | - config.ini 配置一句话语音识别;
3 | - configcore.json 配置语音文件转字幕的配置;
4 |
5 | configcore.json的格式如下;
6 |
7 |
8 | ###### IFlyAudioFileASREngine表示讯飞的语音账号;
9 | - EngineGroup语音账号列表;
10 | - LanguageSuportList 语音账号识别支持的语言;
11 |
12 | > 讯飞语音的账号申请可以参考这篇:[讯飞语音接入](https://www.xfyun.cn/doc/platform/quickguide.html)
13 |
14 | ###### AliYunAudioFileASREngine表示阿里的语音账号;
15 | - EngineGroup飞语音账号列表;
16 | - 阿里的识别语言由Appkey决定;
17 |
18 | > 阿里云语音的账号申请可以参考这篇:[阿里云语音接入](https://help.aliyun.com/document_detail/69835.html)
19 |
20 | ###### TencentCloudAudioFileASREngine表示腾讯的语音账号;
21 | - EngineGroup语音账号列表;
22 | - LanguageSuportList 语音账号识别支持的语言;
23 |
24 | > 腾讯的账号申请可以参考这篇:[腾讯语音接入](https://cloud.tencent.com/document/product/1093/35691)
25 |
26 | ###### BaiduAiAudioFileASREngine表示百度的语音账号;
27 | - EngineGroup语音账号列表;
28 | - LanguageSuportList 语音账号识别支持的语言;
29 |
30 | > 百度语音的账号申请可以参考这篇:[百度语音](https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjgn3)
31 |
32 | ###### ALiYunOSSCloudFileStorage表示阿里云的对象存储;
33 | > 阿里云对象存储的账号申请可以参考这篇:[阿里云对象存储OS接入](https://www.aliyun.com/product/oss)
34 |
35 | ###### BaiduTranslation表示百度的翻译引擎配置;
36 | > 百度翻的账号申请可以参考这篇:[百度翻译](https://api.fanyi.baidu.com/)
37 |
38 | Name:界面显示的引擎名称;
39 | Language 暂时用不到,可以无视;
40 |
41 |
42 | 怎么添加多个账号和支持不同的语音?
43 | 这里以阿里语音举例:
44 |
45 | 1.下载一个json编辑器,比如JSONedit
46 |
47 | 2.参考下面的动画;
48 |
49 | 
50 |
51 | ```
52 | {
53 | "AudioFileASREngineGroup": {
54 | "IFlyAudioFileASREngine": {
55 | "EngineGroup": [
56 | {
57 | "Name": "IFlyAccount1",
58 | "APPID": "xxxxxx",
59 | "SecretKey": "xxxxxx",
60 | "Language": "zh"
61 | },
62 | {
63 | "Name": "IFlyAccount2",
64 | "APPID": "xxxxxx",
65 | "SecretKey": "xxxxxx",
66 | "Language": "zh"
67 | }
68 | ],
69 | "LanguageSuportList": [
70 | {
71 | "Name": "中文",
72 | "Value": "cn"
73 | },
74 | {
75 | "Name": "英文",
76 | "Value": "en"
77 | }
78 | ]
79 | },
80 | "AliYunAudioFileASREngine": {
81 | "EngineGroup": [
82 | {
83 | "Name": "阿里云中文",
84 | "Appkey": "xxxxxx",
85 | "AccessKeyId": "xxxxxx",
86 | "AccessKeySecret": "xxxxxx",
87 | "Language": "zh"
88 | },
89 | {
90 | "Name": "阿里云粤语",
91 | "Appkey": "xxxxxx",
92 | "AccessKeyId": "xxxxxx",
93 | "AccessKeySecret": "xxxxxx",
94 | "Language": "zh"
95 | },
96 | {
97 | "Name": "阿里云英语",
98 | "Appkey": "xxxxxx",
99 | "AccessKeyId": "xxxxxx",
100 | "AccessKeySecret": "xxxxxx",
101 | "Language": "zh"
102 | }
103 | ]
104 | },
105 | "TencentCloudAudioFileASREngine": {
106 | "EngineGroup": [
107 | {
108 | "Name": "TencentAccount",
109 | "SecretId": "xxxxxx",
110 | "SecretKey": "xxxxxx",
111 | "Language": "zh"
112 | }
113 | ],
114 | "LanguageSuportList": [
115 | {
116 | "Name": "中文普通话通用",
117 | "Value": "16k_zh"
118 | },
119 | {
120 | "Name": "音视频领域",
121 | "Value": "16k_zh_video"
122 | },
123 | {
124 | "Name": "英语",
125 | "Value": "16k_en"
126 | },
127 | {
128 | "Name": "粤语",
129 | "Value": "16k_ca"
130 | },
131 | {
132 | "Name": "日语",
133 | "Value": "16k_ja"
134 | },
135 | {
136 | "Name": "上海话方言",
137 | "Value": "16k_wuu-SH"
138 | }
139 | ]
140 | },
141 | "BaiduAiAudioFileASREngine": {
142 | "EngineGroup": [
143 | {
144 | "Name": "BaiduAccount",
145 | "AppId": "xxxxxx",
146 | "AppKey": "xxxxxx",
147 | "AppSecret": "xxxxxx",
148 | "Language": "zh"
149 | }
150 | ],
151 | "LanguageSuportList": [
152 | {
153 | "Name": "中文普通话",
154 | "Value": "80001"
155 | },
156 | {
157 | "Name": "英文",
158 | "Value": "1737"
159 | }
160 | ]
161 | }
162 | },
163 | "CloudFileStorage": {
164 | "ALiYunOSSCloudFileStorage": {
165 | "AccessKeyId": "xxxxxx",
166 | "AccessKeySecret": "xxxxxx",
167 | "Endpoint": "https://oss-cn-hangzhou.aliyuncs.com",
168 | "BucketName": "xxxxxx"
169 | }
170 | },
171 | "TranslationGroup": {
172 | "BaiduTranslation": {
173 | "Name": "Baidu",
174 | "AppId": "xxxxxx",
175 | "SecretKey": "xxxxxx"
176 | }
177 | }
178 | }
179 | ```
180 |
--------------------------------------------------------------------------------
/Nosub.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | x64
7 |
8 |
9 | Release
10 | x64
11 |
12 |
13 |
14 | {7C0645B0-5FA0-4A3A-80BC-6762EE344E68}
15 | QtVS_v303
16 | 10.0.18362.0
17 | 10.0.18362.0
18 | $(MSBuildProjectDirectory)\QtMsBuild
20 |
21 |
22 |
23 | Application
24 | v141
25 |
26 |
27 | Application
28 | v141
29 |
30 |
31 |
34 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 | msvc2017_64_new
55 | core;gui;widgets
56 | debug
57 |
58 |
59 | msvc2017_64_new
60 | core;gui;widgets
61 | release
62 |
63 |
64 |
65 |
66 |
67 |
68 | true
69 | true
70 | ProgramDatabase
71 | Disabled
72 | MultiThreadedDebugDLL
73 |
74 |
75 | Windows
76 | true
77 |
78 |
79 |
80 |
81 | true
82 | true
83 | None
84 | MaxSpeed
85 | MultiThreadedDLL
86 |
87 |
88 | Windows
89 | false
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Build results
17 | [Dd]ebug/
18 | [Dd]ebugPublic/
19 | [Rr]elease/
20 | [Rr]eleases/
21 | x64/
22 | x86/
23 | [Aa][Rr][Mm]/
24 | [Aa][Rr][Mm]64/
25 | bld/
26 | [Bb]in/
27 | [Oo]bj/
28 | [Ll]og/
29 |
30 | # Visual Studio 2015/2017 cache/options directory
31 | .vs/
32 | # Uncomment if you have tasks that create the project's static files in wwwroot
33 | #wwwroot/
34 |
35 | # Visual Studio 2017 auto generated files
36 | Generated\ Files/
37 |
38 | # MSTest test Results
39 | [Tt]est[Rr]esult*/
40 | [Bb]uild[Ll]og.*
41 |
42 | # NUNIT
43 | *.VisualState.xml
44 | TestResult.xml
45 |
46 | # Build Results of an ATL Project
47 | [Dd]ebugPS/
48 | [Rr]eleasePS/
49 | dlldata.c
50 |
51 | # Benchmark Results
52 | BenchmarkDotNet.Artifacts/
53 |
54 | # .NET Core
55 | project.lock.json
56 | project.fragment.lock.json
57 | artifacts/
58 |
59 | # StyleCop
60 | StyleCopReport.xml
61 |
62 | # Files built by Visual Studio
63 | *_i.c
64 | *_p.c
65 | *_h.h
66 | *.ilk
67 | *.meta
68 | *.obj
69 | *.iobj
70 | *.pch
71 | *.pdb
72 | *.ipdb
73 | *.pgc
74 | *.pgd
75 | *.rsp
76 | *.sbr
77 | *.tlb
78 | *.tli
79 | *.tlh
80 | *.tmp
81 | *.tmp_proj
82 | *_wpftmp.csproj
83 | *.log
84 | *.vspscc
85 | *.vssscc
86 | .builds
87 | *.pidb
88 | *.svclog
89 | *.scc
90 |
91 | # Chutzpah Test files
92 | _Chutzpah*
93 |
94 | # Visual C++ cache files
95 | ipch/
96 | *.aps
97 | *.ncb
98 | *.opendb
99 | *.opensdf
100 | *.sdf
101 | *.cachefile
102 | *.VC.db
103 | *.VC.VC.opendb
104 |
105 | # Visual Studio profiler
106 | *.psess
107 | *.vsp
108 | *.vspx
109 | *.sap
110 |
111 | # Visual Studio Trace Files
112 | *.e2e
113 |
114 | # TFS 2012 Local Workspace
115 | $tf/
116 |
117 | # Guidance Automation Toolkit
118 | *.gpState
119 |
120 | # ReSharper is a .NET coding add-in
121 | _ReSharper*/
122 | *.[Rr]e[Ss]harper
123 | *.DotSettings.user
124 |
125 | # JustCode is a .NET coding add-in
126 | .JustCode
127 |
128 | # TeamCity is a build add-in
129 | _TeamCity*
130 |
131 | # DotCover is a Code Coverage Tool
132 | *.dotCover
133 |
134 | # AxoCover is a Code Coverage Tool
135 | .axoCover/*
136 | !.axoCover/settings.json
137 |
138 | # Visual Studio code coverage results
139 | *.coverage
140 | *.coveragexml
141 |
142 | # NCrunch
143 | _NCrunch_*
144 | .*crunch*.local.xml
145 | nCrunchTemp_*
146 |
147 | # MightyMoose
148 | *.mm.*
149 | AutoTest.Net/
150 |
151 | # Web workbench (sass)
152 | .sass-cache/
153 |
154 | # Installshield output folder
155 | [Ee]xpress/
156 |
157 | # DocProject is a documentation generator add-in
158 | DocProject/buildhelp/
159 | DocProject/Help/*.HxT
160 | DocProject/Help/*.HxC
161 | DocProject/Help/*.hhc
162 | DocProject/Help/*.hhk
163 | DocProject/Help/*.hhp
164 | DocProject/Help/Html2
165 | DocProject/Help/html
166 |
167 | # Click-Once directory
168 | publish/
169 |
170 | # Publish Web Output
171 | *.[Pp]ublish.xml
172 | *.azurePubxml
173 | # Note: Comment the next line if you want to checkin your web deploy settings,
174 | # but database connection strings (with potential passwords) will be unencrypted
175 | *.pubxml
176 | *.publishproj
177 |
178 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
179 | # checkin your Azure Web App publish settings, but sensitive information contained
180 | # in these scripts will be unencrypted
181 | PublishScripts/
182 |
183 | # NuGet Packages
184 | *.nupkg
185 | # The packages folder can be ignored because of Package Restore
186 | **/[Pp]ackages/*
187 | # except build/, which is used as an MSBuild target.
188 | !**/[Pp]ackages/build/
189 | # Uncomment if necessary however generally it will be regenerated when needed
190 | #!**/[Pp]ackages/repositories.config
191 | # NuGet v3's project.json files produces more ignorable files
192 | *.nuget.props
193 | *.nuget.targets
194 |
195 | # Microsoft Azure Build Output
196 | csx/
197 | *.build.csdef
198 |
199 | # Microsoft Azure Emulator
200 | ecf/
201 | rcf/
202 |
203 | # Windows Store app package directories and files
204 | AppPackages/
205 | BundleArtifacts/
206 | Package.StoreAssociation.xml
207 | _pkginfo.txt
208 | *.appx
209 |
210 | # Visual Studio cache files
211 | # files ending in .cache can be ignored
212 | *.[Cc]ache
213 | # but keep track of directories ending in .cache
214 | !?*.[Cc]ache/
215 |
216 | # Others
217 | ClientBin/
218 | ~$*
219 | *~
220 | *.dbmdl
221 | *.dbproj.schemaview
222 | *.jfm
223 | *.pfx
224 | *.publishsettings
225 | orleans.codegen.cs
226 |
227 | # Including strong name files can present a security risk
228 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
229 | #*.snk
230 |
231 | # Since there are multiple workflows, uncomment next line to ignore bower_components
232 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
233 | #bower_components/
234 |
235 | # RIA/Silverlight projects
236 | Generated_Code/
237 |
238 | # Backup & report files from converting an old project file
239 | # to a newer Visual Studio version. Backup files are not needed,
240 | # because we have git ;-)
241 | _UpgradeReport_Files/
242 | Backup*/
243 | UpgradeLog*.XML
244 | UpgradeLog*.htm
245 | ServiceFabricBackup/
246 | *.rptproj.bak
247 |
248 | # SQL Server files
249 | *.mdf
250 | *.ldf
251 | *.ndf
252 |
253 | # Business Intelligence projects
254 | *.rdl.data
255 | *.bim.layout
256 | *.bim_*.settings
257 | *.rptproj.rsuser
258 | *- Backup*.rdl
259 |
260 | # Microsoft Fakes
261 | FakesAssemblies/
262 |
263 | # GhostDoc plugin setting file
264 | *.GhostDoc.xml
265 |
266 | # Node.js Tools for Visual Studio
267 | .ntvs_analysis.dat
268 | node_modules/
269 |
270 | # Visual Studio 6 build log
271 | *.plg
272 |
273 | # Visual Studio 6 workspace options file
274 | *.opt
275 |
276 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
277 | *.vbw
278 |
279 | # Visual Studio LightSwitch build output
280 | **/*.HTMLClient/GeneratedArtifacts
281 | **/*.DesktopClient/GeneratedArtifacts
282 | **/*.DesktopClient/ModelManifest.xml
283 | **/*.Server/GeneratedArtifacts
284 | **/*.Server/ModelManifest.xml
285 | _Pvt_Extensions
286 |
287 | # Paket dependency manager
288 | .paket/paket.exe
289 | paket-files/
290 |
291 | # FAKE - F# Make
292 | .fake/
293 |
294 | # JetBrains Rider
295 | .idea/
296 | *.sln.iml
297 |
298 | # CodeRush personal settings
299 | .cr/personal
300 |
301 | # Python Tools for Visual Studio (PTVS)
302 | __pycache__/
303 | *.pyc
304 |
305 | # Cake - Uncomment if you are using it
306 | # tools/**
307 | # !tools/packages.config
308 |
309 | # Tabs Studio
310 | *.tss
311 |
312 | # Telerik's JustMock configuration file
313 | *.jmconfig
314 |
315 | # BizTalk build output
316 | *.btp.cs
317 | *.btm.cs
318 | *.odx.cs
319 | *.xsd.cs
320 |
321 | # OpenCover UI analysis results
322 | OpenCover/
323 |
324 | # Azure Stream Analytics local run output
325 | ASALocalRun/
326 |
327 | # MSBuild Binary and Structured Log
328 | *.binlog
329 |
330 | # NVidia Nsight GPU debugger configuration file
331 | *.nvuser
332 |
333 | # MFractors (Xamarin productivity tool) working folder
334 | .mfractor/
335 |
336 | # Local History for Visual Studio
337 | .localhistory/
338 |
339 | # BeatPulse healthcheck temp database
340 | healthchecksdb
--------------------------------------------------------------------------------