Как аудио представлено с числами в компьютерах?

Вы действительно хотите сделать это на уровне представления. Таблицы SQL и наборы результатов представляют неупорядоченных наборов. Единственное исключение - когда конечный результат имеет order by. Поэтому вам нужно быть очень осторожным, чтобы защититься от перестановок.

Ваши данные сначала имеют самую низкую цену. Поэтому в MySQL 8+ или почти в любой другой базе данных вы можете сделать:

select (case when row_number() over (partition by industry order by price, country) = 1
             then industry
        end) as industry,
       country, price
from t
order by industry, price, country;

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

Позвольте мне повторить: внешний order by имеет решающее значение для обеспечения того, чтобы данные были такими, как вы хотите. Без результата оператор say может выглядеть «правильно», но может не сработать при следующем запуске запроса.

В более ранних версиях MySQL вы можете делать то же самое, но это выглядит по-другому. Вы не пометили версию, поэтому я возьму более свежую версию.

44
задан Ciro Santilli 新疆改造中心法轮功六四事件 18 August 2019 в 10:13
поделиться

7 ответов

Physically, as you probably know, audio is a vibration. Typically, we're talking about vibrations of air between approximitely 20Hz and 20,000Hz. That means the air is moving back and forth 20 to 20,000 times per second.

If you measure that vibration and convert it to an electrical signal (say, using a microphone), you'll get an electrical signal with the voltage varying in the same waveform as the sound. In our pure-tone hypothetical, that waveform will match that of the sine function.

Now, we have an analogue signal, the voltage. Still not digital. But, we know this voltage varies between (for example) -1V and +1V. We can, of course, attach a volt meter to the wires and read the voltage.

Arbitrarily, we'll change the scale on our volt meter. We'll multiple the volts by 32767. It now calls -1V -32767 and +1V 32767. Oh, and it'll round to the nearest integer.

Now, we hook our volt meter to a computer, and instruct the computer to read the meter 44,100 times per second. Add a second volt meter (for the other stereo channel), and we now have the data that goes on an audio CD.

This format is called stereo 44,100 Hz, 16-bit linear PCM. And it really is just a bunch of voltage measurements.

92
ответ дан 26 November 2019 в 21:46
поделиться

Аудио может быть представлено цифровыми семплами. По сути, сэмплер (также называемый аналого-цифровым преобразователем) захватывает значение аудиосигнала каждые 1 / fs, где fs - частота дискретизации. Затем АЦП квантует сигнал, что является операцией округления. Поэтому, если ваш сигнал находится в диапазоне от 0 до 3 вольт (полный диапазон шкалы), тогда выборка будет округлена, например, до 16-битного числа. В этом примере 16-битное число записывается один раз каждые 1 / fs /

. Так, например, большинство WAV / MP3 дискретизируют аудиосигнал с частотой 44 кГц. Я не знаю, насколько вам нужна детализация, но есть вещь, называемая «Частота дискретизации Найквиста», которая гласит, что частота дискретизации должна быть как минимум вдвое больше желаемой. Таким образом, в вашем файле WAV / MP3 вы в лучшем случае сможете слышать частоты до 22 кГц.

В этой области есть много подробностей. Самой простой формой, безусловно, был бы формат WAV. Это несжатый звук. Такие форматы, как mp3 и ogg, необходимо распаковать, прежде чем вы сможете с ними работать.

8
ответ дан devin 26 November 2019 в 21:46
поделиться

Я думаю, что выборки формы волны на определенной частоте выборки были бы самым основным представлением.

3
ответ дан Jimmy 26 November 2019 в 21:46
поделиться

Вы когда-нибудь смотрели на форму волны крупным планом? Ось Y просто представлена ​​как целое число, обычно в 16 битах.

2
ответ дан Chris 26 November 2019 в 21:46
поделиться

Посмотрите на такие вещи, как аналого-цифровое преобразование. Это должно начать вас. Эти устройства могут преобразовывать аудиосигнал (синусоиды) в цифровые представления. Итак, 16-разрядный АЦП мог бы представлять синус от -32768 до 32768. Это с фиксированной запятой. Это также возможно сделать с плавающей запятой (хотя это не рекомендуется из соображений производительности, но может быть необходимо из соображений диапазона). Обратное (цифроаналоговое преобразование) происходит, когда мы конвертируем числа в синусоидальные волны. Это обрабатывается чем-то, что называется ЦАП.

2
ответ дан sybreon 26 November 2019 в 21:46
поделиться

Я думаю, что хороший способ начать играть со звуком был бы с Processing и Minim . Эта программа будет извлекать частотный спектр звука из вашего микрофона!

import ddf.minim.*;
import ddf.minim.analysis.*;

AudioInput in;
FFT fft;

void setup()
{
  size(1024, 600);
  noSmooth();
  Minim.start(this);
  in = Minim.getLineIn();
  fft = new FFT(in.bufferSize(), in.sampleRate());
}

void draw()
{
  background(0);
  fft.forward(in.mix);
  stroke(255);
  for(int i = 0; i < fft.specSize(); i++)
    line(i*2+1, height, i*2+1, height - fft.getBand(i)*10);
}

void stop()
{
  in.close();
  Minim.stop();
  super.stop();
}
3
ответ дан Nathan 26 November 2019 в 21:46
поделиться

The simplest way to represent sound as numbers is PCM (Pulse Code Modulation). This means that the amplitude of the sound is recorded at a set frequency (each amplitude value is called a sample). CD quality sound for example is 16 bit samples (in stereo) at the frequency 44100 Hz.

A sample can be represented as an integer number (usually 8, 12, 16, 24 or 32 bits) or a floating point number (16 bit float or 32 bit double). The number can either be signed or unsigned.

For 16 bit signed samples the value 0 would be in the middle, and -32768 and 32767 would be the maximum amplitues. For 16 bit unsigned samples the value 32768 would be in the middle, and 0 and 65535 would be the maximum amplitudes.

For floating point samples the usual format is that 0 is in the middle, and -1.0 and 1.0 are the maximum amplitudes.

The PCM data can then be compressed, for example using MP3.

4
ответ дан 26 November 2019 в 21:46
поделиться
Другие вопросы по тегам:

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