Jadual Kandungan
Sintaks
Algoritma
Pendekatan
Kaedah 1: Gunakan perpustakaan gelombang
Contoh
Output
Pendekatan 2: Menggunakan perpustakaan pydub
Kaedah 3 menggunakan perpustakaan librosa:
Pendekatan 4: Menggunakan perpustakaan ffmpeg-python
Example
结论
Rumah pembangunan bahagian belakang Tutorial Python Bagaimana untuk mendapatkan tempoh audio dalam Python?

Bagaimana untuk mendapatkan tempoh audio dalam Python?

Sep 02, 2023 pm 06:53 PM
python Audio tempoh masa

Bagaimana untuk mendapatkan tempoh audio dalam Python?

Bidang pemprosesan audio telah berkembang dengan ketara sejak beberapa tahun kebelakangan ini, dan Python telah menjadi pilihan biasa untuk mengendalikan tugas yang mengelilingi manipulasi audio. Apabila bekerja dengan audio, salah satu tugas biasa ialah menentukan panjang fail audio, yang berguna dalam pelbagai aplikasi seperti mencipta senarai main, analisis data audio atau membangunkan alat penyuntingan audio.

Sepanjang artikel ini, anda akan dibimbing melalui pelbagai teknik, dari yang asas hingga lanjutan, untuk mendapatkan tempoh audio menggunakan Python contoh kod sebenar akan disediakan di sepanjang jalan ke dalam subjek, adalah penting untuk mendapatkan pemahaman tentang konsep dan istilah asas yang berkaitan dengan pemprosesan audio Ini akan memberi anda asas yang diperlukan untuk melaksanakan pelbagai pendekatan yang dibentangkan kemudian dalam artikel dan kemudian terokai sintaks dan algoritma untuk mengiranya.

Istilah "tempoh audio" merujuk kepada tempoh masa fail audio dimainkan, biasanya diukur dalam saat atau minit. Nilai ini dipengaruhi oleh satu siri ciri yang mentakrifkan fail audio, termasuk bilangan sampel, saluran dan kadar sampel. Pemahaman menyeluruh tentang pengetahuan ini adalah penting untuk pelbagai aplikasi, termasuk tetapi tidak terhad kepada transkripsi, analisis dan penyuntingan audio.

Sintaks

Python menyediakan pelbagai perpustakaan untuk mengurus pemprosesan fail audio. Pustaka ini termasuk wave, pydub dan librosa, masing-masing dengan sintaks dan fungsi uniknya sendiri untuk memuat naik fail audio dan mengukur tempohnya. Proses biasa untuk menentukan tempoh fail audio termasuk langkah berikut:

  • Mengimport perpustakaan wajib.

  • Baca fail audio.

  • Mengekstrak ciri fail (seperti kadar sampel, kuantiti sampel dan kuantiti saluran).

  • Mengira tempoh menggunakan ciri yang diekstrak.

Algoritma

Untuk mendapatkan tempoh fail audio dalam Python, anda boleh melaksanakan algoritma berikut -

  • Laksanakan perpustakaan yang sesuai untuk memuat naik fail audio.

  • Ekstrak ciri fail audio yang berkaitan, termasuk kadar pensampelan, bilangan saluran dan bilangan bingkai.

  • Kira tempoh fail audio dengan membahagikan bilangan bingkai dengan kadar sampel.

  • Keluarkan nilai tempoh dengan mencetak atau mengembalikannya.

Pendekatan

Kami kini akan meneroka beberapa teknik untuk menentukan tempoh fail audio dalam Python. Kaedah berikut akan diperkenalkan −

  • Dengan menggunakan perpustakaan gelombang.

  • Dengan menggunakan perpustakaan pydub.

  • Gunakan perpustakaan librosa.

  • Dengan menggunakan perpustakaan ffmpeg-python.

Kaedah 1: Gunakan perpustakaan gelombang

Pustaka wave ialah modul terbina dalam Python yang menyediakan sokongan untuk fail WAV. Berikut ialah contoh kod lengkap yang menunjukkan cara mendapatkan tempoh fail audio menggunakan perpustakaan gelombang -

Contoh

import wave
def get_duration_wave(file_path):
   with wave.open(file_path, 'r') as audio_file:
      frame_rate = audio_file.getframerate()
      n_frames = audio_file.getnframes()
      duration = n_frames / float(frame_rate)
      return duration
file_path = 'example.wav'
duration = get_duration_wave(file_path)
print(f"Duration: {duration:.2f} seconds")
Salin selepas log masuk

Output

Duration: 10.00 seconds
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Pendekatan 2: Menggunakan perpustakaan pydub

