Преобразование данных давления в звук

avatar
Weid Uncia
8 апреля 2018 в 08:46
407
0
1

Я использую датчик давления для "записи" звука, исходящего от стетоскопа. В результате у меня есть файл со значениями давления. График результатов с помощью этого простого кода Python

import matplotlib.pyplot as plt
import csv

x = []
y = []

with open('dati1.csv','r') as csvfile:
    plots = csv.reader(csvfile, delimiter=',')
    for row in plots:
        x.append(float(row[0]))
        y.append(float(row[1]))

plt.plot(x,y, label='Dati provenienti dallo stetoscopio')
plt.xlabel('tempo')
plt.ylabel('pressione')
plt.title('Grafico battito cardiaco')
plt.legend()
plt.show()

вот что я вижу: график волны. Я хотел бы преобразовать значения давления в файл аудио. Я попытался использовать код, который можно найти в здесь, но в результате получился очень короткий шум. Я искал способ улучшить свои данные, сэмплированные с частотой около 100 Гц, из-за того, что мой датчик не может работать быстрее, используя интерполяцию. Я не очень хорошо разбираюсь в python, поэтому мне не удалось достичь своей цели. Можешь мне помочь?

Источник
ahed87
8 апреля 2018 в 09:11
0

Если у вас есть весь стек науки, взгляните на import scipy.io.wavfile и pandas .resample, они приведут вас туда с парой вкладок.

Weid Uncia
8 апреля 2018 в 11:50
0

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

ahed87
8 апреля 2018 в 12:32
1

вам нужно будет обновить свой вопрос с помощью вашего последнего кода, а также включить часть данных, которые у вас есть (скажем, 1 секунду ваших данных 100 Гц), чтобы ваша конкретная проблема повторялась. Довольно сложно угадать, что происходит без подробностей.

Scott Stensland
8 апреля 2018 в 13:01
0

да @ahed87 дает отличный совет ... для визуализации ваших данных вы можете многократно дублировать свой набор точек, просто убедитесь, что начальная и конечная точки во входных данных стетоскопа примерно одинаковы, иначе вы услышите громкий хлопок из-за разрыв в форме кривой, поскольку конечная точка переходит в начальную точку ... инструмент под названием Audacity позволяет вам визуализировать аудиофайл, чтобы увидеть эту кривую ... я бы не стал делать какую-либо интерполяцию до тех пор, пока не просто дублирую набор точек у вас много раз ... мы ждем ваших обновлений

Davis Herring
8 апреля 2018 в 17:18
0

Если ваши звуки не сильно ограничены, вам не нужно будет получать значимые данные за пределами полосы пропускания 100 Гц — даже POTS составляет не менее 8 кГц.

Weid Uncia
9 апреля 2018 в 09:48
0

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

Ответы (0)