Я создаю библиотеку WAV для чтения / записи на чистом Ruby, изучая более глубокие функциональные возможности Ruby. В настоящее время он хорошо работает с 16-битным звуком, так как я могу использовать String.unpack('s*')
для извлечения отдельных сэмплов в массив целых чисел со знаком. Однако у меня возникают проблемы, когда я думаю о том, как работать с 24-битным звуком. Каждый образец в этом случае имеет длину 3 байта. Какую строку pack / unpack вы бы порекомендовали в этом случае, и мне, вероятно, пришлось бы радикально изменить мой подход (используя заполнение или что-то в этом роде)?