Pustaka pydub berdiri sebagai alat yang biasa digunakan dan mudah digunakan untuk manipulasi audio Untuk menggunakan pydub, anda mesti memasangnya terlebih dahulu melalui pip install pydub. Berikut adalah contoh kod untuk mendapatkannya tempoh menggunakan pydub −

Contoh

from pydub import AudioSegment
def get_duration_pydub(file_path):
   audio_file = AudioSegment.from_file(file_path)
   duration = audio_file.duration_seconds
   return duration
file_path = 'example.wav'
duration = get_duration_pydub(file_path)
print(f"Duration: {duration:.2f} seconds")
Salin selepas log masuk

Output

Duration: 10.00 seconds
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam coretan kod khusus ini, kami mengimport kelas AudioSegment, yang berasal dari pustaka pydub, dengan tujuan membaca dan membuat pengubahsuaian pada fail audio Untuk memuatkan fail audio, kami memanggil fungsi from_file dan duration_seconds atribut digunakan untuk memperoleh panjang fail audio dalam beberapa saat.

Kaedah 3 menggunakan perpustakaan librosa:

Librosa berdiri sebagai satu lagi perpustakaan yang dihormati untuk pemprosesan audio menggunakan Python, memberikan penekanan terutamanya pada analisis muzik dan bunyi Dengan menaip 'pip install librosa' dalam terminal atau command prompt anda, anda akan dapat memasangnya dengan mudah dan cepat Berikut ialah contoh kod untuk mendapatkan tempoh menggunakan librosa −

.

Contoh

import librosa
def get_duration_librosa(file_path):
   audio_data, sample_rate = librosa.load(file_path)
   duration = librosa.get_duration(y=audio_data, sr=sample_rate)
   return duration
file_path = 'example.wav'
duration = get_duration_librosa(file_path)
print(f"Duration: {duration:.2f} seconds")
Salin selepas log masuk

Output

Duration: 10.00 seconds
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, gunakan fungsi librosa.load untuk membaca fail audio dan mendapatkan data audio dan kadar sampel. Kemudian, gunakan fungsi librosa.get_duration untuk mengira tempoh berdasarkan data audio dan kadar sampel.

Pendekatan 4: Menggunakan perpustakaan ffmpeg-python

FFmpeg ialah alat yang biasa digunakan untuk memproses audio dan video pada pelbagai platform. Pustaka ffmpeg-python bertindak sebagai pembungkus Python untuk antara muka baris arahan FFmpeg dan boleh dipasang menggunakan pip install ffmpeg-python. Berikut ialah contoh kod yang menunjukkan cara mendapatkan tempoh fail audio menggunakan ffmpeg-python−

Example

import ffmpeg
def get_duration_ffmpeg(file_path):
   probe = ffmpeg.probe(file_path)
   stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'audio'), None)
   duration = float(stream['duration'])
   return duration
file_path = 'example.wav'
duration = get_duration_ffmpeg(file_path)
print(f"Duration: {duration:.2f} seconds")
Salin selepas log masuk

Output

Duration: 10.00 seconds
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

在这个例子中,我们使用ffmpeg.probe函数来获取与音频文件相关的元数据。随后,我们从流列表中过滤出音频流,并从流字典中提取出'duration'字段中的持续时间。

结论

在本文中,我们深入探讨了使用wave、pydub、librosa和ffmpeg-python库在Python中获取音频文件时长的四种不同方法。每种方法都有其自身的优点和限制,库的选择取决于您个人的需求和偏好。这些代码示例旨在为您提供在Python项目中实现音频时长计算的坚实基础。

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan tempoh audio dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Membuka Format XML Cara Membuka Format XML Apr 02, 2025 pm 09:00 PM

Gunakan kebanyakan editor teks untuk membuka fail XML; Jika anda memerlukan paparan pokok yang lebih intuitif, anda boleh menggunakan editor XML, seperti editor XML oksigen atau XMLSPY; Jika anda memproses data XML dalam program, anda perlu menggunakan bahasa pengaturcaraan (seperti Python) dan perpustakaan XML (seperti XML.Etree.ElementTree) untuk menghuraikan.

Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Apr 02, 2025 pm 08:54 PM

Permohonan yang menukarkan XML terus ke PDF tidak dapat dijumpai kerana mereka adalah dua format yang berbeza. XML digunakan untuk menyimpan data, manakala PDF digunakan untuk memaparkan dokumen. Untuk melengkapkan transformasi, anda boleh menggunakan bahasa pengaturcaraan dan perpustakaan seperti Python dan ReportLab untuk menghuraikan data XML dan menghasilkan dokumen PDF.

