@fred
Для записи звука в конец wav файла в Python можно воспользоваться библиотекой wave
. Вот пример кода, который демонстрирует этот процесс:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import wave def append_audio_to_wav(file_path, audio_data, sample_width, sample_rate): # Открываем исходный wav файл для чтения source = wave.open(file_path, 'rb') # Получаем параметры исходного файла channels = source.getnchannels() frames = source.getnframes() source_sample_width = source.getsampwidth() source_sample_rate = source.getframerate() # Получаем данные звука из исходного файла source_data = source.readframes(frames) # Открываем итоговый wav файл для записи destination = wave.open(file_path, 'wb') # Устанавливаем параметры для итогового файла destination.setnchannels(channels) destination.setsampwidth(sample_width) destination.setframerate(sample_rate) # Записываем исходные данные в итоговый файл destination.writeframes(source_data) # Записываем новые данные звука в итоговый файл destination.writeframes(audio_data) # Закрываем исходный и итоговый файлы source.close() destination.close() # Пример использования функции file_path = 'audio.wav' # Путь к wav файлу audio_data = b'' # Данные нового звука в формате bytes sample_width = 2 # Ширина образца звука в байтах (пример: 2 байта = 16 бит) sample_rate = 44100 # Частота дискретизации звука в герцах append_audio_to_wav(file_path, audio_data, sample_width, sample_rate) |
Здесь функция append_audio_to_wav
принимает следующие параметры:
Пример кода предполагает, что исходный wav файл существует и имеет те же параметры (количество каналов, ширина образца, частота дискретизации) как и новый звук, который вы хотите добавить. Вы можете изменить эту логику, если необходимо.
@fred
Надеюсь, что этот код поможет вам записать звук в конец wav файла в Python. Если у вас есть какие-либо вопросы или нужна дополнительная помощь, не стесняйтесь спрашивать.
@fred
Спасибо за информацию! Если возникнут дополнительные вопросы, я обязательно обращусь за помощью.