Как я могу исправить "файл не найден ошибка" в моем коде - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь создать программу, которая конвертирует нормальное аудио в 8d аудио, я взял этот код с github https://github.com/TheJoin95/ambisonics-3d-audio/blob/master/init.py

from glob import glob
from pydub import AudioSegment
from pydub.generators import WhiteNoise
from math import *
from random import *
import sys

if len(sys.argv) > 2:
    AudioSegment.converter = sys.argv[1] #ffmpeg installation exe dir path
    AudioSegment.ffmpeg = sys.argv[1] #ffmpeg installation exe dir path
    AudioSegment.ffprobe = sys.argv[2] #ffprobe installation exe dir path

def calc_pan(index):
    return cos(radians(index))

#playlist_songs = [AudioSegment.from_mp3(mp3_file) for mp3_file in glob("mp3/*.mp3")]

#first_song = playlist_songs.pop(0)
interval = 0.2 * 1000 # sec
song = AudioSegment.from_mp3('mp3/hellomp.mp3')
song_inverted = song.invert_phase()
song.overlay(song_inverted)

splitted_song = splitted_song_inverted = []
song_start_point = 0

print("split song in part")
while song_start_point+interval < len(song):
    splitted_song.append(song[song_start_point:song_start_point+interval])
    song_start_point += interval

if song_start_point < len(song):
    splitted_song.append(song[song_start_point:])

print("end splitting")
print("total pieces: " + str(len(splitted_song)))

ambisonics_song = splitted_song.pop(0)
pan_index = 0
for piece in splitted_song:
    pan_index += 5
    piece = piece.pan(calc_pan(pan_index))
    ambisonics_song = ambisonics_song.append(piece, crossfade=interval/50)


# lets save it!
out_f = open("compiled/everlong.mp3", 'wb')

ambisonics_song.export(out_f, format='mp3')


Я ожидал, что это 8D аудио, но я получил некоторые ошибки, какмогу ли я это исправить и заставить мой код работать

Предупреждение (из модуля предупреждений): Файл "C: \ Users \ lenovo \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ pydub \ utils.py ", строка 165 warn (« Не удалось найти ffmpeg или avconv - по умолчанию ffmpeg, но может не работать », RuntimeWarning) RuntimeWarning: Не удалось найти ffmpeg или avconv - по умолчанию ffmpeg, но можетне работает Traceback (последний вызов был последним): файл "C: /Users/lenovo/AppData/Local/Programs/Python/Python37-32/8dmusic.py", строка 20, в song = AudioSegment.from_mp3 ('mp3 / hellomp.mp3 ') Файл "C: \ Users \ lenovo \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ pydub \ audio_segment.py", строка 716, в from_mp3 возвращает файл cls.from_file (файл,'mp3', параметры = параметры) Файл "C: \ Users \ lenovo \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ pydub \ audio_segment.py ", строка 610, в файле from_file = _fd_or_path_or_tempfile (файл, 'rb', tempfile = False) Файл" C: \ Users \ lenovo \ AppData \ Local \ Programs \ Python \ Python37-32\ lib \ site-packages \ pydub \ utils.py ", строка 57, в _fd_or_path_or_tempfile fd = open (fd, mode = mode) FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'mp3 / hellomp.mp3'

Ответы [ 2 ]

0 голосов
/ 24 июня 2019

Я думаю, вам нужен путь к файлу, например, абсолютный путь. mp3/hellomp.mp3 выглядит как относительный путь, но вы должны проверить текущий путь к каталогу, содержащий исходный код. Это слово добавляет «../» или «./» для разумного.

0 голосов
/ 24 июня 2019

Трассировка дает вам ответ "[Errno 2] Нет такого файла или каталога: 'mp3 / hellomp.mp3'

python audio mp3 ".

Программа пытается найти файл в папке, которая не существует. Проверьте, что папка там, затем проверьте правильность пути на 100%

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...