diff --git a/apps/octra/src/app/core/modals/shortcuts-modal/shortcuts-modal.component.html b/apps/octra/src/app/core/modals/shortcuts-modal/shortcuts-modal.component.html index 372f0b46d..e4a227fa1 100644 --- a/apps/octra/src/app/core/modals/shortcuts-modal/shortcuts-modal.component.html +++ b/apps/octra/src/app/core/modals/shortcuts-modal/shortcuts-modal.component.html @@ -24,7 +24,7 @@
{{ 'modal.shortcuts.' + shortcutGroup!.name | transloco }}
{{ 'modal.shortcuts.' + entry.title | transloco }} } @if (entry.label !== undefined) { - {{ entry.label }} + }
<TIM>Zeitansage
<LOC>Ortsangabe („Berlin.“) oder Thema („Bundeshaushalt“, „Sport.“, „Fußball.“)
<COR>Meldung, klass. Nachricht, Core-News
<REP>Bericht, Report (oft vorproduzierter Einspieler)
<INT>Anmoderation/Intro (zu einem nachfolgenden Bericht/Einspieler)
<OUT>Abmoderation/Outro („Das war Anne Seiler aus Bonn“ nach dem Bericht etc)
<OTO>O-Ton (Bericht oder Interviewausschnitt mit Atmo-Hintergrund)
<SPO>Sport
<WET>Wetterbericht/-vohersage/-interview
<TRA>Verkehr
<STO>Börsennachrichten (oft mit Atmo)
<TOP>Übersicht (DLF: „Die Themen....“)
<PAC>Jingle/Senderkennung, akustische Trenner, Pausenzeichen, Zeitzeichen, akustische Verpackung
" }, { "code": "M02", "priority": 100, - "title": "Nonverbale Sprechergeräusche", - "description": "Nonverbale Sprechergeräusche wie Husten, Lachen, Schmatzen usw. werden mit {{}} und Leerzeichen vor jedem betroffenen Wort markiert. ", - "examples": [] - }, - { - "code": "M02", - "priority": 100, - "title": "Andere Geräusche", - "description": "Geräusche, die nicht vom Sprecher stammen, z.B. Türschlagen, Klopfen, Motoren, werden mit {{}} und Leerzeichen vor dem betroffenen Wort markiert. ", - "examples": [] - }, - { - "code": "M03", - "priority": 100, - "title": "Weitere Sprecher", - "description": "Sprache eines dritten Sprechers wird mit {{**}} (mit Leerzeichen von den benachbarten Wörtern getrennt) markiert, ebenso unverständliche Passagen.", - "examples": [] - }, - { - "code": "M04", - "priority": 100, - "title": "Versprecher", - "description": "Versprecher werden soweit möglich transkribiert und mit * am Wortanfang markiert. ", + "title": "Jede nicht-leere Transkriptionseinheit beginnt mit einer Marke", + "description": "Eine Transkriptionseinheit muss mit einer Marke beginnen", "examples": [ { - "annotation": "am *drit nein vierten April", - "url": "" - } - ] - }, - { - "code": "M05", - "priority": 100, - "title": "Phrasengrenzen", - "description": "Markieren Sie Phrasengrenzen (möglichst in Sprechpausen) mit einem senkrechten Strich.", - "examples": [] - } - ] - }, - { - "group": "Häsitationen", - "entries": [ - { - "code": "H01", - "priority": 100, - "title": "Häsitationsmarker", - "description": "Häsitationsphänomene wie 'äh', 'öh', 'ähm' oder 'mhm' werden unabhängig vom produzierten Vokal mit standardisierten Wörtern transkribiert:", - "examples": [ - { - "annotation": "äh - wenn kein Nasal zu hören ist", - "url": "" + "annotation": "<TIM> 11 Uhr " }, { - "annotation": "ähm - wenn ein Vokal und ein Nasal zu hören sind", - "url": "" + "annotation": "<PAC>" }, { - "annotation": "mhm - wenn zwei Nasale zu hören sind", - "url": "" + "annotation": "<INT> Die Nachrichten von SR1" }, { - "annotation": "ach - wenn ein Frikativ zu hören ist", - "url": "" + "annotation": "<LOC> Zum Fußball" }, { - "annotation": "ne, nee - bei initialem Nasal", - "url": "" + "annotation": "<SPO> Der 1. FC Köln sucht einen neuen Trainer…" } ] + }, + { + "code": "M03", + "priority": 100, + "title": "Je Transkriptionseinheit nur eine Marke", + "description": "Eine Transkriptionseinheit darf nur einem Marke enthalten." } ] } @@ -178,12 +134,11 @@ "markers": [ { "id": 1, - "name": "truncation marker start", - "code": "[~abc]", + "name": "", + "code": "", "type": "normal", - "icon": "assets/img/components/transcr-editor/default_markers/truncation_start.png", - "button_text": "~abc", - "description": "Diesen Marker nur am Anfang setzen, sollte die Audiosequenz mit einem abgeschnittenem Wort beginnen", + "button_text": "<TIM>", + "description": "Zeitansage", "shortcut": { "mac": "ALT + 1", "pc": "ALT + 1" @@ -191,12 +146,11 @@ }, { "id": 2, - "name": "filled pause", - "code": "", + "name": "<LOC>", + "code": "", "type": "normal", - "icon": "assets/img/components/transcr-editor/default_markers/fil.png", - "button_text": "Gefüllte Pause", - "description": "Für Zögern des Sprechers wie hm, ähm, äh und andere.", + "button_text": "<LOC>", + "description": "Ortsangabe („Berlin.“) oder Thema („Bundeshaushalt“, „Sport.“, „Fußball.“)", "shortcut": { "mac": "ALT + 2", "pc": "ALT + 2" @@ -204,12 +158,11 @@ }, { "id": 3, - "name": "intermittent noise", - "code": "[int]", + "name": "<COR>", + "code": "", "type": "normal", - "icon": "assets/img/components/transcr-editor/default_markers/int.png", - "button_text": "unterbrechendes Geräusch", - "description": "Für kurzes, eindeutiges Geräusch wie z.B. Türknallen, das Berühren des Mirkrofons, oder ähnliches.", + "button_text": "<COR>", + "description": "Meldung, klass. Nachricht, Core-News", "shortcut": { "mac": "ALT + 3", "pc": "ALT + 3" @@ -217,12 +170,11 @@ }, { "id": 4, - "name": "speaker noise", - "code": "", + "name": "<REP>", + "code": "", "type": "normal", - "icon": "assets/img/components/transcr-editor/default_markers/spk.png", - "button_text": "Sprechergeräusch", - "description": "Für Geräusche und Unterbrechungen, die der Sprecher produziert wie z.B. lautes Atmen, Lachen oder ähnliches.", + "button_text": "<REP>", + "description": "Bericht, Report (oft vorproduzierter Einspieler)", "shortcut": { "mac": "ALT + 4", "pc": "ALT + 4" @@ -230,12 +182,11 @@ }, { "id": 5, - "name": "stationary noise", - "code": "[sta]", + "name": "<INT>", + "code": "", "type": "normal", - "icon": "assets/img/components/transcr-editor/default_markers/sta.png", - "button_text": "Andauerndes Geräusch", - "description": "Für lang andauerndes, lautes Geräusch wie Verkehrslärm, Musik oder Radio im Hintergrund.", + "button_text": "<INT>", + "description": "Anmoderation/Intro (zu einem nachfolgenden Bericht/Einspieler)", "shortcut": { "mac": "ALT + 5", "pc": "ALT + 5" @@ -243,12 +194,11 @@ }, { "id": 6, - "name": "unclear word", - "code": "**", + "name": "<OUT>", + "code": "", "type": "normal", - "icon": "assets/img/components/transcr-editor/default_markers/stars.png", - "button_text": "**", - "description": "Diesen Marker vor einem Wort setzen, welches einer unverständlichen Sprache entstammt.", + "button_text": "<OUT>", + "description": "Abmoderation/Outro („Das war Anne Seiler aus Bonn“ nach dem Bericht etc)", "shortcut": { "mac": "ALT + 6", "pc": "ALT + 6" @@ -256,12 +206,11 @@ }, { "id": 7, - "name": "truncation marker end", - "code": "[abc~]", + "name": "<OTO>", + "code": "", "type": "normal", - "icon": "assets/img/components/transcr-editor/default_markers/truncation_end.png", - "button_text": "abc~", - "description": "Diesen Marker nur am Ende setzen, sollte die Audiosequenz mit einem abgeschnittenem Wort enden.", + "button_text": "<OTO>", + "description": "O-Ton (Bericht oder Interviewausschnitt mit Atmo-Hintergrund)", "shortcut": { "mac": "ALT + 7", "pc": "ALT + 7" @@ -269,15 +218,74 @@ }, { "id": 8, - "name": "break", - "code": "

