Как грамотно преобразовывать информацию из byte в int?
Можно просто в цикле пробежаться:std::vector<char> data = get_data();
std::vector<int> data2plot;
for (int i  = 0; i < data.size() / 2; ++i)
{
	int hi = data[2 * i];
	int lo = data[2 * i + 1];
	data2plot.push_back((hi << 8) | lo);
}
plot(data2plot);
Капец насоветовали.
При условии, что endianness вашей машины такой же, как у данных, я бы делал так:
char *recbuf = ...; // <-- входные данные
int16_t *samples = (int16_t*)recbuf; // <-- они же, в виде знаковых 16-битных чисел.
Всё. Обращайтесь к samples.