Byteforge / بایــت فورج 🛸
نسخه جدید اندروید استودیو Narwhal منتشر شد
خدا بخیر کنه
دانلود رم اضافه 😐🤦♂🔥
دانلود رم اضافه 😐🤦♂🔥
شرکت OpenAI به تازگی از APIهای جدید برای مدلهای هوش مصنوعی صوتی خود به نامهای gpt-4o-transcribe، gpt-4o-mini-transcribe و gpt-4o-mini-tts رونمایی کرده است. این مدلها از طریق API و وبسایت آزمایشی OpenAI.fm در دسترس هستند.
ویژگیهای کلیدی این مدلها:
* قابلیت تنظیم صدا: کاربران میتوانند صدای هوش مصنوعی را مطابق میل خود تنظیم کنند، از جمله لهجه، لحن و احساسات. این امکان به کاربران اجازه میدهد تا صدایی منحصر به فرد برای هوش مصنوعی خود انتخاب کنند.
* دقت بالا در تبدیل گفتار به متن: این مدلها دقت بالایی در تبدیل گفتار به متن و تشخیص صدا، به ویژه در محیطهای پر سر و صدا و با لهجههای مختلف، دارند. همچنین از بیش از 100 زبان، از جمله فارسی، پشتیبانی میکنند.
* کاربرد در مراکز تماس و دستیارهای صوتی: انتظار میرود این مدلها به طور گسترده در مراکز تماس و دستیارهای صوتی مورد استفاده قرار گیرند.
https://www.openai.fm/
ویژگیهای کلیدی این مدلها:
* قابلیت تنظیم صدا: کاربران میتوانند صدای هوش مصنوعی را مطابق میل خود تنظیم کنند، از جمله لهجه، لحن و احساسات. این امکان به کاربران اجازه میدهد تا صدایی منحصر به فرد برای هوش مصنوعی خود انتخاب کنند.
* دقت بالا در تبدیل گفتار به متن: این مدلها دقت بالایی در تبدیل گفتار به متن و تشخیص صدا، به ویژه در محیطهای پر سر و صدا و با لهجههای مختلف، دارند. همچنین از بیش از 100 زبان، از جمله فارسی، پشتیبانی میکنند.
* کاربرد در مراکز تماس و دستیارهای صوتی: انتظار میرود این مدلها به طور گسترده در مراکز تماس و دستیارهای صوتی مورد استفاده قرار گیرند.
https://www.openai.fm/
www.openai.fm
An interactive demo for developers to try the new text-to-speech model in the OpenAI API
Byteforge / بایــت فورج 🛸
شرکت OpenAI به تازگی از APIهای جدید برای مدلهای هوش مصنوعی صوتی خود به نامهای gpt-4o-transcribe، gpt-4o-mini-transcribe و gpt-4o-mini-tts رونمایی کرده است. این مدلها از طریق API و وبسایت آزمایشی OpenAI.fm در دسترس هستند. ویژگیهای کلیدی این مدلها: *…
این قسمت رو حالات صدا رو عوض میکنه مثلا ناراحت و غمگین ، شاد و ...
Forwarded from localhost
جمهوریاسلامی فعالیت مجموعه «الکترو» که دیاناس رایگان دراختیار گیمرا میذاشت رو توقیف کرد!
localhost
جمهوریاسلامی فعالیت مجموعه «الکترو» که دیاناس رایگان دراختیار گیمرا میذاشت رو توقیف کرد!
به به چه سعادتی
مشعشع شدیم 😂😂🤦♂
مشعشع شدیم 😂😂🤦♂
Forwarded from sasan safari
چگونه از Element Tree در فلاتر برای بهینهسازی UI استفاده کنیم؟
فلاتر از دو درخت اصلی برای نمایش UI استفاده میکند:
Widget Tree → ساختار توصیفی UI
Element Tree → نگهدارنده واقعی ویجتها در حافظه
چرا Element Tree مهم است؟
🧩 وقتی فلاتر ویجتها را بازسازی میکند، تمام Widget Tree دوباره ساخته میشود، اما Element Tree فقط در صورت نیاز تغییر میکند.
اگر بتوانید ویجتهای خود را طوری طراحی کنید که Element Tree ثابت بماند، عملکرد برنامه بهبود مییابد.
بهینهسازی Element Tree:
۱. استفاده از const در ویجتهای بدون تغییر
🚀 وقتی ویجتی مقدار ثابتی دارد، از const استفاده کنید. این باعث میشود که فلاتر همان نمونه را مجدداً استفاده کند.
بدون const (بازسازی غیرضروری):
۲. استفاده از Key برای حفظ Element Tree بین تغییرات
🔑 فلاتر وقتی لیستی از ویجتها را بازسازی میکند، اگر Key نداشته باشند، ممکن است Element Tree را بیدلیل تغییر دهد.
بدون Key (ریبیلد کامل هر آیتم):
۳. استفاده از ListView.builder به جای ListView ساده
📱 وقتی تعداد زیادی ویجت در لیست دارید، استفاده از ListView معمولی باعث میشود همه آیتمها همزمان ساخته شوند.
ListView.builder فقط آیتمهایی را که در صفحه نمایش داده میشوند، میسازد و بقیه را حذف میکند.
بدون builder (مشکل حافظه و کاهش سرعت):
👨🚀ساسان صفری
#مقاله #فلاتر
فلاتر از دو درخت اصلی برای نمایش UI استفاده میکند:
Widget Tree → ساختار توصیفی UI
Element Tree → نگهدارنده واقعی ویجتها در حافظه
چرا Element Tree مهم است؟
🧩 وقتی فلاتر ویجتها را بازسازی میکند، تمام Widget Tree دوباره ساخته میشود، اما Element Tree فقط در صورت نیاز تغییر میکند.
اگر بتوانید ویجتهای خود را طوری طراحی کنید که Element Tree ثابت بماند، عملکرد برنامه بهبود مییابد.
بهینهسازی Element Tree:
۱. استفاده از const در ویجتهای بدون تغییر
🚀 وقتی ویجتی مقدار ثابتی دارد، از const استفاده کنید. این باعث میشود که فلاتر همان نمونه را مجدداً استفاده کند.
بدون const (بازسازی غیرضروری):
با const (حفظ Element در حافظه):
Widget build(BuildContext context) { return const Text("Hello, Flutter!"); // فقط یک بار ساخته میشود. }
۲. استفاده از Key برای حفظ Element Tree بین تغییرات
🔑 فلاتر وقتی لیستی از ویجتها را بازسازی میکند، اگر Key نداشته باشند، ممکن است Element Tree را بیدلیل تغییر دهد.
بدون Key (ریبیلد کامل هر آیتم):
با Key (حفظ Element Tree برای هر آیتم):
ListView.builder( itemBuilder: (context, index) { return ListTile( key: ValueKey(index), // این باعث میشود آیتمها بازسازی غیرضروری نشوند noscript: Text("Item $index"), ); }, );
۳. استفاده از ListView.builder به جای ListView ساده
📱 وقتی تعداد زیادی ویجت در لیست دارید، استفاده از ListView معمولی باعث میشود همه آیتمها همزمان ساخته شوند.
ListView.builder فقط آیتمهایی را که در صفحه نمایش داده میشوند، میسازد و بقیه را حذف میکند.
بدون builder (مشکل حافظه و کاهش سرعت):
با builder (افزایش کارایی):
ListView.builder( itemCount: 1000, itemBuilder: (context, index) => Text("Item $index"), );
👨🚀ساسان صفری
#مقاله #فلاتر
Telegram
sasan safari
چنل شخصی تخصصی، از مهندسی نرم افزار، برنامه نویسی کراس پلتفورم و موبایل محتوا تقدیم میکنم.