Санкт-Петербург. Январь.
Батарея под окном стучала. Не ритмично – просто стучала, как стучат старые батареи в старых домах на Васильевском острове: с характером, с претензией, словно напоминая, что она здесь была раньше тебя и останется дольше. Алексей давно перестал её слышать. Он вообще перестал слышать многое из того, что происходило в квартире, – скрип паркета в коридоре, гул холодильника, кашель соседа за стеной. Всё это существовало в другом слое реальности, параллельном тому, в котором жил он сам.
Его слой был экраном монитора, кодом и кофе.
Кофе уже остыл. Он не заметил.
22:47. За окном – Большой проспект, мокрый снег, фонари, которые в такую погоду не столько светят, сколько намекают на существование света. Редкие машины. Ещё более редкие прохожие. Январь в Петербурге – это месяц, когда город честно признаётся в своей природе: он всегда был немного умершим, немного прекрасным, немного слишком холодным для жизни.
Алексей Волков жил здесь один уже восемь месяцев.
До этого – не один. До этого была Катерина, её духи на полке в ванной, её привычка оставлять кружки где попало, её смех в соседней комнате, её злость, её молчание, её чемодан в прихожей в то утро в апреле. «Лёша, я не могу больше. Ты здесь – но тебя нет. Ты вообще где-то есть?»
Он тогда не нашёлся с ответом. Наверное, потому что ответа не было.
Теперь кружка всегда стояла на одном и том же месте – справа от клавиатуры, ровно на расстоянии вытянутой руки. Духов в ванной не было. Смеха тоже.
Зато был код. Код был всегда.
```python
def calculate_resonance(signal_array, base_freq):
"""
Вычисляет резонансные частоты для входящего сигнала.
Возвращает список пар (частота, амплитуда).
"""
if not signal_array:
raise ValueError("Пустой массив сигнала")
fft_result = np.fft.fft(signal_array)
frequencies = np.fft.fftfreq(len(signal_array))
```
Алексей смотрел на незаконченную функцию и думал. Не о коде – код он писал почти автоматически, руки знали, что делать, – а о том, правильно ли он выбрал имя переменной. `resonance`. Резонанс. Красивое слово. Точное.
Его пальцы без всякой команды с его стороны начали барабанить по столу.
Он этого не осознавал. Это просто происходило, как происходит дыхание или моргание. Пять ударов – пауза – три удара. Пять – пауза – три. Безымянный ритм, который жил в нём столько, сколько он себя помнил. Нервный тик, унаследованный то ли от матери, то ли от деда, то ли придуманный им самим в детстве и ставший с тех пор частью его архитектуры.