Можно ли преобразовывать файлы формата lossy в формат lossless?

Устройства, совместимые с lossless

Например, владельцы устройств под управлением Android могут воспользоваться плеером andLess. Он способен проигрывать файлы в форматах FLAC, APE, несжатый WAV и другие форматы, поддерживаемые Android.

Хуже обстоят дела у владельцев устройств на платформе Blackberry. Лишь обладатели моделей Bold 9000 и 8900 и более поздних версий могут прослушивать lossless формат.

Обладатели устройств Apple без проблем могут использовать кодек ALAC. Он поддерживается плеером iPod (кроме shuffle), телефоном iPhone и планшетом iPad. Для формата FLAC можно скачать FLAC Player в App Store.

Кодек FLAC поддерживается устройствами Samsung Galaxy, некоторыми смартфонами Sony Ericsson и плеерами iriver.

Получили поддержку FLAC и стационарные устройства многих производителей. Медиаплееры и медиацентры позволяют обойтись без персонального компьютера при прослушивании композиций без потери качества.

Пока еще до полной поддержки абсолютно всех форматов далеко, но вполне хватает того, что медиаплеер понимает кодек FLAC – самый распространенный кодек качественной музыки lossless. Что такое аппаратура воспроизведения lossless?

Кодирование и декодирование FLAC

Кодирование WAV во FLAC со степенью сжатия по умолчанию (5):

Кодирование WAV во FLAC с указанной степенью сжатия:

, где n — число от 0 (минимальное сжатие) до 8 (максимальное сжатие).

Декодирование FLAC в WAV:

Чтобы убедиться в том, что FLAC сжимает данные действительно без потерь, можно использовать любое ПО, умеющее сравнивать файлы побитно — например, встроенную в Windows утилиту fc. Для эксперимента выбираем любой WAV-файл и делаем с ним следующие преобразования: original.wav (оригинальный файл) > compressed.flac (кодируем файл во FLAC) > decompressed.wav (декодируем FLAC обратно в WAV). Далее сравниваем original.wav и decompressed.wav при помощи fc в режиме двоичного сравнения:

По завершении проверки утилита выдаст сообщение «различия между файлами не найдены», что говорит об их полной идентичности. Это означает, что при конвертации во FLAC и обратно ни один бит не был потерян, что и требовалось доказать. Если проделать тот же опыт с MP3, то результат будет совсем иной, различий между файлами обнаружится огромное количество.

Цифровые плееры с поддержкой lossless

Хорошо отзываются пользователи о цифровых плеерах jetAudio, Foobar2000, Spider Player. Кардинальных отличий между ними нет. Выбор любого устройства основывается на субъективном мнении меломана об удобстве интерфейса для воспроизведения lossless. Что такое lossless формат, можно узнать протестировав эти плееры.

Формат Apple Lossless проигрывается с использованием iTunes. Кроме того, данный кодек поддерживается популярным видеоплеером VLC.

Хозяева компьютеров, совместимых с Apple, могут использовать две интересные программы: Vox и Cog.

Они поддерживают такие lossless форматы:

Дополнительно к этому имеется много полезных возможностей, например поддерживаются сервисы Last.fm.

Владельцы компьютеров с системой Windows могут использовать любое приложение, которое совместимо с кодеками музыки без потери качества: Foobar2000 или WinAmp. Для Winamp требуются специальные плагины. Lossless музыка хорошо воспроизводится на iTunes и KMPlayer. Достоинство iTunes, которого нет в других плеерах — возможность поддержки тегов.

Структура статьи

Перечислим темы, о которых будем говорить.

  1. Введение
    Кратко об основных идеях перцептивных и lossless кодеков.
  2. Перцептивные кодеки
    (это MP3, AAC и им подобные)
    2.1. Анатомия и ЦОС
    Поговорим о составляющих слуховой системы, а также обсудим, как к ней относится цифровая обработка сигналов.
    2.2. Порог в тишине
    Рассмотрим математические модели восприятия человеком разных частот.
    2.3. Маскинг (на пальцах)
    Затронем основную идею, лежащую в основе перцептивных стандартов (без формул, но с картинками).
  3. Lossless (кратко)
    Для сравнения поговорим и о данной группе стандартов (очень немного поговорим).

Введение

