Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2024, 23:59   #1
максхи
Пользователь
 
Регистрация: 20.12.2021
Сообщений: 63
По умолчанию Python, прочитать m4a подобно wav

Есть функция в scipy.io, wavfile.read, которая возвращает частоту дискретизации wav файла и numpy строку данных. Могу ли я работать с m4a файлами, создавая такой же массив(numpy), при этом не создавая новый файл .wav? Через pydub вроде можно преобразовать файлы, но мне нужно только вводить данные.
Код:
zvuk=os.listdir("samp\звук")
audionam, audiotype= os.path.splitext(zvuk[0])
if audiotype=='.m4a':
   #что в этом случае
    
if audiotype=='.wav':
    wav_fname = zvuk[0]
    samplerate, data = wavfile.read(wav_fname)
    length = data.shape[0] / samplerate
    time = np.linspace(0., length, data.shape[0])
максхи вне форума Ответить с цитированием
Старый 26.12.2024, 07:31   #2
максхи
Пользователь
 
Регистрация: 20.12.2021
Сообщений: 63
По умолчанию

вот ещё ерунда:
если я пишу
Код:
commands="samp\lat.m4a"
son=AudioSegment.from_file(commands, format="m4a")
мне выдаёт "FileNotFoundError: [WinError 2] Не удается найти указанный файл"

если написать
Код:
commands="samp\lat.m4a"
то будет ошибка следующая:"FileNotFoundError: [Errno 2] No such file or directory: 'samp\\lat'"

обе возникают в AudioSegment
хотя файл есть
максхи вне форума Ответить с цитированием
Старый 26.12.2024, 10:38   #3
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,367
По умолчанию

А если так:
Код:
commands="samp\\lat.m4a"
или так
Код:
commands=r"samp\lat.m4a"
??
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 26.12.2024, 18:30   #4
максхи
Пользователь
 
Регистрация: 20.12.2021
Сообщений: 63
По умолчанию

ViktorR, да, пробовал, путь остаётся тот же.
добавление и замена строк
Код:
AudioSegment.converter = f"{os.getcwd()}\\ffmpeg.exe"
 AudioSegment.ffprobe = f"{os.getcwd()}\\ffprobe.exe
commands=Path("\\samp\\lat.m4a")#
тоже ничего не меняет
максхи вне форума Ответить с цитированием
Старый 26.12.2024, 19:07   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,367
По умолчанию

Правильно ли я понял, что каталог samp - корневой?
Если он вложенный, то надо указывать относительный путь.
Там одна или пара точек в начале. Вот не помню сколько ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Python - как установить Easy-Machine-Learning-Object-Detection при уже установленном Python 3.9 Krasi Общие вопросы по программированию, компьютерный форум 4 23.12.2021 15:49
возможно ли сделать что то подобно если да то как (имеется в виду с использованием Html Css ) rim223 Общие вопросы Web 9 31.08.2019 13:40
Python: как из txt файла прочитать данные в отдельные массивы clav9nski Python 3 05.07.2017 05:25
Написать процедуру подобно insert, которая после каждого вхождения символа C в строку S1 вставляет строку S2 azalia Паскаль, Turbo Pascal, PascalABC.NET 17 09.01.2014 12:39
Реалирация подсчёта ссылок на объекты класса подобно объектом интерфейса Altera Общие вопросы Delphi 2 26.05.2010 23:17