تخطي إلى المحتوى

>_ حوّل ملفك

أفلت العينة هنا

Accepted: PCM :: Max 500MB

[SECURE] :: لا تُرسل الملفات إلى خوادم خارجية
┐─ تحليل الملف ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
المطور : غير محدد (معيار عالمي)
الفئة : صوت
نوع MIME : audio/L16
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

ما هو ملف PCM؟

PCM (Pulse-Code Modulation — تعديل الشفرة النبضية) هو الطريقة القياسية الأساسية لتمثيل إشارات الصوت التناظرية رقمياً. ابتُكرت الفكرة النظرية عام 1937 بواسطة Alec Reeves وطُبِّقت تجارياً في الثمانينيات مع انتشار الأقراص المضغوطة.

ملف PCM يحتوي على سلسلة من عينات رقمية — كل عينة تمثل سعة الموجة الصوتية في لحظة زمنية محددة — بدون أي ضغط أو ترويسة أو بيانات وصفية. هذه البساطة هي مزيتها وعيبها: البيانات جاهزة للمعالجة الفورية دون فك ضغط، لكنها تحتاج معرفة مسبقة بمعاملاتها (معدل العينة وعمق البت وعدد القنوات وترتيب البايتات) لتشغيلها صحيحاً. WAV و AIFF هما في الأساس PCM مُغلَّف في حاوية مع هذه المعاملات.

كيفية فتح ملفات PCM

  • Audacity (ويندوز، ماك، لينكس) — استيراد بيانات خام عبر File > Import > Raw Data
  • FFmpegffplay -f s16le -ar 44100 -ac 2 file.pcm للتشغيل المباشر
  • SoX (ويندوز، ماك، لينكس) — sox -r 44100 -e signed -b 16 -c 2 input.pcm output.wav
  • Adobe Audition (ويندوز، ماك) — تحرير صوت احترافي مع استيراد خام
  • Python SciPy/NumPy — قراءة مباشرة كمصفوفة أرقام للمعالجة

المواصفات التقنية

الخاصيةالقيمة
نوع MIMEaudio/L16 (16-بت) أو audio/L8 (8-بت)
الضغطبدون ضغط (عينات خام)
معدلات العينة الشائعة8 كيلوهرتز (هاتف)، 44.1 كيلوهرتز (CD)، 48 كيلوهرتز (فيديو)، 192 كيلوهرتز (احترافي)
عمق البت8 بت (unsigned)، 16 بت (signed)، 24 بت، 32 بت (float)
ترتيب البايتاتLittle-endian (ويندوز) أو Big-endian (نادر)
القنواتأحادي (1)، ستيريو (2)، أو أكثر
الحجممعدل العينة × عمق البت × القنوات × الثواني ÷ 8

الاستخدامات الشائعة

  • معالجة الإشارات الرقمية (DSP): البيانات الخام مدخل مباشر لخوارزميات الفلترة والتحليل الطيفي
  • الأنظمة المدمجة: المتحكمات الدقيقة تُولّد وتستهلك PCM مباشرةً (ضربات القلب، المسجلات الرقمية)
  • اتصالات الهاتف: بروتوكول G.711 المستخدم في شبكات الهاتف يُرسل PCM بـ 8 كيلوهرتز / 8 بت
  • التسجيل الاحترافي: الواجهة الداخلية بين بطاقات الصوت وبرامج DAW
  • بث الصوت في الشبكات: RTP (Real-time Transport Protocol) يحمل PCM في بث الصوت المباشر
  • TTS و STT: محركات تحويل النص إلى كلام والعكس تُولّد وتعالج PCM

أوامر FFmpeg و SoX

# تشغيل PCM مباشرة (16-بت، ستيريو، 44.1 كيلوهرتز)
ffplay -f s16le -ar 44100 -ac 2 audio.pcm

# تحويل PCM إلى WAV
ffmpeg -f s16le -ar 44100 -ac 2 -i audio.pcm audio.wav

# تحويل WAV إلى PCM خام
ffmpeg -i audio.wav -f s16le -ar 44100 -ac 2 audio.pcm

# تسجيل صوت كـ PCM من الميكروفون
ffmpeg -f alsa -i default -f s16le -ar 16000 -ac 1 recording.pcm

# باستخدام SoX لتحويل وإضافة معاملات
sox -r 44100 -e signed-integer -b 16 -c 2 input.pcm output.wav

# قياس مستوى الصوت في ملف PCM
sox -r 44100 -e signed -b 16 -c 1 audio.pcm -n stat

مثال Python لمعالجة PCM

import numpy as np
import scipy.io.wavfile as wav

# قراءة ملف PCM كمصفوفة أرقام
sample_rate = 44100
channels = 2
dtype = np.int16  # 16-بت signed

with open('audio.pcm', 'rb') as f:
    raw = f.read()

samples = np.frombuffer(raw, dtype=dtype)
if channels == 2:
    samples = samples.reshape(-1, 2)

print(f"عدد العينات: {len(samples)}")
print(f"المدة: {len(samples) / sample_rate:.2f} ثانية")

# حفظ كـ WAV
wav.write('output.wav', sample_rate, samples)

نصيحة: PCM بدون ترويسة يعني أنك تحتاج حفظ معاملاته (sample rate، bit depth، channels) في مكان آخر. إذا كنت تُوزّع الملف، استخدم WAV بدلاً — يحتوي على نفس البيانات مع ترويسة RIFF تُعرِّف هذه المعاملات.