Я думаю, ни для кого из интересовавшихся темой аудиостандартов не секрет, что существуют в Мире две большие (и непримиримые между собой) парадигмы развития этих самых стандартов. А именно:

  • Lossless форматы (например, популярный FLAC);
  • Форматы на базе перцептивного (от англ. «perceptual» — относящийся к восприятию) кодирования (например, легендарный MP3 (MPEG-1/2/2.5 Layer 3) и его логическое продолжение AAC).

За первыми закрепилось звание тяжеловесных стандартов для меломанов. За вторыми стоит многолетняя практика применения: начиная от некачественных подборок музыки на дисках для MP3-плееров, кончая современными (достаточно качественными) потоковыми сервисами прослушивания музыки.

А теперь предлагаю поговорить об обеих концепциях чуть подробнее.

Перцептивные кодеки

Начнем со второй группы кодеков, а именно с их обобщенной схемы:

Рис. 1. Обобщенная структурная схема перцептивного кодирования.

Итак, что мы видим:

Штука слегка специфичная, однако, людям работающим в сфере цифровой обработки сигналов, я думаю, знакомая. Нужен этот блок для того, чтобы разбить входной сигнал на диапазоны и через это иметь больше степеней свободы для компрессии.

Это классика. Проходят данные темы обыкновенно в купе с азами теории информации, и потому по данной тематике есть целая база знаний из всевозможных семинаров на различных языках программирования (поэтому сегодня обсуждать подробно мы их не будем).

И вот по данному пункту хотелось бы поговорить более подробно. Ведь именно он и является основной точкой расхождения двух названных выше парадигм.

И начнем мы, так сказать, с самых основ — с биологии.

Звуковые форматы без потери качества

Подлинного любителя музыки вряд ли устроит звучание музыки, записанной в форматах со сжатием Ogg Vorbis или MP3. Конечно, если аудиозаписи прослушивать на бытовой аудиоаппаратуре, недостатки звучания невозможно уловить на слух, но если попытаться проиграть сжатый файл на высококачественной аппаратуре класса Hi-Fi, сразу обнаружатся недочеты звука. Безусловно, создать коллекцию качественной музыки на CD или виниловых пластинках нелегко. Есть разумная альтернатива этому пути для любителей качественного звука – lossless музыка. Ее можно хранить на ПК в виде, дающем возможность сохранить неизменными исходные параметры музыки, даже если применено сжатие. Этот путь одновременно решает проблемы высокого качества музыки и компактного ее хранения, ведь аудиоаппаратура для прослушивания (наушники, колонки, усилители) имеет вполне доступную цену.

Несжатые форматы звука без потери качества:

  • CDDA — является стандартом аудио CD;
  • WAV — Microsoft Wave;
  • IFF-8SVX;
  • IFF-16SV;
  • AIFF;
  • AU;
  • RAW.
  • FLAC;
  • APE – Monkey’s Audio;
  • M4A – Apple Lossless — формат качественной музыки от Apple;
  • WV – WavPack;
  • WMA – Windows Media Audio 9;
  • LA – Lossless Audio;
  • TTA – True Audio.
  • LPAC;
  • OFR – OptimFROG;
  • RKA – RKAU;
  • SHN – Shorten.

Результаты

Результаты тестирования оформлены в таблицу и отсортированы по убыванию степени сжатия.

Кодек Степень сжатия FBR, кбит/с Размер файла, МБ Время сжатия, c Скорость сжатия Время декодирования, с Скорость декодирования
LA 66,55% 939 535,55 589,28 8,11x 519,90 9,20x
OFR 66,74% 941 537.06 1028,78 4,65x 558,19 8,57x
APE 67,23% 948 540,98 252,92 18,91x 327,8 14,59x
TAK 67,79% 956 545,53 128,91 37,10x 12,62 379,02x
TAK(2 ядра) 67,79% 956 545,53 78,92 60,60x 12,67 377,36x
WV 68,75% 970 553,28 1741,86 2,74x 39,86 119,99x
FLACCL 69,51% 980 559,36 14,01 341,40x 10,99 435,21x
TTA 69,60% 982 560,12 22,94 208,51x 32,42 147,53x
Flake 69,67% 983 560,66 432,33 11,06x 14,07 340,03x
FLAC 69,90% 986 562,49 39,98 119,61x 9,13 523,48x
ALAC 71,00% 1002 571,38 42,56 112,37x 18,92 252,822x
WMA 71,68% 1011 576,81 38,72 123,52x 32,26 148,28x
PCM 100% 1411 804,67

