Initial commit: FunASR Speech Recognition Toolkit
Update API Documentation / build-api-docs (push) Has been cancelled

Add complete FunASR codebase including models, runtime, and documentation.
This commit is contained in:
freedakgmail
2026-07-09 22:38:58 +08:00
commit 6116b1f3c6
3683 changed files with 990984 additions and 0 deletions
@@ -0,0 +1,89 @@
# This is an example that demonstrates how to configure a model file.
# You can modify the configuration according to your own requirements.
# to print the register_table:
# from funasr.register import tables
# tables.print()
# network architecture
model: LLMASR
model_conf:
lsm_weight: 0.1 # label smoothing option
length_normalized_loss: true
# encoder
encoder: WhisperWarp
encoder_conf:
hub: funasr
init_param_path: "/nfs/maziyang.mzy/models/Whisper-large-v2"
freeze: true
llm: Vicuna
llm_conf:
hub: hf
init_param_path: "/nfs/maziyang.mzy/models/vicuna-7b-v1.5"
freeze: true
adaptor: Linear
adaptor_conf:
downsample_rate: 5
llm_dim: 4096
encoder_dim: 512
# frontend related
frontend: WhisperFrontend
frontend_conf:
fs: 16000
whisper_model: large
do_pad_trim: true
specaug: SpecAugLFR
specaug_conf:
apply_time_warp: false
time_warp_window: 5
time_warp_mode: bicubic
apply_freq_mask: true
freq_mask_width_range:
- 0
- 30
lfr_rate: 6
num_freq_mask: 1
apply_time_mask: true
time_mask_width_range:
- 0
- 12
num_time_mask: 1
train_conf:
accum_grad: 1
grad_clip: 5
max_epoch: 150
keep_nbest_models: 10
log_interval: 10
optim: adamw
optim_conf:
lr: 0.0001
weight_decay: 0.000001
scheduler: warmuplr
scheduler_conf:
warmup_steps: 1500
dataset: AudioLLMDataset
dataset_conf:
index_ds: IndexDSJsonl
batch_sampler: BatchSampler
batch_type: example # example or length
batch_size: 8 # if batch_type is example, batch_size is the numbers of samples; if length, batch_size is source_token_len+target_token_len;
max_token_length: 2048 # filter samples if source_token_len+target_token_len > max_token_length,
buffer_size: 500
shuffle: True
num_workers: 4
preprocessor_text: TextPreprocessRemovePunctuation
tokenizer: HuggingfaceTokenizer
tokenizer_conf:
unk_symbol: <unk>
init_param_path: "/nfs/maziyang.mzy/models/vicuna-7b-v1.5"
@@ -0,0 +1,94 @@
# This is an example that demonstrates how to configure a model file.
# You can modify the configuration according to your own requirements.
# to print the register_table:
# from funasr.register import tables
# tables.print()
# network architecture
model: LLMASR
model_conf:
lsm_weight: 0.1 # label smoothing option
length_normalized_loss: true
# encoder
audio_encoder: "/nfs/zhifu.gzf/init_model/Whisper-large-v3" #iic/Whisper-large-v3
audio_encoder_conf:
hub: ms
freeze: true
llm: Qwen1.5-7b-chat
llm_conf:
hub: hf
freeze: true
init_param_path: "/nfs/zhifu.gzf/init_model/qwen/Qwen1___5-7B-Chat"
audio_adaptor: Linear
audio_adaptor_conf:
downsample_rate: 5
llm_dim: 4096
encoder_dim: 512
# frontend related
frontend: WhisperFrontend
frontend_conf:
fs: 16000
whisper_model: large-v3
do_pad_trim: true
permute: true # true: [bs, frames, dims]; false: [bs, dims, frames]
specaug: SpecAugLFR
specaug_conf:
apply_time_warp: false
time_warp_window: 5
time_warp_mode: bicubic
apply_freq_mask: true
freq_mask_width_range:
- 0
- 30
lfr_rate: 6
num_freq_mask: 1
apply_time_mask: true
time_mask_width_range:
- 0
- 12
num_time_mask: 1
train_conf:
accum_grad: 1
grad_clip: 5
max_epoch: 15
keep_nbest_models: 10
log_interval: 10
optim: adamw
optim_conf:
lr: 0.0001
weight_decay: 0.000000
scheduler: warmuplr
scheduler_conf:
warmup_steps: 1500
dataset: AudioLLMQwenAudioDataset
dataset_conf:
index_ds: IndexDSJsonl
batch_sampler: CustomDistributedBatchSampler
batch_type: example # example or length
batch_size: 4 # if batch_type is example, batch_size is the numbers of samples; if length, batch_size is source_token_len+target_token_len;
max_token_length: 3000 # filter samples if source_token_len+target_token_len > max_token_length,
shuffle: True
num_workers: 4
preprocessor_text: TextPreprocessRemovePunctuation
audio_adaptor_downsample_rate: ${audio_adaptor_conf.downsample_rate}
audio_encoder_downsample_rate: 2
# prompt: "<|startoftranscription|><|zh|><|transcribe|><|zh|><|notimestamps|><|wo_itn|>"
tokenizer: HuggingfaceTokenizer
tokenizer_conf:
unk_symbol: <unk>
init_param_path: "/nfs/zhifu.gzf/init_model/qwen/Qwen1___5-7B-Chat"
@@ -0,0 +1,81 @@
# This is an example that demonstrates how to configure a model file.
# You can modify the configuration according to your own requirements.
# to print the register_table:
# from funasr.register import tables
# tables.print()
# network architecture
model: LLMASR2
model_conf:
lsm_weight: 0.1 # label smoothing option
length_normalized_loss: true
# encoder
audio_encoder: "/nfs/zhifu.gzf/init_model/SenseVoiceModelscope"
audio_encoder_conf:
hub: ms
freeze: true
llm: Qwen1.5-7b-chat
llm_conf:
hub: hf
freeze: true
init_param_path: "/nfs/zhifu.gzf/init_model/qwen/Qwen1___5-7B-Chat_raw"
audio_adaptor: Transformer
audio_adaptor_conf:
downsample_rate: 2
llm_dim: 4096
encoder_dim: 1280
n_layer: 0
# frontend related
frontend: WhisperFrontend
frontend_conf:
fs: 16000
whisper_model: large-v3
do_pad_trim: false
permute: false # true: [bs, frames, dims]; false: [bs, dims, frames]
filters_path: "/nfs/zhifu.gzf/init_model/SenseVoiceModelscope/assets/mel_filters.npz"
train_conf:
accum_grad: 1
grad_clip: 5
max_epoch: 15
keep_nbest_models: 10
log_interval: 10
optim: adamw
optim_conf:
lr: 0.0001
weight_decay: 0.000000
scheduler: warmuplr
scheduler_conf:
warmup_steps: 1500
dataset: OpenAIDataset
dataset_conf:
index_ds: OpenAIIndexDSJsonl
batch_sampler: BatchSampler
batch_type: token
batch_size: 900
max_token_length: 1024
shuffle: true
sort_size: 1024
batch_size_scale_ratio_max: 2
num_workers: 4
audio_adaptor_downsample_rate: ${audio_adaptor_conf.downsample_rate}
audio_encoder_downsample_rate: 4
data_split_num: 512
batch_size_sample_max: 15
retry: 20
tokenizer: HuggingfaceTokenizer
tokenizer_conf:
init_param_path: "/nfs/zhifu.gzf/init_model/qwen/Qwen1___5-7B-Chat_raw"
@@ -0,0 +1,81 @@
# This is an example that demonstrates how to configure a model file.
# You can modify the configuration according to your own requirements.
# to print the register_table:
# from funasr.register import tables
# tables.print()
# network architecture
model: LLMASR2
model_conf:
lsm_weight: 0.1 # label smoothing option
length_normalized_loss: true
# encoder
audio_encoder: "/nfs/zhifu.gzf/init_model/SenseVoiceModelscope"
audio_encoder_conf:
hub: ms
freeze: true
llm: Qwen1.5-7b-chat
llm_conf:
hub: hf
freeze: true
init_param_path: "/nfs/zhifu.gzf/init_model/qwen/Qwen1___5-7B-Chat_raw"
audio_adaptor: Transformer
audio_adaptor_conf:
downsample_rate: 2
llm_dim: 4096
encoder_dim: 1280
n_layer: 2
# frontend related
frontend: WhisperFrontend
frontend_conf:
fs: 16000
whisper_model: large-v3
do_pad_trim: false
permute: false # true: [bs, frames, dims]; false: [bs, dims, frames]
filters_path: "/nfs/zhifu.gzf/init_model/SenseVoiceModelscope/assets/mel_filters.npz"
train_conf:
accum_grad: 1
grad_clip: 5
max_epoch: 15
keep_nbest_models: 10
log_interval: 10
optim: adamw
optim_conf:
lr: 0.0001
weight_decay: 0.000000
scheduler: warmuplr
scheduler_conf:
warmup_steps: 1500
dataset: OpenAIDataset
dataset_conf:
index_ds: OpenAIIndexDSJsonl
batch_sampler: BatchSampler
batch_type: token
batch_size: 900
max_token_length: 1024
shuffle: true
sort_size: 1024
batch_size_scale_ratio_max: 2
num_workers: 4
audio_adaptor_downsample_rate: ${audio_adaptor_conf.downsample_rate}
audio_encoder_downsample_rate: 2
data_split_num: 512
batch_size_sample_max: 15
retry: 20
tokenizer: HuggingfaceTokenizer
tokenizer_conf:
init_param_path: "/nfs/zhifu.gzf/init_model/qwen/Qwen1___5-7B-Chat_raw"
@@ -0,0 +1,93 @@
# This is an example that demonstrates how to configure a model file.
# You can modify the configuration according to your own requirements.
# to print the register_table:
# from funasr.register import tables
# tables.print()
# network architecture
model: LLMASR
model_conf:
lsm_weight: 0.1 # label smoothing option
length_normalized_loss: true
# encoder
audio_encoder: "/nfs/zhifu.gzf/init_model/Whisper-large-v3" #iic/Whisper-large-v3
audio_encoder_conf:
hub: ms
freeze: true
llm: Vicuna
llm_conf:
hub: hf
init_param_path: "/nfs/maziyang.mzy/models/vicuna-7b-v1.5"
freeze: true
audio_adaptor: Linear
audio_adaptor_conf:
downsample_rate: 5
llm_dim: 4096
encoder_dim: 512
# frontend related
frontend: WhisperFrontend
frontend_conf:
fs: 16000
whisper_model: large-v3
do_pad_trim: true
permute: true # true: [bs, frames, dims]; false: [bs, dims, frames]
specaug: SpecAugLFR
specaug_conf:
apply_time_warp: false
time_warp_window: 5
time_warp_mode: bicubic
apply_freq_mask: true
freq_mask_width_range:
- 0
- 30
lfr_rate: 6
num_freq_mask: 1
apply_time_mask: true
time_mask_width_range:
- 0
- 12
num_time_mask: 1
train_conf:
accum_grad: 1
grad_clip: 5
max_epoch: 15
keep_nbest_models: 10
log_interval: 10
optim: adamw
optim_conf:
lr: 0.0001
weight_decay: 0
scheduler: warmuplr
scheduler_conf:
warmup_steps: 1500
dataset: AudioLLMVicunaDataset
dataset_conf:
index_ds: IndexDSJsonl
batch_sampler: CustomDistributedBatchSampler
batch_type: example # example or length
batch_size: 4 # if batch_type is example, batch_size is the numbers of samples; if length, batch_size is source_token_len+target_token_len;
max_token_length: 3000 # filter samples if source_token_len+target_token_len > max_token_length,
shuffle: True
num_workers: 4
# preprocessor_text: TextPreprocessRemovePunctuation
audio_adaptor_downsample_rate: ${audio_adaptor_conf.downsample_rate}
audio_encoder_downsample_rate: 2
tokenizer: HuggingfaceTokenizer
tokenizer_conf:
unk_symbol: <unk>
init_param_path: "/nfs/maziyang.mzy/models/vicuna-7b-v1.5"