Я довольно новичок в python и работаю над простой программой, которая записывает звук, немного его модифицирует и затем воспроизводит.Я написал это в Visual Studio, но это программное обеспечение не будет работать для меня с sounddevice
и говорит No module named '_sounddevice_data'
, но когда я запускаю его с python "path to this file"
в Anaconda Prompt, оно работает без каких-либо проблем.Этот пакет находится в среде Python Visual, который я использую - Anaconda 5.2.0
.С другой стороны, запуск из Anaconda Prompt не будет работать с tenorflow из-за некоторой ошибки, которая пропускается в Visual Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
.Более того, все прекрасно работает, когда я использую простой файл .bat для запуска этого кода: D
echo off
CALL D:\Users\blaze\Anaconda3\Scripts\activate.bat D:\Users\blaze\Anaconda3
python C:\Users\blaze\source\repos\recorder\recorder\recorder.py
echo on
Я был бы благодарен за любую помощь, потому что я просто не могу понять, что происходит.Вот код:
import tensorflow as tf
import numpy as np
import time
import glob
import os
model=tf.keras.models.load_model("D:\Projekt\ML\save\model.h5py",compile=True)
duration = 100 # seconds
frames = 8192
global a
a=0
file_list_c = glob.glob(os.path.join(os.getcwd(), "Check", "*.txt"))
for file_path in file_list_c:
with open(file_path) as f:
datax =np.genfromtxt(file_path)
datax=np.reshape(datax,(-1,8192))
print(model.predict(datax))
print(np.argmax(model.predict(datax)))
import sounddevice as sd
def callback(indata, outdata, frames, time, status):
if status:
print(status)
print(np.argmax(model.predict(np.reshape(indata,(-1,8192)))))
outdata[:] = indata
with sd.Stream(samplerate=48000,blocksize=8192,channels=1, callback=callback):
sd.sleep(int(duration*1000))
time.sleep(100)