Ближе к делу

Семплы

И так, в процессе прослушивания я выделил несколько проблемных семплов + добавил к ним еще парочку найденных мною на просторах интернета — дабы получше проверить «надежность» кодеров. Вот эти 7 тестовых семплов в lossless (TAK):

Above & Beyond — On A Good Day (A&B Club Mix) — в принципе, не слишком сложный семпл, использовался мною для общей оценки звучания во время поиска граничного битрейта, при котором я уже не ощущаю отличий от оригинала. На низких битрейтах этим семплом можно проверять стерео панораму и качество кодирования голоса.

beats — на первый взгляд — простенькая последовательность битов и шума, на деле же — «убийца» режима VBR (в частности для AAC кодеров). Семпл предоставлен одним из участников форума RuTracker.org

Marcus Schossow — Kaboom — тоже последовательность битов, но немного иного характера. Подобные всплески звуковой волны на некоторых кодеках дают значительный эффект пре-эхо.

Show Me Your Spine — фрагмент трека скачан на hydrogenaudio.org. Также рассчитан на тестирование пре-эхо.

Tiesto — Athena — изначально использовался мною для MP3

При прослушивании стоит обращать внимание на 13-27 секунды.. Tiesto — Do You Feel Me — а вот этот семпл, как ни странно, оказался фатальным для OGG Vorbis.

Tiesto — Do You Feel Me — а вот этот семпл, как ни странно, оказался фатальным для OGG Vorbis.

TyDi — Meet Me In Kyoto — семпл «рвущий в клочья» любые кодеры МР3 на любых битрейтах и с любыми настройками. Для других кодеров тоже является довольно сложным.

Прослушивание

Прослушивание производилось в мониторных наушниках открытого типа Technics RP-8801 на звуковой карте Creative X-Fi XtremeMusic. Хочу отметить, что фактически я просто прослушивал трек закодированный каждым из тестируемых кодеров и на слух оценивал степень искажений. Проводить ABX тест в данном случае — бесполезно, так как семплы сложные и звук в большинстве случаев искажается достаточно чтобы я мог отличить его от оригинала. Т.е., главной задачей является определение степени искажений и того насколько они раздражают во время прослушивания.

Ниже я составил таблицу результатов, где «+» означает что искажения в пределах нормы (не напрягают) или же не слышны вообще, «-» означает четко различимые неприятные искажения.

beats marcus_schossow-kaboom above_and_beyond-on_a_good_day show_me_your_spine tiesto-athena tiesto-do_you_feel_me tydi-meet_me_in_kyoto
Nero AAC + + + +
QT AAC + + + + +
OGG Vorbis + + + +

Как видно из таблицы,
ни один из кодеров не справился со всеми семплами. Стоит отметить полный провал QT AAC на семпле beats — что явно говорит о несовершенстве VBR режима у данного кодера. Впрочем, у Nero AAC с этим семплом тоже проблемы, но в меньшей мере.

Семпл Tiesto — Do You Feel Me выявил недостатки кодека
OGG Vorbis. Как я писал, слышимые искажения наблюдаются у него вплоть до качества -q9 — а это уже битрейт выше 320 кбит/с.

Для Nero AAC весьма неприятно звучал семпл Tiesto — Athena, другие кодеры справились с ним лучше.

Ну и на последнем семпле
TyDi — Meet Me In Kyoto все кодеры звучали одинаково плохо — со значительным пре-эхо.

И так, это означает, что ни одному из протестированных кодеров я не смогу доверить кодирование своей библиотеки. Честно говоря, я был разочарован.

Формат FLAC

Самым распространенным форматом является формат FLAC (Free Lossless Audio Codec). От аудиокодеков с потерями его отличает то, что из звукового потока при его использовании не удаляется никаких данных. Это дает возможность с успехом использовать его для воспроизведения музыки на Hi-Fi- и Hi-End-оборудовании, а также для создания архива коллекции аудиозаписей.

Большим достоинством формата является его свободное распространение

