خواندن الفبا باید ساده‌ترین کاری باشد که یک صدای هوش مصنوعی می‌تواند انجام دهد. A-B-C-D-E-F-G. هفت صدای مجزا که برای هر کودکی در این سیاره آشناست. با این حال، هر کسی که با تولید موسیقی توسط هوش مصنوعی کار کرده باشد، می‌داند که واقعیت بسیار آشفته‌تر است. اگر از یک مدل بخواهید الفبا را بخواند، حروف L، M، N، O و P اغلب در یک هجای مبهم ادغام می‌شوند. «Elemmennopee» یک حرف نیست؛ بلکه یک نشانه است.

این همان مشکل LMNOP است و بسیار فراتر از ترانه‌های کودکانه گسترش می‌یابد. روزهای هفته، دستورالعمل‌های شماره‌گذاری شده و هر نوع لیست مرتب‌شده، همین نقطه ضعف را آشکار می‌کنند. یک توسعه‌دهنده اخیراً این موضوع را با تولید هشت آهنگ از طریق یک خط لوله (pipeline) هوش مصنوعی و اندازه‌گیری خروجی با mlx-whisper (یک ابزار تشخیص خودکار گفتار) آزمایش کرد. آن‌ها به جای تکیه بر شنیدن ذهنی و سلیقه‌ای، اجازه دادند نرم‌افزار نسخه‌برداری دقیقاً آنچه را که هوش مصنوعی خوانده بود، گزارش کند. نتایج تکان‌دهنده بود. فهرست کردن (Enumeration) خوانندگان مصنوعی را به گونه‌ای به چالش می‌کشد که زبان معمولی اصلاً با آن روبرو نمی‌شود.

چرا لیست‌ها صداهای هوش مصنوعی را مختل می‌کنند

زبان گفتاری دارای بافت (context) است. اگر کسی زیر لب بگوید: «دارم سگ را به پارک می‌برم» و شما کلمه «سگ» را نشنوید، جمله همچنان معنای خود را حفظ می‌کند. کلمات اطراف، شکاف‌ها را پر می‌کنند. اما لیست‌ها چنین شبکه ایمنی‌ای ندارند. هر مورد به تنهایی ایستاده است. اگر مدل تفاوت بین "B" و "D" را نامشخص ادا کند، شنونده معنای ناقصی دریافت نمی‌کند، بلکه فقط سر و صدا می‌شنود.

در آهنگ الفبا، خوشه LMNOP واضح‌ترین نقطه شکست است. مدل صوتی این توالی را به جای پنج حرف مجزا، به عنوان یک توده آوایی واحد در نظر می‌گیرد. بدون نشانه‌های بافتی برای تثبیت هر صدا، سنتزکننده در مورد انتقال بین حروف بی‌صدا حدس می‌زند؛ و معمولاً هم حدسش اشتباه است. همین اتفاق برای روزهای هفته یا مراحل شماره‌گذاری شده نیز می‌افتد. مدل در طول توالی عجله می‌کند و موارد متمایز را در یک گل‌گوشه‌ی نامفهوم فشرده می‌کند.

اندازه‌گیری میزان آسیب

برای مطالعه عینی این موضوع، توسعه‌دهنده هشت آهنگ تولید کرد و آن‌ها را از طریق mlx-whisper برای امتیازدهی به دقت متن ترانه اجرا کرد. فرآیند ساده بود: نوشتن یک پرامپت، تولید صدا، نسخه‌برداری از نتیجه و مقایسه متن نسخه‌برداری شده با متن اصلی ترانه.

برای ترانه‌های روایی استاندارد، خروجی تا حد زیادی وفادار بود و کلمات در جای درست خود قرار می‌گرفتند. اما وقتی پرامپت‌ها شامل لیست‌ها، الفبا یا شمارش بودند، mlx-whisper کلمات بی‌معنی برگرداند. حروف ناپدید شدند یا با هم ادغام شدند. اعداد به هجاهای غیرقابل تشخیص تبدیل شدند. این آزمایش تأیید کرد که ترانه‌های پر از لیست، از نظر قابلیت درک، به طور محسوسی بدتر از متن‌های نثرگونه هستند.

معماری پرامپتی که کمک می‌کند

