You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ohun包split_acoustic_data函数遇类型错误求助

问题原因及解决思路

错误提示“both objects must be of class 'selection_table'”是因为split_acoustic_data()函数需要两个selection_table类型的参数(X和Y),但你只传入了X,未提供Y参数,不符合函数的调用要求。

另外,从你的需求来看,你想要将音频分割为30秒的片段,split_acoustic_data()并不是合适的工具——这个函数的设计目的是基于两个选择表(比如参考片段和目标片段)来分割音频,而非直接切割整个音频文件。

正确解决方案:使用warbleR的split_sounds()函数

要实现分割音频为固定时长片段的需求,应该用warbleR包中的split_sounds()函数,步骤如下:

  1. 确保你知道音频文件所在的实际路径(比如"~/audio_files/")
  2. 调用split_sounds()完成切割,示例代码如下:
# 加载warbleR包
library(warbleR)

# 指定音频文件路径(替换为你的实际路径)
audio_path <- "~/your_audio_directory/"

# 分割音频为30秒片段,输出到指定文件夹
split_sounds(sgmt.dur = 30, path = audio_path, dest.path = file.path(audio_path, "split_segments"), pb = TRUE)

补充说明

  • 你之前创建的exampleselectiontable因为设置path = NULL,没有关联实际的音频文件路径,这类选择表无法用于后续的音频处理操作,创建时务必指定正确的path参数。
  • 如果你的需求确实需要使用split_acoustic_data()(比如基于参考片段分割目标音频),则需要准备第二个selection_table对象(Y)并传入函数,同时确保两个选择表都关联了正确的音频路径。

内容的提问来源于stack exchange,提问作者ksh530

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 01:01:12