Это немаловажно для музыкантов, самостоятельно записывающих музыку. Формат в последнее время приобрел большую популярность, благодаря чему его поддержка включена в подавляющее большинство медиапроигрывателей

Автоматизация сжатия при помощи foobar2000

Работа через консоль — это, конечно, хорошо, но для регулярного применения процесс преобразования форматов хочется сделать более простым и удобным. Для решения данной задачи прекрасно подходит плеер foobar2000, о котором я уже упоминал выше. Этот проигрыватель имеет встроенный конвертер файлов, настройку которого мы и рассмотрим пошагово.

Для начала добавим в конвертер пресеты для LAME:

1) Открываем foobar, добавляем в его плейлист несколько файлов. Кликаем правой кнопкой мыши на любом треке из плейлиста, выбираем Convert > … В открывшемся окне Converter Setup в блоке Current Settings выбираем пункт Destination — здесь можно настроить, куда и как foobar будет сохранять созданные файлы. При необходимости корректируем эти параметры, затем жмём Back.

2) Нажимаем Output format > Add New, в появившемся окне заполняем поля как на скриншоте:

В поле Encoder file следует указать полный путь к файлу lame.exe. После того, как всё заполнено, жмём OK, затем Back.

3) Вернувшись в окно Converter Setup, сохраняем созданный пресет кнопкой Save Проходим пункты 2 и 3 заново, но на этот раз в параметрах и названии пресета меняем «standard» на «extreme». В результате в список Saved presets добавятся два пункта, запускающие LAME в режимах standard и extreme. Теперь можно перекодировать в MP3 любые файлы из плейлиста foobar, просто выделив их мышкой и выбрав в контекстном меню Convert > название нужного пресета:

Настроить FLAC ещё проще. В окне Converter Setup в блоке Current Settings выбираем Output format, далее в списке пресетов выбираем FLAC, жмём Back. Вернувшись в Converter Setup сохраняем новый пресет с именем FLAC:

Всё, теперь сжатие во FLAC доступно через контекстное меню Convert так же, как и сжатие в MP3. Нюанс: при первом запуске процесса конвертации откроется окно, в котором надо будет указать, где находится файл flac.exe.

К слову. У пользователей часто возникает вопрос, как разбить на отдельные треки альбом, скачанный в виде одного большого FLAC-файла с дополнением в виде файла разметки Cue sheet. Настроив foobar, как описано выше, мы можем сделать это в несколько кликов: открываем файл с расширением .cue, выделяем появившиеся в плейлисте треки и преобразуем их в отдельные файлы через контекстное меню Convert > FLAC.

Подготовка к тесту

2.1 Оборудование

Все технологии энергосбережения и HyperThreading отключены в BIOS материнской платы. Чтобы исключить задержки, связаные с записью/чтением HDD, для тестов используется RAM диск (Z:, 3 Гб).

2.2 Программное обеспечение

По возможности используются 64-битные версии кодеров. Для теста была специально произведена установка портативного foobar2000 последней версии с необходимым плагинами и кодировщиками, после чего предварительно были созданы профили конвертера для каждого кодера.

ОС: Windows 10 Pro 64-bit Видеодрайвер: ForceWare 385.41 WHQL

foobar2000: Core (2017-07-10 05:24:08 UTC)

foobar2000 core 1.3.16

foo_benchmark.dll (2017-09-04 20:26:52 UTC) Decoding Speed Test 1.2.3

foo_bitcompare.dll (2017-09-04 20:26:52 UTC) Binary Comparator 2.1.1

foo_converter.dll (2017-07-10 05:22:28 UTC) Converter 1.5

foo_input_la.dll (2010-12-08 22:45:00 UTC) Lossless Audio(La) decoder 0.01

foo_input_monkey.dll (2017-09-04 20:26:54 UTC) Monkey’s Audio Decoder 2.1.7 foo_input_ofr.dll (2017-09-05 14:18:58 UTC) OptimFROG Lossless/DualStream Decoder 1.31

foo_input_std.dll (2017-07-10 05:22:04 UTC) FFmpeg Decoders 3.2.4 Standard Input Array 1.0

foo_input_tak.dll (2017-09-04 20:26:54 UTC) TAK Decoder 0.4.7

foo_input_tta.dll (2017-09-04 20:26:54 UTC) TTA Audio Decoder 3.4

