Хранилище данных секционирования и возврат секционированной части
хранилище данных разделов subADS = partition(ADS,numPartitions,index)ADS в число деталей, указанных numPartitions и возвращает раздел, соответствующий index.
Укажите путь к файлу для образцов звука, включенных в Audio Toolbox™. Создайте хранилище аудиоданных, указывающее на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder)
ADS =
audioDatastore with properties:
Files: {
' .../build/matlab/toolbox/audio/samples/Ambiance-16-44p1-mono-12secs.wav';
' .../matlab/toolbox/audio/samples/AudioArray-16-16-4channels-20secs.wav';
' .../toolbox/audio/samples/ChurchImpulseResponse-16-44p1-mono-5secs.wav'
... and 31 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
Labels: {}
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
Разбейте хранилище данных на три части.
subADS1 = partition(ADS,3,1)
subADS1 =
audioDatastore with properties:
Files: {
' .../build/matlab/toolbox/audio/samples/Ambiance-16-44p1-mono-12secs.wav';
' .../matlab/toolbox/audio/samples/AudioArray-16-16-4channels-20secs.wav';
' .../toolbox/audio/samples/ChurchImpulseResponse-16-44p1-mono-5secs.wav'
... and 9 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
Labels: {}
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
subADS2 = partition(ADS,3,2)
subADS2 =
audioDatastore with properties:
Files: {
' .../matlab/toolbox/audio/samples/JetAirplane-16-11p025-mono-16secs.wav';
' .../build/matlab/toolbox/audio/samples/Laughter-16-8-mono-4secs.wav';
' .../matlab/toolbox/audio/samples/MainStreetOne-16-16-mono-12secs.wav'
... and 8 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
Labels: {}
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
subADS3 = partition(ADS,3,3)
subADS3 =
audioDatastore with properties:
Files: {
' .../matlab/toolbox/audio/samples/RockGuitar-16-96-stereo-72secs.flac';
' .../build/matlab/toolbox/audio/samples/SingingAMajor-16-mono-18secs.ogg';
' .../build/matlab/toolbox/audio/samples/SoftGuitar-44p1_mono-10mins.ogg'
... and 8 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
Labels: {}
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
Укажите путь к файлу для образцов звука, включенных в Audio Toolbox™. Создайте хранилище аудиоданных, указывающее на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder);
Получение количества разделов по умолчанию для ADS.
n = numpartitions(ADS);
Разбиение хранилища данных на разделы по умолчанию и возврат хранилища данных, соответствующего первому разделу.
subADS = partition(ADS,n,1);
Считывание данных в subADS.
while hasdata(subADS) data = read(subADS); end
Укажите путь к файлу для образцов звука, включенных в Audio Toolbox™. Создайте хранилище аудиоданных, указывающее на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder);
Разбиение хранилища данных по файлам и возврат детали, соответствующей второму файлу. subds содержит один файл.
subds = partition(ADS,'Files',2)subds =
audioDatastore with properties:
Files: {
' .../matlab/toolbox/audio/samples/AudioArray-16-16-4channels-20secs.wav'
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
Labels: {}
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
В этом примере используются:
Разбиение хранилища данных для упрощения параллельного доступа через доступный параллельный пул работников.
Укажите путь к файлу для образцов звука, включенных в Audio Toolbox™. Создайте хранилище аудиоданных, указывающее на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder);
Возвращает оценку для приемлемого количества разделов для параллельной обработки, учитывая текущий параллельный пул.
pool = gcp; n = numpartitions(ADS,pool);
Разделите хранилище аудиоданных и считывайте данные в каждой части.
parfor ii = 1:n subds = partition(ADS,n,ii); while hasdata(subds) data = read(subds); end end
ADS - Хранилище аудиоданныхaudioDatastore объектХранилище аудиоданных, указанное как audioDatastore объект.
numPartitions - Количество разделовЧисло разделов, указанное как положительное целое число. Использовать numpartitions оценить разумное значение для numPartitions.
Типы данных: double
index - Индекс хранилища субданныхИндекс хранилища субданных, указанный как положительное целое число в диапазоне [1,.numPartitions]
Типы данных: double
filename - Имя файлаИмя файла, указанное как символьный вектор.
Значение filename должно точно соответствовать имени файла, содержащегося в Files свойства хранилища данных.
Типы данных: char
subADS - Хранилище выходных аудиоданныхaudioDatastore объектВыходное хранилище аудиоданных, возвращенное как audioDatastore объект.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.