Могу ли я перемешивать аудиофайлы с помощью SOX

Прочитайте файл построчно, сохраните строку в буфере, если последний столбец имеет то же значение, что и все остальные строки в буфере, в противном случае обработайте буфер и очистите его.

Обработка буфера означает попытку найти хотя бы одну пару последовательных строк, которые не разделяют значение 4-го столбца, и печать буфера в случае успеха.

Я сохранил точные строки в буфере вместе с отдельными столбцами для более удобного вывода и более легкого доступа к значениям.

#!/usr/bin/perl
use warnings;
use strict;

sub process {
    my (@rows) = @_;
    my $different;
    for my $i (1.. $#rows) {
        $different = 1, last if $rows[ $i - 1 ][4] ne $rows[$i][4];
    }
    print map "$_->[0]\n", @rows if $different;
}

my @buffer;
while (<>) {
    chomp;
    my @columns = split;
    if (! @buffer || $buffer[0][-1] == $columns[-1]) {
        push @buffer, [$_, @columns];
    } else {
        process(@buffer);
        @buffer = [$_, split];
    }
}
process(@buffer);
0
16.06.2021, 09:49
1 ответ

Разобрался:

sox -R -t mp3 /home/pi/Desktop/ribo.mp3 -t wav -| sudo./pi _fm _rds -частота 94,5 -аудио-

-R в начале перемешивает файлы.

0
28.07.2021, 11:24

Теги

Похожие вопросы