foo_ui_std.dll (2017-07-10 05:22:34 UTC) Default User Interface 0.9.5

Кодеры: FLAC 1.3.2 GIT20170314 x64 ICL Flake 0.11 FLACCL 2.1.6 Lossless Audio (LA) Compressor v0.4b Monkey’s Audio Console Front End v4.22 OptimFROG Lossless Audio Compressor v5.100 x64 refalac 1.64 TAK v2.3.0 TTA 2.3 64-bit SSE4 WMA 0.2.9c 64-bit WavPack v5.1.0

Для процесса плеера (а также для конвертера в его настройках) был установлен приоритет реального времени.

2.3 Музыкальный материал

Для теста был выбран образ диска одного из современных композиторов электронной музыки. Запись имеет широкий частотный и относительно неплохой динамический диапазоны.

2.4 Подбор параметров кодирования

Изначально я планировал провести сравнение при максимальных настройках сжатия для каждого кодера. Но по некоторым причинам это представилось невозможным, да и смысл такого теста был бы весьма сомнителен. Например, чтобы закодировать 30-секундный отрезок стандартного звукового материала кодеком OptimFROG с максимальными параметрами, уходит 230 секунд (скорость кодирования около 0.13х). Таким образом я сформулировал следующие требования:

  • скорость кодирования не менее 1x
  • скорость декодирования не менее 2х
  • возможность использовать для сжатых файлов прокрутку (seeking).

Так как прирост сжатия по мере увеличения параметров уменьшается, степень сжатия с выбранными мною параметрами практически не отличается от максимальной.

Общие параметры конвертера:

Output bit depth: Auto Dither: Never Output folder: Source track folder Fiilename pattern: %filename% Processing: None When finished: Do nothing

Кодеры и параметры

Примечание: для кодеров, не имеющих возможности кодировать на лету, входной файл был указан непосредственно в параметрах (вместо переменной %s). Это сделано с той целью, чтобы кодирование происходило непосредственно из файла-источника в конечный, без создания временного (что занимает значительное время и искажает результаты). Ниже параметры для упомянутых кодеров указаны с переменной %s.

-s —ignore-chunk-sizes -8 — -o %d

Установлена максимальная степень сжатия, включён тихий режим и игнорирование размера в заголовке WAV.

Установлена максимальная степень сжатия, включён тихий режим.

-q -11 —lax —slow-gpu —cpu-threads 2 — -o %d

Установлена максимальная степень сжатия, включён тихий режим, включён режим переноса части расчетов на CPU.

Включён режим повышенного сжатия.

Установлена максимальная степень сжатия (Insane).

—silent —encode —mode bestnew —experimental %s —output %d

Включён тихий режим, режим наилучшего сжатия, а также экспериментальная технология сжатия.

-s —ignorelength — -o %d

Включён тихий режим.

Параметры: 1 ядро: -e -p4m -ihs -silent — %d 2 ядра: -e -p4m -ihs -tn2 -silent — %d

включён режим максимального сжатия, игнорирование размера в заголовке, тихий режим. Второй набор параметров содержит ключ, включающий использование двух ядер процессора.

Данный кодер не требует дополнительных параметров кодирования.

— %d —silent —codec lsl

WMA 9.2 lossless (16 бит, 44.1 кГц), тихий режим.

Extra High сжатие, асимметричное кодирование 6й степени, игнорировать размер в заголовке, тихий режим.

Чем читать Lossless?

Lossless-музыка, конечно, звучит превосходно. Но у многих владельцев ПК и ноутбуков возникает вполне закономерный вопрос о том, чем читать такой экзотический формат. Проблем с этим нет. По крайней мере, на «Виндовс». Наиболее качественно получается воспроизвести FLAC, ALAC или АРЕ с помощью плеера Foobar 2000. Он правильно воспроизводит файлы и адекватно считывает теги. Однако его минималистический и строгий интерфейс может отпугнуть среднестатистического пользователя. К тому же русского языка «из коробки» нет. Обычному юзеру нужно что-нибудь попроще. И такой вариант есть. Всеми любимый и нереально популярный AIMP тоже весьма успешно справляется с форматами без потери качества. С этим плеером нет ничего проще, чем воспроизвести Lossless. Программа автоматически разобьет образ диска на отдельные файлы при помощи файла CUE и правильно отобразит все теги.

