speechrecorderng 2.24.2 → 2.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/audio/capture/capture.mjs +1 -1
- package/esm2020/lib/audio/io/stream.mjs +41 -1
- package/esm2020/lib/io/stream.mjs +10 -1
- package/esm2020/lib/speechrecorder/project/project.mjs +1 -1
- package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +82 -91
- package/esm2020/lib/speechrecorder/session/basicrecorder.mjs +165 -4
- package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +24 -12
- package/esm2020/lib/speechrecorderng.component.mjs +9 -1
- package/esm2020/lib/spr.module.version.mjs +2 -2
- package/fesm2015/speechrecorderng.mjs +397 -179
- package/fesm2015/speechrecorderng.mjs.map +1 -1
- package/fesm2020/speechrecorderng.mjs +393 -179
- package/fesm2020/speechrecorderng.mjs.map +1 -1
- package/lib/audio/io/stream.d.ts +13 -0
- package/lib/io/stream.d.ts +3 -0
- package/lib/speechrecorder/project/project.d.ts +1 -0
- package/lib/speechrecorder/session/audiorecorder.d.ts +5 -8
- package/lib/speechrecorder/session/basicrecorder.d.ts +40 -2
- package/lib/speechrecorder/session/sessionmanager.d.ts +4 -3
- package/lib/spr.module.version.d.ts +1 -1
- package/package.json +1 -1
package/lib/audio/io/stream.d.ts
CHANGED
|
@@ -13,3 +13,16 @@ export declare class SequenceAudioFloat32ChunkerOutStream extends Float32ArrayCh
|
|
|
13
13
|
setFormat(channels: number, sampleRate: number): void;
|
|
14
14
|
nextStream(): void;
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Streams a SequenceAudioFloat32OutStream to multiple streams
|
|
18
|
+
*/
|
|
19
|
+
export declare class SequenceAudioFloat32OutStreamMultiplier implements SequenceAudioFloat32OutStream {
|
|
20
|
+
private _sequenceAudioFloat32OutStreams;
|
|
21
|
+
constructor();
|
|
22
|
+
get sequenceAudioFloat32OutStreams(): Array<SequenceAudioFloat32OutStream>;
|
|
23
|
+
setFormat(channels: number, sampleRate: number): void;
|
|
24
|
+
nextStream(): void;
|
|
25
|
+
close(): void;
|
|
26
|
+
flush(): void;
|
|
27
|
+
write(buffers: Array<Float32Array>): number;
|
|
28
|
+
}
|
package/lib/io/stream.d.ts
CHANGED
|
@@ -14,7 +14,10 @@ export declare class Float32ArrayChunkerOutStream implements Float32ArrayOutStre
|
|
|
14
14
|
constructor(outStream: Float32ArrayOutStream);
|
|
15
15
|
private createBuffers;
|
|
16
16
|
set chunkSize(chunkSize: number);
|
|
17
|
+
get chunkSize(): number;
|
|
17
18
|
set channels(channels: number);
|
|
19
|
+
get channels(): number;
|
|
20
|
+
available(): number;
|
|
18
21
|
write(buffers: Array<Float32Array>): number;
|
|
19
22
|
flush(): void;
|
|
20
23
|
close(): void;
|
|
@@ -40,6 +40,7 @@ export interface Project {
|
|
|
40
40
|
mediaCaptureFormat?: MediaCaptureFormat;
|
|
41
41
|
autoGainControlConfigs?: Array<AutoGainControlConfig>;
|
|
42
42
|
audioDevices?: Array<AudioDevice>;
|
|
43
|
+
chunkedRecording?: boolean;
|
|
43
44
|
}
|
|
44
45
|
export declare class ProjectUtil {
|
|
45
46
|
static readonly DEFAULT_AUDIO_CHANNEL_COUNT = 2;
|
|
@@ -36,10 +36,9 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
|
|
|
36
36
|
private renderer;
|
|
37
37
|
private route;
|
|
38
38
|
dialog: MatDialog;
|
|
39
|
-
private projectService;
|
|
40
39
|
protected sessionService: SessionService;
|
|
41
40
|
private recFileService;
|
|
42
|
-
|
|
41
|
+
protected uploader: SpeechRecorderUploader;
|
|
43
42
|
config?: SpeechRecorderConfig | undefined;
|
|
44
43
|
_project: Project | undefined | null;
|
|
45
44
|
projectName: string | undefined | null;
|
|
@@ -49,7 +48,6 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
|
|
|
49
48
|
recorderCombiPane: RecorderCombiPane;
|
|
50
49
|
liveLevelDisplay: LevelBar;
|
|
51
50
|
dataSaved: boolean;
|
|
52
|
-
private startedDate;
|
|
53
51
|
private maxRecTimerId;
|
|
54
52
|
private maxRecTimerRunning;
|
|
55
53
|
private updateTimerId;
|
|
@@ -59,7 +57,7 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
|
|
|
59
57
|
private _promptIndex;
|
|
60
58
|
private _displayRecFile;
|
|
61
59
|
private displayRecFileVersion;
|
|
62
|
-
constructor(changeDetectorRef: ChangeDetectorRef, renderer: Renderer2, route: ActivatedRoute, dialog: MatDialog,
|
|
60
|
+
constructor(changeDetectorRef: ChangeDetectorRef, renderer: Renderer2, route: ActivatedRoute, dialog: MatDialog, sessionService: SessionService, recFileService: RecordingService, uploader: SpeechRecorderUploader, config?: SpeechRecorderConfig | undefined);
|
|
63
61
|
ngAfterViewInit(): void;
|
|
64
62
|
ready(): boolean;
|
|
65
63
|
ngOnDestroy(): void;
|
|
@@ -101,13 +99,13 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
|
|
|
101
99
|
stopRecording(): void;
|
|
102
100
|
stopRecordingMaxRec(): void;
|
|
103
101
|
stopped(): void;
|
|
104
|
-
postRecording(wavFile: Uint8Array, recUrl: string): void;
|
|
105
102
|
postRecordingMultipart(wavFile: Uint8Array, uuid: string | null, sessionId: string | number | null, startedDate: Date | null | undefined, recUrl: string): void;
|
|
103
|
+
postChunkAudioBuffer(audioBuffer: AudioBuffer, chunkIdx: number): void;
|
|
106
104
|
stop(): void;
|
|
107
105
|
private updateControlPlaybackPosition;
|
|
108
106
|
audioPlayerUpdate(e: AudioPlayerEvent): void;
|
|
109
107
|
static ɵfac: i0.ɵɵFactoryDeclaration<AudioRecorder, never>;
|
|
110
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AudioRecorder, "app-audiorecorder", never, { "
|
|
108
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AudioRecorder, "app-audiorecorder", never, { "projectName": "projectName"; "dataSaved": "dataSaved"; }, {}, never, never>;
|
|
111
109
|
}
|
|
112
110
|
export declare class AudioRecorderComponent extends RecorderComponent implements OnInit, OnDestroy, AfterViewInit, ReadyStateProvider {
|
|
113
111
|
protected injector: Injector;
|
|
@@ -116,7 +114,6 @@ export declare class AudioRecorderComponent extends RecorderComponent implements
|
|
|
116
114
|
private changeDetectorRef;
|
|
117
115
|
private sessionService;
|
|
118
116
|
private projectService;
|
|
119
|
-
private recFilesService;
|
|
120
117
|
protected uploader: SpeechRecorderUploader;
|
|
121
118
|
mode: Mode;
|
|
122
119
|
controlAudioPlayer: AudioPlayer;
|
|
@@ -125,7 +122,7 @@ export declare class AudioRecorderComponent extends RecorderComponent implements
|
|
|
125
122
|
sessionId: string;
|
|
126
123
|
session: Session;
|
|
127
124
|
ar: AudioRecorder;
|
|
128
|
-
constructor(injector: Injector, route: ActivatedRoute, router: Router, changeDetectorRef: ChangeDetectorRef, sessionService: SessionService, projectService: ProjectService,
|
|
125
|
+
constructor(injector: Injector, route: ActivatedRoute, router: Router, changeDetectorRef: ChangeDetectorRef, sessionService: SessionService, projectService: ProjectService, uploader: SpeechRecorderUploader);
|
|
129
126
|
ngOnInit(): void;
|
|
130
127
|
ngAfterViewInit(): void;
|
|
131
128
|
ngOnDestroy(): void;
|
|
@@ -10,19 +10,48 @@ import { AudioPlayer } from "../../audio/playback/player";
|
|
|
10
10
|
import { Subscription } from "rxjs";
|
|
11
11
|
import { AudioClip } from "../../audio/persistor";
|
|
12
12
|
import { Action } from "../../action/action";
|
|
13
|
+
import { SpeechRecorderConfig } from "../../spr.config";
|
|
14
|
+
import { SpeechRecorderUploader } from "../spruploader";
|
|
13
15
|
import NoSleep from "nosleep.js";
|
|
16
|
+
import { SequenceAudioFloat32OutStream } from "../../audio/io/stream";
|
|
17
|
+
import { SprRecordingFile } from "../recording";
|
|
14
18
|
export declare const FORCE_REQUEST_AUDIO_PERMISSIONS = false;
|
|
15
19
|
export declare const RECFILE_API_CTX = "recfile";
|
|
16
20
|
export declare const MAX_RECORDING_TIME_MS: number;
|
|
17
21
|
export declare const LEVEL_BAR_INTERVALL_SECONDS = 0.1;
|
|
18
|
-
export
|
|
22
|
+
export interface ChunkAudioBufferReceiver {
|
|
23
|
+
postAudioStreamStart(): void;
|
|
24
|
+
postChunkAudioBuffer(audioBuffer: AudioBuffer, chunkIdx: number): void;
|
|
25
|
+
postAudioStreamEnd(chunkCount: number): void;
|
|
26
|
+
}
|
|
27
|
+
export declare class ChunkManager implements SequenceAudioFloat32OutStream {
|
|
28
|
+
private chunkAudioBufferReceiver;
|
|
29
|
+
set recordingFile(value: SprRecordingFile);
|
|
30
|
+
private channels;
|
|
31
|
+
private sampleRate;
|
|
32
|
+
private _rf;
|
|
33
|
+
private chunkIdx;
|
|
34
|
+
constructor(chunkAudioBufferReceiver: ChunkAudioBufferReceiver);
|
|
35
|
+
close(): void;
|
|
36
|
+
flush(): void;
|
|
37
|
+
nextStream(): void;
|
|
38
|
+
setFormat(channels: number, sampleRate: number): void;
|
|
39
|
+
write(buffers: Array<Float32Array>): number;
|
|
40
|
+
}
|
|
41
|
+
export declare abstract class BasicRecorder {
|
|
19
42
|
dialog: MatDialog;
|
|
20
43
|
protected sessionService: SessionService;
|
|
44
|
+
protected uploader: SpeechRecorderUploader;
|
|
45
|
+
config?: SpeechRecorderConfig | undefined;
|
|
46
|
+
get uploadChunkSizeSeconds(): number | null;
|
|
47
|
+
set uploadChunkSizeSeconds(value: number | null);
|
|
48
|
+
static readonly DEFAULT_CHUNK_SIZE_SECONDS = 30;
|
|
21
49
|
protected userAgent: UserAgent;
|
|
22
50
|
statusMsg: string;
|
|
23
51
|
statusAlertType: string;
|
|
24
52
|
statusWaiting: boolean;
|
|
25
53
|
readonly: boolean;
|
|
54
|
+
protected rfUuid: string | null;
|
|
26
55
|
processingRecording: boolean;
|
|
27
56
|
ac: AudioCapture | null;
|
|
28
57
|
protected _wakeLock: boolean;
|
|
@@ -34,6 +63,7 @@ export declare class BasicRecorder {
|
|
|
34
63
|
_session: Session | null;
|
|
35
64
|
transportActions: TransportActions;
|
|
36
65
|
playStartAction: Action<void>;
|
|
66
|
+
protected startedDate: Date | null;
|
|
37
67
|
uploadProgress: number;
|
|
38
68
|
uploadStatus: string;
|
|
39
69
|
audioSignalCollapsed: boolean;
|
|
@@ -47,7 +77,8 @@ export declare class BasicRecorder {
|
|
|
47
77
|
protected destroyed: boolean;
|
|
48
78
|
protected navigationDisabled: boolean;
|
|
49
79
|
protected noSleep: NoSleep | null;
|
|
50
|
-
|
|
80
|
+
private _uploadChunkSizeSeconds;
|
|
81
|
+
constructor(dialog: MatDialog, sessionService: SessionService, uploader: SpeechRecorderUploader, config?: SpeechRecorderConfig | undefined);
|
|
51
82
|
get wakeLock(): boolean;
|
|
52
83
|
set wakeLock(value: boolean);
|
|
53
84
|
enableWakeLockCond(): void;
|
|
@@ -58,7 +89,14 @@ export declare class BasicRecorder {
|
|
|
58
89
|
set session(session: Session | null);
|
|
59
90
|
get session(): Session | null;
|
|
60
91
|
enableStartUserGesture(): void;
|
|
92
|
+
configureStreamCaptureStream(): void;
|
|
61
93
|
start(): void;
|
|
94
|
+
startItem(): void;
|
|
95
|
+
started(): void;
|
|
96
|
+
postRecording(wavFile: Uint8Array, recUrl: string): void;
|
|
97
|
+
postAudioStreamStart(): void;
|
|
98
|
+
abstract postChunkAudioBuffer(audioBuffer: AudioBuffer, chunkIdx: number): void;
|
|
99
|
+
postAudioStreamEnd(chunkCount: number): void;
|
|
62
100
|
closed(): void;
|
|
63
101
|
error(msg?: string, advice?: string): void;
|
|
64
102
|
}
|
|
@@ -12,7 +12,7 @@ import { Prompting } from "./prompting";
|
|
|
12
12
|
import { RecordingService } from "../recordings/recordings.service";
|
|
13
13
|
import { Item } from "./item";
|
|
14
14
|
import { LevelBar } from "../../audio/ui/livelevel";
|
|
15
|
-
import { BasicRecorder } from "./basicrecorder";
|
|
15
|
+
import { BasicRecorder, ChunkAudioBufferReceiver } from "./basicrecorder";
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
17
17
|
export declare const enum Status {
|
|
18
18
|
BLOCKED = 0,
|
|
@@ -25,13 +25,13 @@ export declare const enum Status {
|
|
|
25
25
|
STOPPING_PAUSE = 7,
|
|
26
26
|
ERROR = 8
|
|
27
27
|
}
|
|
28
|
-
export declare class SessionManager extends BasicRecorder implements AfterViewInit, OnDestroy, AudioCaptureListener {
|
|
28
|
+
export declare class SessionManager extends BasicRecorder implements AfterViewInit, OnDestroy, AudioCaptureListener, ChunkAudioBufferReceiver {
|
|
29
29
|
private changeDetectorRef;
|
|
30
30
|
private renderer;
|
|
31
31
|
dialog: MatDialog;
|
|
32
32
|
protected sessionService: SessionService;
|
|
33
33
|
private recFileService;
|
|
34
|
-
|
|
34
|
+
protected uploader: SpeechRecorderUploader;
|
|
35
35
|
config?: SpeechRecorderConfig | undefined;
|
|
36
36
|
projectName: string | undefined;
|
|
37
37
|
enableUploadRecordings: boolean;
|
|
@@ -112,6 +112,7 @@ export declare class SessionManager extends BasicRecorder implements AfterViewIn
|
|
|
112
112
|
addRecordingFileByDescriptor(rfd: RecordingFileDescriptorImpl): void;
|
|
113
113
|
addRecordingFileByPromptIndex(promptIndex: number, rf: SprRecordingFile): void;
|
|
114
114
|
stopped(): void;
|
|
115
|
+
postChunkAudioBuffer(audioBuffer: AudioBuffer, chunkIdx: number): void;
|
|
115
116
|
postRecording(wavFile: Uint8Array, recUrl: string): void;
|
|
116
117
|
stop(): void;
|
|
117
118
|
private updateControlPlaybackPosition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "2.
|
|
1
|
+
export declare const VERSION = "2.25.0";
|