", - "type": "break", - "icon": "assets/img/components/transcr-editor/default_markers/break.png", - "button_text": "Pause", - "description": "Dieser Marker stellt eine Pause dar, d.h. eine Sequenz in der nicht gesprochen wird", + "name": "<SPO>", + "code": "", + "type": "normal", + "button_text": "<SPO>", + "description": "Sport", + "shortcut": { + "mac": "ALT + W", + "pc": "ALT + W" + } + }, + { + "id": 9, + "name": "<WET>", + "code": "", + "type": "normal", + "button_text": "<WET>", + "description": "Wetterbericht/-vohersage/-interview", + "shortcut": { + "mac": "ALT + E", + "pc": "ALT + E" + } + }, + { + "id": 10, + "name": "<TRA>", + "code": "", + "type": "normal", + "button_text": "<TRA>", + "description": "Verkehr", + "shortcut": { + "mac": "ALT + R", + "pc": "ALT + R" + } + }, + { + "id": 11, + "name": "<STO>", + "code": "", + "type": "normal", + "button_text": "<STO>", + "description": "Börsennachrichten (oft mit Atmo)", + "shortcut": { + "mac": "ALT + T", + "pc": "ALT + T" + } + }, + { + "id": 12, + "name": "<TOP>", + "code": "", + "type": "normal", + "button_text": "<TOP>", + "description": "Übersicht (DLF: „Die Themen....“)", + "shortcut": { + "mac": "ALT + Z", + "pc": "ALT + Z" + } + }, + { + "id": 13, + "name": "<PAC>", + "code": "", + "type": "normal", + "button_text": "<PAC>", + "description": "Jingle/Senderkennung, akustische Trenner, Pausenzeichen, Zeitzeichen, akustische Verpackung", "shortcut": { - "mac": "ALT + P", - "pc": "ALT + P" + "mac": "ALT + A", + "pc": "ALT + A" } } ] diff --git a/libs/annotation/src/lib/annotation.ts b/libs/annotation/src/lib/annotation.ts index 5a234a6de..3103e2c4e 100644 --- a/libs/annotation/src/lib/annotation.ts +++ b/libs/annotation/src/lib/annotation.ts @@ -391,8 +391,6 @@ export class OctraAnnotation< ) { if ( index < this.currentLevel.items.length - 1 && - silenceValue !== undefined && - silenceValue !== '' && this.currentLevel.type === 'SEGMENT' ) { const nextSegment = this.currentLevel.items[ @@ -403,11 +401,11 @@ export class OctraAnnotation< ).getFirstLabelWithoutName('Speaker')?.value; if ( - silenceValue !== undefined && - nextSegment.getFirstLabelWithoutName('Speaker')?.value !== + !silenceValue || + (nextSegment.getFirstLabelWithoutName('Speaker')?.value !== silenceValue && - transcription !== silenceValue && - mergeTranscripts + transcription !== silenceValue && + mergeTranscripts) ) { // concat transcripts if ( @@ -430,8 +428,9 @@ export class OctraAnnotation< ); } } else if ( + silenceValue && nextSegment.getFirstLabelWithoutName('Speaker')?.value === - silenceValue + silenceValue ) { // delete pause nextSegment.changeFirstLabelWithoutName( diff --git a/libs/ngx-components/src/lib/components/audio/audio-viewer/audio-viewer.config.ts b/libs/ngx-components/src/lib/components/audio/audio-viewer/audio-viewer.config.ts index 3b86d7d0c..6a10bdc9e 100644 --- a/libs/ngx-components/src/lib/components/audio/audio-viewer/audio-viewer.config.ts +++ b/libs/ngx-components/src/lib/components/audio/audio-viewer/audio-viewer.config.ts @@ -244,4 +244,6 @@ export class AudioviewerConfig { public showTimePerLine = false; public showTranscripts = false; public showProgressBars = false; + + speakerPattern?: string; }