На операционных системах семейства «Линукс» формат без потери качества может читать практически любой проигрыватель после установки дополнительных «костылей» (для АРЕ). Без всяких добавок читает сей неудобный формат только «всеядный» DeadBeef. Но с остальными форматами проблем нет. Такие комбайны, как «Клементин», Audacious и другие запросто с ними справляются. Даже те проигрыватели, что входят в состав дистрибутива, умеют работать с лосслесс-форматами.

Что касается МакОС, то здесь выбор невелик. Все форматы без потери качества читает только VOX. Остальные плееры зациклены на проприетарном ALAC. Такова политика компании из Купертино. Проиграть FLAC или WAV стандартными системными средствами не получится. Однако в AppStore есть некоторое количество приложений сторонних разработчиков, которые могут сделать МакОС «всеядной». К таким приложениями и относится небезызвестный VOX, который напоминает сразу и AIMP и Winamp. Последний, конечно, легенда, но под МакОС его нет. Как и под «Линукс».

Пошаговое руководство как Конвертировать APE+CUE в FLAC:

В настоящий момент, существует огромное количество аудиоформатов, и зачастую, это становится проблемой для пользователей, особенно если их проигрыватель не поддерживает определенные форматы. В частности, такое может случиться, если Вам нужно открыть APE файл. К счастью, формат FLAC поддерживается подавляющим большинством устройств и плееров, поэтому во многих случаях конвертация – гораздо более простой и быстрый способ открыть аудиофайл, чем поиск подходящего проигрывателя. Если вам понадобилось быстро сконвертировать аудиофайл из ape в flac, то, наша программа ape to flac converter — лучшее решение, которое представляет собой универсальный конвертор ape в flac, позволяющий работать с разными типами файлов. Вы можете добавлять в программу треки простым перетаскиванием. Все, что от вас потребуется – это просто загрузить нужную композицию или ролик в приложение, а затем настроить все необходимые конфигурации и запустить конвертацию. Данный ape в flac конвертер, обладает простым и понятным «drag and drop» интерфейсом и лишен ненужных функций, которые обычно только отвлекают пользователя. Если вы хотите преобразовать ape в flac или любой другое аудио формат, то достаточно будет лишь выбрать его в выпавшем списке. При желании, в настройках можно также выставить битрейт, кодек, частоту аудио и другие параметры. Вы можете добавлять в конвектор как отдельные песни, так и целые папки с аудио. Часто, пользователи ищут ‘ape в flac конвертер онлайн’ или ‘как конвертировать ape в flac онлайн’, не задумываясь о том, что аудио файлы имеют большой размер, и даже при очень хорошем интернете, загрузка, конвертирование ape в flac, и скачивание результата, займет очень много времени. Гораздо быстрее будет скачать flaс to flac converter, и сделать это на PC. Ape to flac converter поддерживает огромное количество аудио форматов: AAC, AC-3, AIFF, ALAC, APE+CUE, FLAC, OGG, WAV, WMA и  массу других, поэтому, вы без труда сможете получить нужный аудиофайл. К тому же, в приложение включены лучшие аудио кодеки, благодаря чему достигается высокое качество выходного flac файла. Кроме того, данный конвертер ape в flac позволяет адаптировать файлы для всех современных гаджетов типа Apple iPhone или iPad.

Скачать APE в FLAC Бесплатно!

Скачайте бесплатно APE to FLAC Converter, установите и запустите, чтобы в три шага конвертировать APE в FLAC:

2. Настройка параметров вывода.

Второй шаг заключается в выборе параматров вывода. Сперва, укажите папку в которую будут сохраняться сконвертированные .flac файлы, и выберите вариант действия которое нужно выполнить если файл уже существует — создать новый файл, перезаписать или пропустить существующий файл.

Кроме того, укажите удалять ли APE в FLAC Конвертеру исходный файл после преобразования и сохранять ли оригинальную структуру папок, во время пакетного конвертирования.

И, наконец, выберите формат в который нужно преобразовать исходный файл (APE в FLAC) и его параметры.

После того параметры вывода указаны, можно перейти к финальному шагу — непосредственно конвертированию ape в flac.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: