Skip to content

Commit

Permalink
Merge pull request #9 from edmundmtang/godot_4.1.1
Browse files Browse the repository at this point in the history
Godot 4.1.1
  • Loading branch information
edmundmtang authored Aug 30, 2023
2 parents 4c1ae2d + ee4efa8 commit e25596b
Show file tree
Hide file tree
Showing 29 changed files with 137 additions and 73 deletions.
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Directories using files from my vosk api
libpath/*
project/bin/*
# libpath/*
# project/bin/*

# The language models from vosk are way too huge
project/*/language_models/*
Expand All @@ -10,6 +10,7 @@ godot-cpp/*

# automatically generated files
project/.import/*
project/.godot/*
*.obj
.sconsign.dblite

3 changes: 1 addition & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
[submodule "godot-cpp"]
path = godot-cpp
url = git@github.com:godotengine/godot-cpp
branch = 4.0
url = git@github.com:godotengine/godot-cpp
Binary file added libpath/libvosk.lib
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,10 @@ Anim={
"half_res": false,
"information": false,
"listener": true,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"use_environment": false,
"use_orthogonal": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
Expand All @@ -122,9 +123,10 @@ Anim={
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"use_environment": false,
"use_orthogonal": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
Expand All @@ -140,9 +142,10 @@ Anim={
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"use_environment": false,
"use_orthogonal": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
Expand All @@ -158,13 +161,15 @@ Anim={
"half_res": false,
"information": false,
"listener": false,
"lock_rotation": false,
"orthogonal": false,
"position": Vector3(0, 0, 0),
"use_environment": false,
"use_orthogonal": false,
"view_type": 0,
"x_rotation": 0.5,
"y_rotation": -0.5
}],
"zfar": 4000.01,
"znear": 0.05
}
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@17637/@Control@697/@Panel@698/@VBoxContainer@706/@HSplitContainer@709/@HSplitContainer@717/@HSplitContainer@725/@VBoxContainer@726/@VSplitContainer@728/@VSplitContainer@754/@VBoxContainer@755/@PanelContainer@800/MainScreen/@CanvasItemEditor@10090/@VSplitContainer@9915/@HSplitContainer@9917/@HSplitContainer@9919/@Control@9920/@SubViewportContainer@9921/@SubViewport@9922/Main/VoskSpeechRecognizer")])
27 changes: 25 additions & 2 deletions project/.godot/editor/editor_layout.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,40 @@ dock_hsplit_1=0
dock_hsplit_2=336
dock_hsplit_3=-270
dock_hsplit_4=0
dock_1_selected_tab_idx=0
dock_2_selected_tab_idx=0
dock_3_selected_tab_idx=0
dock_4_selected_tab_idx=0
dock_5_selected_tab_idx=0
dock_6_selected_tab_idx=0
dock_7_selected_tab_idx=0
dock_8_selected_tab_idx=0
dock_floating={}
dock_filesystem_selected_paths=PackedStringArray("res://default_bus_layout.tres")
dock_filesystem_uncollapsed_paths=PackedStringArray("res://")
dock_3="Scene,Import"
dock_4="FileSystem"
dock_5="Inspector,Node,History"

[EditorNode]

open_scenes=["res://Main.tscn"]
open_scenes=PackedStringArray("res://Main.tscn")
current_scene="res://Main.tscn"
center_split_offset=0
selected_default_debugger_tab_idx=0
selected_main_editor_idx=2
selected_bottom_panel_item=0

[ScriptEditor]

open_scripts=["res://AudioEffectCaptureExtend.gd", "res://Main.gd", "res://RecordingPlayer.gd", "res://testHUD.gd", "res://speech_recognizer/VoskSpeechRecognizer.gd"]
open_scripts=["res://Main.gd", "res://RecordingPlayer.gd", "res://testHUD.gd", "res://speech_recognizer/VoskSpeechRecognizer.gd"]
open_help=[]
script_split_offset=240
list_split_offset=0
selected_script="res://Main.gd"

[ShaderEditor]

open_shaders=[]
split_offset=0
selected_shader=""
40 changes: 15 additions & 25 deletions project/.godot/editor/filesystem_cache8
Original file line number Diff line number Diff line change
@@ -1,25 +1,15 @@
2a60927148abd1d33b818b535e306557
::res://::1678000988
AudioEffectCaptureExtend.gd::GDScript::-1::1677973145::0::1::::<>AudioEffectCaptureExtend<>::
default_bus_layout.tres::AudioBusLayout::8260279863403892904::1677999920::0::1::::<><>::
icon.png::CompressedTexture2D::7862382961466664112::1677012919::1677905256::1::::<><>::
Main.gd::GDScript::-1::1678000858::0::1::::<>Node2D<>::
Main.tscn::PackedScene::2334701008700716727::1678000858::0::1::::<><>::res://Main.gd<>res://RecordingPlayer.gd<>res://speech_recognizer/VoskSpeechRecognizer.gd<>uid://d0odff4jebh0c
RecordingPlayer.gd::GDScript::-1::1677975658::0::1::::<>AudioStreamPlayer<>::
testHUD.gd::GDScript::-1::1677982758::0::1::::<>Node2D<>::
testHUD.tscn::PackedScene::8943075818365164696::1678000057::0::1::::<><>::res://testHUD.gd
::res://assets/::1677905256
mouths_sheet.png::CompressedTexture2D::3889319267765816103::1677729682::1677905256::1::::<><>::
::res://bin/::1677998065
::res://speech_recognizer/::1678000652
VoskSpeechRecognizer.gd::GDScript::-1::1678000652::0::1::::<>VoskSpeechRecognizer<>::
vosk_speech_recognizer.gdextension::GDExtension::-1::1677969255::0::1::::<><>::
::res://speech_recognizer/language_models/::1677904818
phones.txt::TextFile::-1::1677729679::0::1::::<><>::
::res://speech_recognizer/language_models/vosk-model-small-en-us-0.15/::1676147252
::res://speech_recognizer/language_models/vosk-model-small-en-us-0.15/am/::1676147252
::res://speech_recognizer/language_models/vosk-model-small-en-us-0.15/conf/::1676147252
::res://speech_recognizer/language_models/vosk-model-small-en-us-0.15/graph/::1677727755
phones.txt::TextFile::-1::1677646295::0::1::::<><>::
::res://speech_recognizer/language_models/vosk-model-small-en-us-0.15/graph/phones/::1676147252
::res://speech_recognizer/language_models/vosk-model-small-en-us-0.15/ivector/::1676147252
ea4bc82a6ad023ab7ee23ee620429895
::res://::1693419124
default_bus_layout.tres::AudioBusLayout::8260279863403892904::1693415414::0::1::::<><>::
icon.png::CompressedTexture2D::7862382961466664112::1693415414::1693415414::1::::<><>::
Main.gd::GDScript::-1::1693415414::0::1::::<>Node2D<>::
Main.tscn::PackedScene::2334701008700716727::1693415414::0::1::::<><>::res://Main.gd<>res://RecordingPlayer.gd<>res://speech_recognizer/VoskSpeechRecognizer.gd<>uid://d0odff4jebh0c::::res://testHUD.tscn
RecordingPlayer.gd::GDScript::-1::1693415414::0::1::::<>AudioStreamPlayer<>::
testHUD.gd::GDScript::-1::1693415414::0::1::::<>Node2D<>::
testHUD.tscn::PackedScene::8943075818365164696::1693415414::0::1::::<><>::res://testHUD.gd
::res://bin/::1693419109
::res://speech_recognizer/::1693415727
VoskSpeechRecognizer.gd::GDScript::-1::1690922055::0::1::::<>VoskSpeechRecognizer<>::
vosk_speech_recognizer.gdextension::GDExtension::-1::1690921561::0::1::::<><>::
::res://speech_recognizer/language_models/::1693415414
phones.txt::TextFile::-1::1693415414::0::1::::<><>::
2 changes: 2 additions & 0 deletions project/.godot/editor/filesystem_update4
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
res://default_bus_layout.tres
res://Main.tscn
res://Main.gd
res://RecordingPlayer.gd
res://speech_recognizer/VoskSpeechRecognizer.gd
6 changes: 5 additions & 1 deletion project/.godot/editor/project_metadata.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[editor_metadata]

executable_path="C:/Program Files (x86)/Godot/Godot_v4.0-stable_win64.exe"
executable_path="C:/Program Files (x86)/Godot/Godot_v4.1.1-stable_win64.exe"

[debug_options]

Expand All @@ -23,3 +23,7 @@ project_settings=Rect2(2182, 379, 900, 700)
[project_settings]

advanced_mode=true

[linked_properties]

Node2D:scale=true
26 changes: 6 additions & 20 deletions project/.godot/editor/script_editor_cache.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,21 @@ state={
"column": 0,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
"row": 52,
"scroll_position": 33.0,
"selection": false,
"syntax_highlighter": "GDScript"
}

[res://RecordingPlayer.gd]

state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
"column": 0,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
"row": 14,
"row": 19,
"scroll_position": 0.0,
"selection": false,
"syntax_highlighter": "GDScript"
}

[res://AudioEffectCaptureExtend.gd]
[res://RecordingPlayer.gd]

state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
"column": 0,
"column": 18,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
"row": 1,
"row": 26,
"scroll_position": 0.0,
"selection": false,
"syntax_highlighter": "GDScript"
Expand All @@ -59,10 +45,10 @@ state={
state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
"column": 17,
"column": 22,
"folded_lines": Array[int]([]),
"h_scroll_position": 0,
"row": 7,
"row": 6,
"scroll_position": 0.0,
"selection": false,
"syntax_highlighter": "GDScript"
Expand Down
Binary file modified project/.godot/uid_cache.bin
Binary file not shown.
1 change: 0 additions & 1 deletion project/AudioEffectCaptureExtend.gd

This file was deleted.

2 changes: 0 additions & 2 deletions project/Main.gd
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ var text_result : String = ""
var phoneme_labels : Array
var phoneme_timings : Array



func _ready():
print("Starting Test!")

Expand Down
2 changes: 1 addition & 1 deletion project/RecordingPlayer.gd
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ func _ready() -> void:

func start_recording() -> void:
is_recording = true
capture_effect.clear_buffer()
# capture_effect.clear_buffer()

func stop_recording() -> void:
is_recording = false
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added project/bin/libgcc_s_seh-1.dll
Binary file not shown.
Binary file added project/bin/libstdc++-6.dll
Binary file not shown.
Binary file added project/bin/libvosk.dll
Binary file not shown.
Binary file added project/bin/libwinpthread-1.dll
Binary file not shown.
4 changes: 2 additions & 2 deletions project/default_bus_layout.tres
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[gd_resource type="AudioBusLayout" load_steps=2 format=3 uid="uid://dpxluqq8qy37y"]

[sub_resource type="AudioEffectCaptureExtend" id="AudioEffectCaptureExtend_iy28f"]
[sub_resource type="AudioEffectCaptureExtend" id="AudioEffectCaptureExtend_kmsm8"]
resource_name = "CaptureExtend"

[resource]
Expand All @@ -10,5 +10,5 @@ bus/1/mute = true
bus/1/bypass_fx = false
bus/1/volume_db = 0.0
bus/1/send = &"Capture 2"
bus/1/effect/0/effect = SubResource("AudioEffectCaptureExtend_iy28f")
bus/1/effect/0/effect = SubResource("AudioEffectCaptureExtend_kmsm8")
bus/1/effect/0/enabled = true
2 changes: 1 addition & 1 deletion project/project.godot
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ config_version=5

config/name="vosk-godot"
run/main_scene="res://Main.tscn"
config/features=PackedStringArray("4.0")
config/features=PackedStringArray("4.1")
config/icon="res://icon.png"

[audio]
Expand Down
7 changes: 5 additions & 2 deletions project/speech_recognizer/VoskSpeechRecognizer.gd
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@ extends VoskSpeechRecognizer

var model_path = "speech_recognizer/language_models/vosk-model-small-en-us-0.15"
var sample_rate: float = ProjectSettings.get_setting("audio/driver/mix_rate")
var is_running : bool = false

func _ready():
func _ready() -> void:
start()

func start() -> void:
initialize(model_path, sample_rate)

set_words_option(true)
set_phones_option(true)
set_timings_option(true)
is_running = true
4 changes: 1 addition & 3 deletions project/speech_recognizer/vosk_speech_recognizer.gdextension
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
[configuration]

entry_symbol = "vosk_speech_recognizer_library_init"
compatibility_minimum = 4.1

[libraries]

windows.debug.x86_64 = "res://bin/lib_vosk_speech_recognizer.windows.template_debug.x86_64.dll"

[dependencies]

windows.debug.x86_64 = ["res://bin/libvosk.dll"]
5 changes: 3 additions & 2 deletions src/register_types.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ void initialize_vosk_speech_recognizer_module(ModuleInitializationLevel p_level)

ClassDB::register_class<VoskSpeechRecognizer>();
ClassDB::register_class<AudioEffectCaptureExtend>();
//ClassDB::register_class<AudioEffectCustom>();

}

Expand All @@ -32,8 +33,8 @@ void uninitialize_vosk_speech_recognizer_module(ModuleInitializationLevel p_leve

extern "C" {
// Initialization
GDExtensionBool GDE_EXPORT vosk_speech_recognizer_library_init(const GDExtensionInterface *p_interface, GDExtensionClassLibraryPtr p_library, GDExtensionInitialization *r_initialization) {
godot::GDExtensionBinding::InitObject init_obj(p_interface, p_library, r_initialization);
GDExtensionBool GDE_EXPORT vosk_speech_recognizer_library_init(GDExtensionInterfaceGetProcAddress p_get_proc_address, GDExtensionClassLibraryPtr p_library, GDExtensionInitialization *r_initialization) {
godot::GDExtensionBinding::InitObject init_obj(p_get_proc_address, p_library, r_initialization);

init_obj.register_initializer(initialize_vosk_speech_recognizer_module);
init_obj.register_terminator(uninitialize_vosk_speech_recognizer_module);
Expand Down
28 changes: 27 additions & 1 deletion src/vosk_speech_recognizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ void VoskSpeechRecognizer::_bind_methods() {

// Methods
ClassDB::bind_method(D_METHOD("initialize", "path", "sample_rate"), &VoskSpeechRecognizer::initialize);
ClassDB::bind_method(D_METHOD("reset"), &VoskSpeechRecognizer::reset);
ClassDB::bind_method(D_METHOD("accept_waveform", "audio_data"), &VoskSpeechRecognizer::accept_waveform);
ClassDB::bind_method(D_METHOD("get_partial"), &VoskSpeechRecognizer::get_partial);
ClassDB::bind_method(D_METHOD("get_phone_partial"), &VoskSpeechRecognizer::get_phone_partial);
Expand Down Expand Up @@ -72,6 +73,10 @@ void VoskSpeechRecognizer::initialize(String path, float rate) {
speech_recognizer = vosk_recognizer_new(language_model, rate);
}

void VoskSpeechRecognizer::reset() {
vosk_recognizer_reset(speech_recognizer);
}

int VoskSpeechRecognizer::accept_waveform(PackedByteArray data) {
int len = data.size();
memcpy(buf, data.ptr(), len);
Expand Down Expand Up @@ -119,4 +124,25 @@ PackedByteArray AudioEffectCaptureExtend::get_buffer_uint16(int p_frames) {
encode_uint16(u, &w[i * 2]);
}
return data;
}
}

// ===== AudioEffectCustom ===== //
/*
void AudioEffectCustomInstance::_bind_methods() {
}
void AudioEffectCustom::_bind_methods() {
}
Ref<AudioEffectInstance> AudioEffectCustom::instantiate() {
Ref<AudioEffectInstance> ins;
ins.instantiate();
ins->base = Ref<AudioEffectCustom>(this);
return ins;
}
*/
Loading

0 comments on commit e25596b

Please sign in to comment.