@@ -346,6 +346,24 @@ def VALIDATE_INPUTS(s, audio):
346
346
return "Invalid audio file: {}" .format (audio )
347
347
return True
348
348
349
+ class RecordAudio :
350
+ @classmethod
351
+ def INPUT_TYPES (s ):
352
+ return {"required" : {"audio" : ("AUDIO_RECORD" , {})}}
353
+
354
+ CATEGORY = "audio"
355
+
356
+ RETURN_TYPES = ("AUDIO" , )
357
+ FUNCTION = "load"
358
+
359
+ def load (self , audio ):
360
+ audio_path = folder_paths .get_annotated_filepath (audio )
361
+
362
+ waveform , sample_rate = torchaudio .load (audio_path )
363
+ audio = {"waveform" : waveform .unsqueeze (0 ), "sample_rate" : sample_rate }
364
+ return (audio , )
365
+
366
+
349
367
NODE_CLASS_MAPPINGS = {
350
368
"EmptyLatentAudio" : EmptyLatentAudio ,
351
369
"VAEEncodeAudio" : VAEEncodeAudio ,
@@ -356,6 +374,7 @@ def VALIDATE_INPUTS(s, audio):
356
374
"LoadAudio" : LoadAudio ,
357
375
"PreviewAudio" : PreviewAudio ,
358
376
"ConditioningStableAudio" : ConditioningStableAudio ,
377
+ "RecordAudio" : RecordAudio ,
359
378
}
360
379
361
380
NODE_DISPLAY_NAME_MAPPINGS = {
@@ -367,4 +386,5 @@ def VALIDATE_INPUTS(s, audio):
367
386
"SaveAudio" : "Save Audio (FLAC)" ,
368
387
"SaveAudioMP3" : "Save Audio (MP3)" ,
369
388
"SaveAudioOpus" : "Save Audio (Opus)" ,
389
+ "RecordAudio" : "Record Audio" ,
370
390
}
0 commit comments