Adakah kelajuan penukaran cepat apabila menukar XML ke PDF pada telefon bimbit? Adakah kelajuan penukaran cepat apabila menukar XML ke PDF pada telefon bimbit? Apr 02, 2025 pm 10:09 PM

Kelajuan XML mudah alih ke PDF bergantung kepada faktor -faktor berikut: kerumitan struktur XML. Kaedah Penukaran Konfigurasi Perkakasan Mudah Alih (Perpustakaan, Algoritma) Kaedah Pengoptimuman Kualiti Kod (Pilih perpustakaan yang cekap, mengoptimumkan algoritma, data cache, dan menggunakan pelbagai threading). Secara keseluruhannya, tidak ada jawapan mutlak dan ia perlu dioptimumkan mengikut keadaan tertentu.

Alat pemformatan XML yang disyorkan Alat pemformatan XML yang disyorkan Apr 02, 2025 pm 09:03 PM

Alat pemformatan XML boleh menaip kod mengikut peraturan untuk meningkatkan kebolehbacaan dan pemahaman. Apabila memilih alat, perhatikan keupayaan penyesuaian, pengendalian keadaan khas, prestasi dan kemudahan penggunaan. Jenis alat yang biasa digunakan termasuk alat dalam talian, pemalam IDE, dan alat baris arahan.

Adakah terdapat XML percuma untuk alat PDF untuk telefon bimbit? Adakah terdapat XML percuma untuk alat PDF untuk telefon bimbit? Apr 02, 2025 pm 09:12 PM

Tidak ada XML percuma yang mudah dan langsung ke alat PDF di mudah alih. Proses visualisasi data yang diperlukan melibatkan pemahaman dan rendering data yang kompleks, dan kebanyakan alat yang dipanggil "percuma" di pasaran mempunyai pengalaman yang buruk. Adalah disyorkan untuk menggunakan alat sampingan komputer atau menggunakan perkhidmatan awan, atau membangunkan aplikasi sendiri untuk mendapatkan kesan penukaran yang lebih dipercayai.

Bagaimana cara menukar XML ke PDF di telefon anda dengan kualiti tinggi? Bagaimana cara menukar XML ke PDF di telefon anda dengan kualiti tinggi? Apr 02, 2025 pm 09:48 PM

Tukar XML ke PDF dengan kualiti tinggi pada telefon bimbit anda memerlukan: Parsing XML di awan dan menjana PDF menggunakan platform pengkomputeran tanpa pelayan. Pilih Parser XML yang cekap dan perpustakaan penjanaan PDF. Mengendalikan kesilapan dengan betul. Menggunakan sepenuhnya kuasa pengkomputeran awan untuk mengelakkan tugas berat pada telefon anda. Laraskan kerumitan mengikut keperluan, termasuk memproses struktur XML kompleks, menghasilkan PDF multi-halaman, dan menambah imej. Cetak maklumat log untuk membantu debug. Mengoptimumkan prestasi, pilih parser yang cekap dan perpustakaan PDF, dan boleh menggunakan pengaturcaraan asynchronous atau data XML preprocessing. Memastikan kualiti kod yang baik dan penyelenggaraan.

Bagaimana cara menukar fail XML ke PDF di telefon anda? Bagaimana cara menukar fail XML ke PDF di telefon anda? Apr 02, 2025 pm 10:12 PM

Tidak mustahil untuk menyelesaikan penukaran XML ke PDF secara langsung di telefon anda dengan satu aplikasi. Ia perlu menggunakan perkhidmatan awan, yang boleh dicapai melalui dua langkah: 1. Tukar XML ke PDF di awan, 2. Akses atau muat turun fail PDF yang ditukar pada telefon bimbit.

Bagaimana cara menukar XML ke PDF di telefon anda? Bagaimana cara menukar XML ke PDF di telefon anda? Apr 02, 2025 pm 10:18 PM

Ia tidak mudah untuk menukar XML ke PDF secara langsung pada telefon anda, tetapi ia boleh dicapai dengan bantuan perkhidmatan awan. Adalah disyorkan untuk menggunakan aplikasi mudah alih ringan untuk memuat naik fail XML dan menerima PDF yang dihasilkan, dan menukarnya dengan API awan. API awan menggunakan perkhidmatan pengkomputeran tanpa pelayan, dan memilih platform yang betul adalah penting. Kerumitan, pengendalian kesilapan, keselamatan, dan strategi pengoptimuman perlu dipertimbangkan ketika mengendalikan penjanaan XML dan penjanaan PDF. Seluruh proses memerlukan aplikasi front-end dan API back-end untuk bekerjasama, dan ia memerlukan pemahaman tentang pelbagai teknologi.

See all articles