开发者社区 > ModelScope模型即服务 > 正文

modelscope-funasr分句的时间戳里面的这种单引号会跟英文的单引号冲突?

bad8450e5949d99f81256a96eb365a19.png
modelscope-funasr分句的时间戳里面的这种单引号会跟英文的单引号冲突,导致json格式不对,这种可以处理一下么?

展开
收起
嘟嘟嘟嘟嘟嘟 2024-01-05 06:51:04 81 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    是的,FunASR在生成分句的时间戳时会使用单引号来包围时间戳字符串。如果这个字符串中包含英文的单引号,就会导致JSON格式不正确。

    为了解决这个问题,你可以将时间戳中的英文单引号替换为其他字符,比如双引号或者下划线。这样就不会与JSON格式中的单引号冲突了。

    另外,你也可以修改FunASR的源代码,将时间戳字符串中的英文单引号替换为其他字符。具体来说,你需要找到以下代码行:

    std::string timestamp = "'" + std::to_string(cur_time) + "'";
    

    然后将其中的单引号替换为其他字符即可。

    2024-01-06 13:06:27
    赞同 展开评论 打赏
  • 对于这个问题,您可以使用Python的字符串替换功能来解决。在将时间戳转换为JSON格式之前,可以使用replace()方法将所有的单引号替换为双引号。这样可以避免与英文单引号冲突。

    以下是一个示例代码:

    import json
    
    # 假设您的时间戳数据存储在一个名为timestamps的列表中
    timestamps = ["'0.123'", "'0.456'", "'0.789'"]
    
    # 使用replace()方法将所有的单引号替换为双引号
    timestamps = [timestamp.replace("'", '"') for timestamp in timestamps]
    
    # 将处理后的时间戳数据转换为JSON格式
    json_data = json.dumps(timestamps)
    
    print(json_data)
    

    这段代码将会输出:

    ["\"0.123\"", "\"0.456\"", "\"0.789\""]
    

    现在,您已经成功地将时间戳中的单引号替换为了双引号,并将其转换为了JSON格式。

    2024-01-05 09:25:15
    赞同 展开评论 打赏

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352

相关电子书

更多
视觉AI能力的开放现状及ModelScope实战 立即下载
ModelScope助力语音AI模型创新与应用 立即下载
低代码开发师(初级)实战教程 立即下载