Разделяет datastore согласно заданным пропорциям меток
разделяет аудио файлов на [ADS1,ADS2] = splitEachLabel(ADS,p)ADS в два новых хранилища данных, ADS1 и ADS2. Новый datastore ADS1 содержит первое p файлы из каждой метки и ADS2 содержит оставшиеся файлы из каждой метки. p может быть либо число от 0 до 1, исключающее, указывающее процент файлов от каждой метки, которой нужно назначить ADS1, или целое число, указывающее абсолютное количество файлов из каждой метки, которую нужно назначить ADS1.
разделяет datastore на [ADS1,...,ADSM] = splitEachLabel(ADS,p1,...,pN)N+1 новые хранилища данных. Новый datastore ADS1 содержит первое p1 файлы из каждой метки, следующего нового datastore ADS2 содержит следующую p2 файлы и так далее. Если p1,…,pN представляют номера файлов, тогда их сумма должна быть не больше, чем количество файлов в наименьшей метке в исходном datastore, ADS.
___ = splitEachLabel(___,'randomized') случайным образом присваивает заданную долю файлов из каждой метки новым хранилищам данных.
___ = splitEachLabel(___, задает свойства новых хранилищ данных, используя один или несколько аргументы пары "имя-значение". Для примера можно задать, с какими метками разделять Name,Value)'Include','labelname'.
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav');
Добавьте метку A к первой половине файлов и к метке B ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B. Функции countEachLabel чтобы подтвердить, что половина файлов помечена A и половина файлов помечена B.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ...
repmat({'B'},1,ceil(numel(ADS.Files)/2))];
ADS.Labels = labels;
countEachLabel(ADS)ans=2×2 table
Label Count
_____ _____
A 10
B 10
Разделите ADS на два хранилища данных, ADS1 и ADS2, указывая, что каждый новый datastore содержит пятьдесят процентов каждой метки и соответствующих файлов. Функции countEachLabel чтобы подтвердить, что половина файлов помечена A и половина файлов помечена B для каждого из новых хранилищ данных.
[ADS1,ADS2] = splitEachLabel(ADS,0.5)
ADS1 =
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 7 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A' ... and 7 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS2 =
audioDatastore with properties:
Files: {
' .../build/matlab/toolbox/audio/samples/Engine-16-44p1-stereo-20sec.wav';
' .../build/matlab/toolbox/audio/samples/FemaleSpeech-16-8-mono-3secs.wav';
' .../BR2021ad/build/matlab/toolbox/audio/samples/Heli_16ch_ACN_SN3D.wav'
... and 7 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A' ... and 7 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS1count = countEachLabel(ADS1)
ADS1count=2×2 table
Label Count
_____ _____
A 5
B 5
ADS2count = countEachLabel(ADS2)
ADS2count=2×2 table
Label Count
_____ _____
A 5
B 5
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav');
Добавьте метку A к первой половине файлов и к метке B ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B. Функции countEachLabel чтобы подтвердить, что половина файлов помечена A и половина файлов помечена B.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ...
repmat({'B'},1,ceil(numel(ADS.Files)/2))];
ADS.Labels = labels;
countEachLabel(ADS)ans=2×2 table
Label Count
_____ _____
A 10
B 10
Разделите ADS на два хранилища данных, ADS1 и ADS2. Задайте, что ADS1 содержит четыре метки и соответствующий им файл. ADS2 содержит оставшиеся метки и соответствующие файлы. Функции countEachLabel чтобы подтвердить, что ADS1 содержит четыре файла с меткой A и четыре файла, помеченные B, и что ADS2 содержит оставшиеся метки.
[ADS1,ADS2] = splitEachLabel(ADS,4)
ADS1 =
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 5 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A' ... and 5 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS2 =
audioDatastore with properties:
Files: {
' .../build/matlab/toolbox/audio/samples/Counting-16-44p1-mono-15secs.wav';
' .../build/matlab/toolbox/audio/samples/Engine-16-44p1-stereo-20sec.wav';
' .../build/matlab/toolbox/audio/samples/FemaleSpeech-16-8-mono-3secs.wav'
... and 9 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A' ... and 9 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS1count = countEachLabel(ADS1)
ADS1count=2×2 table
Label Count
_____ _____
A 4
B 4
ADS2count = countEachLabel(ADS2)
ADS2count=2×2 table
Label Count
_____ _____
A 6
B 6
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav');
Добавьте метку A к первой половине файлов и к метке B ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B. Функции countEachLabel чтобы подтвердить, что половина файлов помечена A и половина файлов помечена B.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ...
repmat({'B'},1,ceil(numel(ADS.Files)/2))];
ADS.Labels = labels;
countEachLabel(ADS)ans=2×2 table
Label Count
_____ _____
A 10
B 10
Разделение ADS в три новых хранилища данных, ADS60, ADS10, и ADS30. Первый datastore, ADS60, содержит первые 60% файлов с A пометить и первые 60% файлов с B метка. ADS10 содержит следующие 10% файлов из каждой метки. ADS30 содержит оставшиеся 30% файлов из каждой метки. Если процент, примененный к метке, не приводит к целому числу файлов, splitEachLabel округлится до ближайшего целого числа.
[ADS60,ADS10,ADS30] = splitEachLabel(ADS,0.6,0.1)
ADS60 =
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'
}
Labels: {'A'; 'A'; 'A' ... and 9 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS10 =
audioDatastore with properties:
Files: {
' .../build/matlab/toolbox/audio/samples/FemaleSpeech-16-8-mono-3secs.wav';
' .../matlab/toolbox/audio/samples/TrainWhistle-16-44p1-mono-9secs.wav'
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'B'}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS30 =
audioDatastore with properties:
Files: {
' .../BR2021ad/build/matlab/toolbox/audio/samples/Heli_16ch_ACN_SN3D.wav';
' .../matlab/toolbox/audio/samples/JetAirplane-16-11p025-mono-16secs.wav';
' .../build/matlab/toolbox/audio/samples/Laughter-16-8-mono-4secs.wav'
... and 3 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A' ... and 3 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
Функции countEachLabel для подтверждения правильного распределения меток для каждого datastore.
countEachLabel(ADS60)
ans=2×2 table
Label Count
_____ _____
A 6
B 6
countEachLabel(ADS10)
ans=2×2 table
Label Count
_____ _____
A 1
B 1
countEachLabel(ADS30)
ans=2×2 table
Label Count
_____ _____
A 3
B 3
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav');
Добавьте метку A к первой половине файлов и к метке B ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B. Функции countEachLabel чтобы подтвердить, что половина файлов помечена A и половина файлов помечена B.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ...
repmat({'B'},1,ceil(numel(ADS.Files)/2))];
ADS.Labels = labels;
countEachLabel(ADS)ans=2×2 table
Label Count
_____ _____
A 10
B 10
Разделение ADS в три новых хранилища данных, ADS1, ADS2, и ADS3. Первый datastore, ADS1, содержит первый файл с A пометить и первый файл с B метка. ADS2 содержит следующий файл из каждой метки. ADS3 содержит оставшиеся файлы из каждой метки. Если процент, примененный к метке, не приводит к целому числу файлов, splitEachLabel округлится до ближайшего целого числа.
[ADS1,ADS2,ADS3] = splitEachLabel(ADS,1,1)
ADS1 =
audioDatastore with properties:
Files: {
' .../build/matlab/toolbox/audio/samples/Ambiance-16-44p1-mono-12secs.wav';
' .../matlab/toolbox/audio/samples/MainStreetOne-16-16-mono-12secs.wav'
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'B'}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS2 =
audioDatastore with properties:
Files: {
' .../matlab/toolbox/audio/samples/AudioArray-16-16-4channels-20secs.wav';
' .../build/matlab/toolbox/audio/samples/NoisySpeech-16-22p5-mono-5secs.wav'
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'B'}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS3 =
audioDatastore with properties:
Files: {
' .../toolbox/audio/samples/ChurchImpulseResponse-16-44p1-mono-5secs.wav';
' .../build/matlab/toolbox/audio/samples/Click-16-44p1-mono-0.2secs.wav';
' .../build/matlab/toolbox/audio/samples/Counting-16-44p1-mono-15secs.wav'
... and 13 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A' ... and 13 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
Функции countEachLabel для подтверждения правильного распределения меток для каждого datastore.
countEachLabel(ADS1)
ans=2×2 table
Label Count
_____ _____
A 1
B 1
countEachLabel(ADS2)
ans=2×2 table
Label Count
_____ _____
A 1
B 1
countEachLabel(ADS3)
ans=2×2 table
Label Count
_____ _____
A 8
B 8
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav')
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 17 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
Labels: {}
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
Добавьте метку A к первой половине файлов и к метке B ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B. Функции countEachLabel чтобы подтвердить, что половина файлов помечена A и половина файлов помечена B.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ...
repmat({'B'},1,ceil(numel(ADS.Files)/2))];
ADS.Labels = labels;
countEachLabel(ADS)ans=2×2 table
Label Count
_____ _____
A 10
B 10
Создайте два новых хранилища данных из файлов в ADS путем случайного рисования из каждой метки. Первый datastore, ADS1, содержит два случайных файла с A пометить и два случайных файла с B метка. ADS2 содержит оставшиеся файлы из каждой метки.
[ADS1,ADS2] = splitEachLabel(ADS,2,'randomized')ADS1 =
audioDatastore with properties:
Files: {
' .../toolbox/audio/samples/ChurchImpulseResponse-16-44p1-mono-5secs.wav';
' .../build/matlab/toolbox/audio/samples/Engine-16-44p1-stereo-20sec.wav';
' .../matlab/toolbox/audio/samples/MainStreetOne-16-16-mono-12secs.wav'
... and 1 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'B' ... and 1 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS2 =
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';
' .../build/matlab/toolbox/audio/samples/Click-16-44p1-mono-0.2secs.wav'
... and 13 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A' ... and 13 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav')
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 17 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
Labels: {}
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
Добавьте метку A к первой половине файлов и к метке B ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B. Функции countEachLabel чтобы подтвердить, что половина файлов помечена A и половина файлов помечена B.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ...
repmat({'B'},1,ceil(numel(ADS.Files)/2))];
ADS.Labels = labels;
countEachLabel(ADS)
ans =
2x2 table
Label Count
_____ _____
A 10
B 10
Создайте два новых хранилища данных из файлов в ADS, включая только файлы с A метка. ADS1 содержит первые 70% файлов с A метки, и ADS2 содержит оставшиеся 30% меток с A метка.
[ADS1,ADS2] = splitEachLabel(ADS,0.7,'Include','A')
ADS1 =
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 4 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A' ... and 4 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS2 =
audioDatastore with properties:
Files: {
' .../BR2021ad/build/matlab/toolbox/audio/samples/Heli_16ch_ACN_SN3D.wav';
' .../matlab/toolbox/audio/samples/JetAirplane-16-11p025-mono-16secs.wav';
' .../build/matlab/toolbox/audio/samples/Laughter-16-8-mono-4secs.wav'
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A'}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
Эквивалентно, вы можете разделить только A метка путем исключения B метка.
[ADS1,ADS2] = splitEachLabel(ADS,0.7,'Exclude','B')
ADS1 =
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 4 more
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A' ... and 4 more}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
ADS2 =
audioDatastore with properties:
Files: {
' .../BR2021ad/build/matlab/toolbox/audio/samples/Heli_16ch_ACN_SN3D.wav';
' .../matlab/toolbox/audio/samples/JetAirplane-16-11p025-mono-16secs.wav';
' .../build/matlab/toolbox/audio/samples/Laughter-16-8-mono-4secs.wav'
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
}
Labels: {'A'; 'A'; 'A'}
AlternateFileSystemRoots: {}
OutputDataType: 'double'
SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"]
DefaultOutputFormat: "wav"
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
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"
Создайте таблицу меток с двумя переменными:
containsMusic - Может быть либо true или false.
instrument - Можно Guitar, Drums, или Unknown.
containsGuitar = contains(ADS.Files,'guitar','IgnoreCase',true); containsDrums = contains(ADS.Files,'drum','IgnoreCase',true); containsMusic = or(containsGuitar,containsDrums); instrument = strings(size(ADS.Files)); instrument(:) = "Unknown"; instrument(containsGuitar) = "Guitar"; instrument(containsDrums) = "Drums";
Присвойте таблицу меток Labels свойство audio datastore для связи строк таблицы меток со строками datastore. Функции countEachLabel для определения случайностей containsMusic и instrument.
labels = table(containsMusic,instrument); ADS.Labels = labels; containsMusicCount = countEachLabel(ADS,'TableVariable','containsMusic')
containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 27
true 7
instrumentCount = countEachLabel(ADS,'TableVariable','instrument')
instrumentCount=3×2 table
instrument Count
__________ _____
Drums 4
Guitar 3
Unknown 27
Разделите datastore ADS в два, исходя из того, содержит ли аудио файла музыку. ADS1 содержит 70% аудио файлов, которые содержат музыку, и ADS2 содержит сообщение rest. call countEachLabel чтобы проверить, что отношение containsMusic == true на containsMusic == false сохраняется для новых хранилищ данных в пределах округления.
[ADS1,ADS2] = splitEachLabel(ADS,0.7,'TableVariable','containsMusic'); ADS1_containsMusicCount = countEachLabel(ADS1,'TableVariable','containsMusic')
ADS1_containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 19
true 5
ADS2_containsMusicCount = countEachLabel(ADS2,'TableVariable','containsMusic')
ADS2_containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 8
true 2
Разделите datastore ADS в два, на основе типа инструмента, присутствующего в аудио файла. ADS3 содержит 25% аудио файлов, которые имеют метку инструмента, и ADS4 содержит сообщение rest. call countEachLabel чтобы проверить, что отношение instrument == "drums" на instrument == "guitar" сохраняется для новых хранилищ данных в пределах округления.
[ADS3,ADS4] = splitEachLabel(ADS,0.25,'TableVariable','instrument'); ADS3_instrumentCount = countEachLabel(ADS3,'TableVariable','instrument')
ADS3_instrumentCount=3×2 table
instrument Count
__________ _____
Drums 1
Guitar 1
Unknown 7
ADS4_instrumentCount = countEachLabel(ADS4,'TableVariable','instrument')
ADS4_instrumentCount=3×2 table
instrument Count
__________ _____
Drums 3
Guitar 2
Unknown 20
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder);
Создайте таблицу меток с двумя переменными:
containsMusic - Может быть либо true или false.
instrument - Можно Guitar, Drums, или Unknown.
containsGuitar = contains(ADS.Files,'guitar','IgnoreCase',true); containsDrums = contains(ADS.Files,'drum','IgnoreCase',true); containsMusic = or(containsGuitar,containsDrums); instrument = strings(size(ADS.Files)); instrument(:) = "Unknown"; instrument(containsGuitar) = "Guitar"; instrument(containsDrums) = "Drums";
Присвойте таблицу меток Labels свойство audio datastore для связи строк таблицы меток со строками datastore. Функции countEachLabel для определения случайностей containsMusic и instrument.
labels = table(containsMusic,instrument); ADS.Labels = labels; containsMusicCount = countEachLabel(ADS,'TableVariable','containsMusic')
containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 27
true 7
instrumentCount = countEachLabel(ADS,'TableVariable','instrument');
Разделите datastore ADS в два, исходя из того, содержит ли аудио файла музыку. ADS1 содержит 5 меток под табличной переменной containsMusic, и ADS2 содержит сообщение rest. call countEachLabel для проверки.
[ADS1,ADS2] = splitEachLabel(ADS,5,'TableVariable','containsMusic'); ADS1_containsMusicCount = countEachLabel(ADS1,'TableVariable','containsMusic')
ADS1_containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 5
true 5
ADS2_containsMusicCount = countEachLabel(ADS2,'TableVariable','containsMusic')
ADS2_containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 22
true 2
Разделите datastore ADS в два, на основе типа инструмента, присутствующего в аудио файла. ADS3 содержит 2 каждой метки под табличной переменной instrument, и ADS4 содержит сообщение rest. call countEachLabel для проверки.
[ADS3,ADS4] = splitEachLabel(ADS,2,'TableVariable','instrument'); ADS3_instrumentCount = countEachLabel(ADS3,'TableVariable','instrument')
ADS3_instrumentCount=3×2 table
instrument Count
__________ _____
Drums 2
Guitar 2
Unknown 2
ADS4_instrumentCount = countEachLabel(ADS4,'TableVariable','instrument')
ADS4_instrumentCount=3×2 table
instrument Count
__________ _____
Drums 2
Guitar 1
Unknown 25
ADS - Входной audio datastoreaudioDatastore объектВведите audio datastore, заданный как audioDatastore объект.
p - Доля файлов в разделенииДоля файлов в разделении, заданная как скаляр в интервале (0,1) или положительный целочисленный скаляр.
Если p находится в интервале (0,1), представляет процент файлов от каждой метки, которой нужно назначить ADS1. Если p представляет процент, и это не приводит к целому числу, тогда splitEachLabel округлится до ближайшего целого числа.
Если p является целым числом, оно представляет абсолютное количество файлов из каждой метки, которую нужно назначить ADS1. Когда p представляет ряд файлов, должно быть не менее p файлы, сопоставленные с каждой меткой.
Типы данных: double
p1,...,pN - Список пропорцийСписок пропорций, заданных как скаляры в интервале (0,1) или положительные целочисленные скаляры.
Если пропорции находятся в интервале (0,1), они представляют процент файлов от каждой метки, которые нужно назначить выход хранилищам данных. Когда пропорции представляют проценты, их сумма должна быть не более 1.
Если пропорции являются целыми числами, они указывают абсолютное количество файлов из каждой метки для назначения выхода хранилищам данных. Когда пропорции представляют количество файлов, должно быть достаточно файлов, сопоставленных с каждой меткой, чтобы удовлетворить каждой пропорции.
Типы данных: double
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
[ADS1,ADS2] = splitEachLabel(ADS,0.5,'Exclude','noisy')'Include' - Метки, которые нужно включитьМетки для включения, заданные как разделенная разделенными запятой парами, состоящая из 'Include' и вектор, массив ячеек или строковые массивы имен меток того же типа, что и Labels свойство. Каждое имя должно совпадать с одной из меток в Labels свойство datastore.
Эта опция не может использоваться с 'Exclude' опция.
'Exclude' - Метки, которые нужно исключитьМетки для исключения, заданные как разделенная разделенными запятой парами, состоящая из 'Exclude' и вектор, массив ячеек или строковые массивы имен меток того же типа, что и Labels свойство. Каждое имя должно совпадать с одной из меток в Labels свойство datastore.
Эта опция не может использоваться с 'Include' опция.
'TableVariable' - Имя табличной переменной метокИмя табличной переменной, заданное как разделенная разделенными запятой парами, состоящая из 'TableVariable' и вектор символов или строка. Когда Labels свойство audio datastore ADS является таблицей, которую вы должны использовать 'TableVariable' чтобы указать, какая метка используется для разделения.
Типы данных: char | string
[ADS1,ADS2] - Выход аудиоданныхaudioDatastore объектыВыход аудиоданных, возвращенный как audioDatastore объекты. ADS1 содержит указанную долю файлов из каждой метки в ADS, и ADS2 содержит оставшиеся файлы.
[ADS1,...,ADSM] - Список выходных хранилищ аудиоданныхaudioDatastore объектыСписок выхода хранилищ аудиоданных, возвращенный как audioDatastore объекты. Количество элементов в списке больше, чем количество перечисленных пропорций. Каждый из новых хранилищ данных содержит долю каждой метки в ADS определяется p1,…,pN. Все оставшиеся файлы присваиваются M-му datastore.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.