| 60 | out << ","; |
| 61 | } |
| 62 | out << "{\"start_sample\":" << turns[i].span.start_sample |
| 63 | << ",\"end_sample\":" << turns[i].span.end_sample |
| 64 | << ",\"speaker_id\":" << quote_json(turns[i].speaker_id) |
| 65 | << ",\"confidence\":" << turns[i].confidence; |
| 66 | if (!turns[i].text.empty()) { |
| 67 | out << ",\"text\":" << quote_json(turns[i].text); |
| 68 | } |
| 69 | out << "}"; |
| 70 | } |
| 71 | out << "]"; |
| 72 | return out.str(); |
| 73 | } |
| 74 | |
| 75 | const char * artifact_kind_name(engine::runtime::ArtifactKind kind) { |
| 76 | switch (kind) { |
| 77 | case engine::runtime::ArtifactKind::SpeakerEmbedding: |
| 78 | return "speaker_embedding"; |
| 79 | case engine::runtime::ArtifactKind::StyleEmbedding: |
| 80 | return "style_embedding"; |
| 81 | case engine::runtime::ArtifactKind::PromptEmbedding: |
| 82 | return "prompt_embedding"; |
| 83 | case engine::runtime::ArtifactKind::AcousticTokens: |
| 84 | return "acoustic_tokens"; |
| 85 | case engine::runtime::ArtifactKind::Midi: |
no outgoing calls
no test coverage detected