wavToNumpyArraywavToNumpy static method
List<double>
wavToNumpyArraywavToNumpy(
- dynamic fileData
)
Implementation
static List<double> wavToNumpyArraywavToNumpy(dynamic fileData) {
final Uint8List bytes = () {
if (fileData is List<int>) {
return Uint8List.fromList(fileData);
}
if (fileData is Uint8List) {
return fileData;
}
final File? file = () {
if (fileData is File) {
return fileData;
}
if (fileData is String) {
return File(fileData);
}
return null;
}();
if (file == null) {
return Uint8List(0);
}
if (file.existsSync() == false) {
return Uint8List(0);
}
return file.readAsBytesSync();
}();
if (bytes.length <= 44) {
return [];
}
final int16List = Int16List.view(bytes.buffer);
return int16List.map((sample) => sample / 32768.0).toList();
}