شما نمی‌توانید برای اصلاح یک لیست به‌هم‌ریخته به پس‌پردازش (post-processing) تکیه کنید. اصلاح باید قبل از تولید اولین نت انجام شود. یک پرامپت که با دقت ساخته شده باشد، می‌تواند مدل را مجبور به تلفظ واضح‌تر کند. این تنظیمات هزینه‌ای ندارند، اما نحوه تنفس و مکث مدل را تغییر می‌دهند.

  • رشته‌های طولانی را به گروه‌های کوچک‌تر تقسیم کنید. به جای A-B-C-D-E، خط را به صورت A-B-C-D و E-F-G ساختاردهی کنید. این بازنشانی (reset) کوچک بین گروه‌ها به مدل فرصت می‌دهد تا به جای پخش کردن حروف، روی حروف بی‌صدا درست فرود بیاید.

  • اعداد را به صورت کلمات بنویسید. به جای "30" از "thirty" استفاده کنید. ارقام نوشته شده نمادهایی انتزاعی هستند؛ مدل گاهی آن‌ها را به صورت نویزهای بریده و بی‌صدا فشرده می‌کند. یک کلمه کامل انگلیسی، محتوای آوایی لازم را فراهم می‌کند.

  • اطراف حروف فاصله بصری ایجاد کنید. به جای "ABC"، از خط تیره یا فاصله استفاده کنید، مثلاً "A - B - C". این جداسازی بصری به مدل سیگنال می‌دهد که این‌ها موارد مجزا هستند، نه یک مخفف یا کلمه واحد.

  • تعداد هجاها را ثابت نگه دارید. هر خط را بین شش تا ده هجا نگه دارید. تغییرات شدید باعث می‌شود مدل خطوط کوتاه را با عجله و خطوط بلند را با کشش بخواند. لیست‌ها از قبل به دقت نیاز دارند؛ ریتم ناهماهنگ، اجرای دقیق را تقریباً غیرممکن می‌کند.

  • کلمه "and" را از لیست‌ها حذف کنید. در گفتار طبیعی، "and" نقش حرف ربط را دارد. در یک لیست خوانده شده، این کلمه یک هجای نرم اضافه می‌کند که اغلب لبه‌ی تیز مورد قبلی را می‌بلعد. "Monday, Tuesday, Wednesday" بسیار تمیزتر از "Monday, Tuesday, and Wednesday" ادا می‌شود.

تله بازسازی

اینجاست که شهود انسانی نتیجه معکوس می‌دهد. در ترانه‌های معمولی، پرامپت‌نویسی تکراری معمولاً نتایج را بهبود می‌بخشد. شما یک عبارت اشتباه را می‌شنوید، کلمات را تغییر می‌دهید و دوباره تولید می‌کنید؛ نسخه بعدی بهتر به نظر می‌رسد. آزمایش نشان داد که این رویکرد برای آهنگ‌های غیرلیستی کار می‌کند. اما برای آهنگ‌های حاوی لیست، بازنویسی پرامپت باعث شد خروجی نامفهوم‌تر شود.

داده‌ها بی‌ابهام بودند. آهنگ‌های بدون لیست پس از اصلاح پرامپت بهبود یافتند، اما آهنگ‌های حاوی شمارش وخیم‌تر شدند.

The culprit is the acoustic seed. In lyrics-to-song models, changing the prompt does not simply edit the existing audio. It reshuffles the entire generative foundation. The model rebuilds the performance from scratch. For narrative text, the new dice roll might land on a clearer take. For lists, you are usually inviting a worse slur. You might fix the timing on one letter only to watch the model bury "J," "K," and "L" in the next attempt. The original take was flawed, but the revision often traded one phonetic mess for another.

A Smarter Workflow for List-Heavy Lyrics

Because regeneration risks destroying clarity, your process needs to change. Stop chasing the perfect rewrite. Instead, treat the first prompt like a casting call.

Generate multiple versions from the exact same prompt using different random seeds. Do not touch the text. Hold the lyrics constant and let the model vary its performance. You are running an audition, not an edit session.

Then score every candidate. Run each version through mlx-whisper or a similar transcription tool and measure which take matches your prompt most faithfully. Pick the winner based on lyric accuracy, even if the instrumentation or vocal tone is slightly less polished. For list-heavy content, intelligibility matters more than vibe.

Most importantly, front-load your fixes. Apply spacing rules, syllable limits, and grouping before you ever hit generate. Do not write the alphabet song in plain English and try to patch it later. The model is less forgiving of retroactive edits when lists are involved. A