Taguri articole soft studio

Windows Kmixer/Audio Service si alte metode de maltratare a semnalului audio

Postat de on ianuarie 26, 2011  |  No Comments

In primul, ce este Kmixer-ul: o parte din WDM audio, practic bucata de software care mixeaza toate stream-urile audio PCM care pot rezulta in interiorul unui calculator si face resamplingul necesar pentru ca acestea sa poata sa fie reprodusa de catre o placa audio oarecare. Prescurtarea este provenita de la “kernel audio mixer” si este folosita de catre mai toate variantele de Windows pana la Windows Vista, in acesta fiind inlocuit de catre un engine audio nou, dar care in principiu prezinta cam aceleasi probleme.

Cateva date folositoare despre Kmixer, intai si intai:

  • suporta rate de esantionare de pana la 100kHz in cazul versiunilor de Windows anterioare XP SP1 si Server 2003; la toate versiunile ulterioare, rata maxima este de 200kHz
  • are o latenta implicita de 30ms; lucru care nu ar trebui sa afecteaze intr-un mod vizibil (audibil, ar trebui sa zic?) reproducerea sunetului, dar este un aspect bine de cunoscut

Dupa o cautare destul de intensiva prin meandrele internetului, principala problema a Kmixerului este faptul ca face resampling automat al tuturor stream-urilor audio care ii apar pe intrari, la rata maxima dintre toate stream-urile care ruleaza concomitent, inclusiv a celor de intrare (pentru inregistrare). In practica, daca rulam un player la 96kHz si altul la 44kHz, semnalul audio transmis de catre cel care ruleaza la 44kHz va fi in mod automat resample-uit la 96kHz, si din cate se pare, cu un algoritm de SRC destul de “dezavantajos” muzicii, pentru a folosi eufemisme. Mentionez ca semnalul cu rata de esantionare cea mai mare nu este resample-uit de catre Kmixer, atata timp cat placa de sunet suporta in mod nativ rata respectiva de esantionare – si cam toate placile suporta MACAR 44.1kHz. Implicit, un semnal la 44kHz nu este afectat in vreun fel.

Mergand mai departe legat de posibilitatile de rulare a semnalului “bit-perfect” prin Kmixer, intervine urmatorul aspect – obligativitatea lasarii faderelor din Volume Control pe unity-gain si a panoramarii pe 0. Lucru deloc surprinzator, din punctul meu de vedere – orice modificare de volum (inclusiv cea din Foobar, setat pe ASIO, samd… voi explica putin mai departe) implica procesare si erori de trunchiere. Intr-adevar, trebuie avuta o oarecare grija la anumite aplicatii care controleaza de unele singure Volume Slider-ului mixerului de volum, dar in rest, nu mi se pare nimic anormal. Cati din voi folositi un atenuator pasiv sau un amplificator cu buton de volum care sa controleze 100% din exterior iesirea placii de sunet, si cati va folositi si de astfel de controale software “non-bit-perfect”?

Desi in specificatiile sale este mentionata si posibilitatea de modificare a numarului de biti, nu am reusit sa gasesc in documentatia Microsoft sau prin alte locuri mai mult sau mai putin de incredere o explicatie clara a momentului in care s-ar putea face o trunchiere sau un dithering al semnalului audio, cu exceptia urmatorului bug, aplicabil doar Windows-ului 2000:    LINK
Luand in considerare ca numarul de biti de pe iesire este dictat de catre posibilitatile placii si de cerintele software, nu prea reusesc sa intrevad un moment in care Kmixer-ul sa trunchieze (ca de dithering nu cred sa se puna problema) datele. Si pentru a fi perfect seriosi, cine exact asculta muzica la 24 de biti care ar putea sa sufere de o oarecare trunchiere la 16 biti?

Paranteza: daca asculti MP3-uri, WAV-uri, sau FLAC-uri rippuite de pe un CD audio, implicit cu 16 biti de informatie utilizabila, orice setare a placii de sunet, Winamp-ului, DAW-ului sau a oricarui alt program pe 24 de biti pe iesire NU va ajuta in vreun fel. Tot ce va face este sa plimbe 8 biti “creati din neant” si fara vreo valoare pe ici-colo.

Intram in sectiunea presupuneri pe care nu am reusit sa le fondez pe o baza teoretica efectiva:
Exista o serie de forumuri care sustin distrugerea ultimului bit de catre Kmixer, sugerand fiecarui user sa testeze daca placa proprie “beneficiaza” de acest aspect. Unii merg si mai departe, sugerand sa folosesti adancimi de biti de 24 de biti, practic “convingand” Kmixer-ul sa distruga ultimul bit din 24, care, dupa aproape orice standard, este complet nesemnificativ.

Pentru cei care au trecut la sisteme de operare moderne, Audio Service-ul (echivalentul Kmixer-ului) aparut si folosit in mod implicit de catre Vista (si ulterior la Windows 7) lucreze in mod automat la 32-biti cu virgula flotanta, lucru care s-ar parea sa duce in mod automat la anumite mici erori de trunchiere la reprezentare.

Asadar, pentru ascultatorii mai puristi, exista o serie de solutii pentru a trece pe langa un Kmixer/Audio Service care poate face mai mult sau mai putin rau unui semnal audio:

  • folosirea Foobar-ului concomitent cu ASIO4ALL pentru iesire (orice Windows)
  • pentru cei dependenti de Winamp, folosirea plugin-ului de OpenAL (in principiu pentru Windows Vista si 7)
  • acelasi Foobar, cu plug-in-ul de WASAPI (Windows Vista si 7)


Niste mici
concluzii, un pic cinice – doar e iarna afara, ce sa-i faci. Luand si cazul cel mai rau posibil, in care Kmixerul ar distruge ultimul bit din 16, chiar conteaza acel sunet la -85dBFSD care este mascat de white-noise-ul bloc compact denumit uneori muzica plasat peste el? Intr-adevar, daca se foloseste SI resampling, rezultatul ar putea sa fie destul de urat – pe de alta parte, in ce conditii Windows-ul ar putea produce sunete la o rata de esantionare mai MARE decat 44kHz pentru a resample-ui muzica?

Mergand mai departe, e perfect posibil si necesar sa dai volumul mai incet Kmixer sau din player-ul audio – e ceva nemaiauzit; din acel moment, problema cea mai mare nu este bit-imperfectiunea semnalului rezultant, as spune eu; ci faptul ca te apropii de noise floor-ul placii de sunet incetul cu incetul, scazand raportul semnal-zgomot; si totusi cu avantajul nesolicitarii partii analogice a DAC-ul, care influenteaza pozitiv semnalul, samd… Prin urmare, voi ramane cu al meu Winamp 2.5, cu skin clasic (ala verde cu negru si urat ca focu’) si cu Kmixer, ascultand muzica pe orice am la indemana de la nenorocita de placa Soundmax din laptopul vechi de 7 ani (cu una din cele 2 iesiri mono mai tare decat alta), la placi semi-profi, la convertoare dedicate, pe casti in-ear, casti de studio, monitoare de studio, boxe de calculator, boxe de laptop, samd. Oricare dintre acestea si adaptarea urechii la sunetul lor influenteaza MULT mai mult sunetul decat un ultim bit… Ca sa nu vorbesc de o deplasare a capului cu 5 cm catre stanga sweet spot-ului de 1cm2 dintre monitoare.

Mihai Toma

Steinberg lanseaza Cubase 6

Postat de on ianuarie 21, 2011  |  2 Comments

De cateva zile s-a inchis editia de 2011 a deja celebrului si tot odata cel mai mare targ de instrumente muzicale si echipamente pro audio din lume,  targul NAMM Show in Annaheim, California. Aici producatorii isi lanseaza cele mai noi creatii din domeniu.

La editia asta s-a lansat si cea mai noua versiune de Cubase si anume Cubase 6 si Cubase  Artist 6. Acuma in Cubase beneficiati de un numar nelimitat de piste audio si MIDI, suporta pana la 256 intrari, are un sampling rate de 192 kHz si multe feature-uri noi. Aceste 2 variante sunt deja disponibile in magazinele online Steinberg precum si la dealerii autorizati. Preturile de lista la aceste 2 variante sunt undeva in jur de 600 euro pentru varianta Cubase 6 si in jur de 300 euro pentru varianta Artist 6.

Mai multe detalii pe site-ul Steinberg.net

Cockos REAPER

Postat de on mai 19, 2010  |  12 Comments

Una dintre cele mai interesante aparitii noi pe piata DAW-urilor (desi prima varianta a aparut in anul 2005) este Cockos REAPER. Un DAW produs de catre destul de amuzant denumita companie Cockos, al carui fondator este Justin Frankel (cel care a conceput Winamp-ul in vremuri de demult), REAPER (Rapid Environment for Audio Production, Engineering and Recording) a devenit incetul cu incetul un jucator important in domeniul DAW-urilor.

splash

Primul meu contact cu REAPER-ul a fost in anul 2007, cand, enervat de multiplele lipsuri ale Cubase-ului, DAW-ul pe care lucram deja de vreo 5 ani, am inceput sa caut alternative viabile. Din principiu am sarit Nuendo-ul (s-ar putea sa se observe o oarecare repulsie fata de Steinberg pe parcursul articolului, pentru care imi cer scuze in avans), la variante LE sau M-Powered de Protools nu aveam acces la vremea respectiva, Cakewalk-ul nu imi placuse vreodata, nu aveam Mac pentru a incerca Logic-ul (si nu stiam de varianta si pentru PC), implicit am ajuns sa “testez” REAPER-ul.

Conform counter-ului de ore de utilizare din splash screen-ul initial, dupa 15 de ore petrecute cu REAPER-ul parcursul unui weekend, deja capatasem o mai mare usurinta la utilizare decat software-ul Steinbergian antementionat, in care aveam sute sau mii de ore lucrate. Inca un lucru care m-a impresionat este faptul ca trecerea a fost aproape lipsita de orice dificultati – intr-un singur weekend puteam face 99% din tot ce stiam sa fac in Cubase, si invatasem deja o serie de functionalitati suplimentare care nici la ora actuala nu a fost implementate in cea de-a 5-a versiune a Cubase-ului.

Functionalitate de baza

Ca si restul DAW-urile alternative REAPER beneficiaza de o serie de facilitati standard, cum ar fi: suportul ASIO, VST, DirectX si Rewire.

Unul dintre factorii cruciali care il separa de restul competitorilor este faptul ca functionalitatea sa poate fi customizata pana la cel mai mic amanunt, permitand utilizatorilor sa-si formeze propriul workflow. Cu toate acestea, mie personal nu mi s-a parut genul de software care sa aiba o curba de invatare si o obligativitate de ajustare a workflow-ului abrupta – eu totusi folosesc 90% dintre shortcut-urile si macro-urile standard implementate, avand un numar destul de redus de scurtaturi “proprii”.

Specific REAPER-ului este faptul ca exista un singur tip de canal, generic, care poate servi si drept canal audio, MIDI, folder track, grup, bus sau canal de efecte – sau combinatii dintre acestea. Unul dintre exemplificarile utilitatii acestui concept este drum replacement-ul:

–        pe insert-ul de efecte al unui track audio de toba mare, sa zicem, se trece un ReaSampleOmatic (o varianta de VST audio-to-MIDI, integrat in pachetul de plug-in-uri cu care vine Reaper)

–        iesirea sa MIDI intra direct intr-un posibil sampler VSTi (Kontakt, sa zicem)

–        iesirea audio a Kontakt-ului este procesata ulterior, tot pe insert-ul aceluiasi track

Desi acest lucru pare destul de dificil de controlat, si posibil infricosator (cel putin mie conceptul asa mi-a parut, inainte de a apuca sa lucrez putin cu el), este de fapt un excelent mod de imbunatatire a workflow-ului care nu incomodeaza cu absolut nimic, datorita modului in care este implementata routarea.

Routarea

Aceasta este ceea ce eu consider punctul forte REAPER-ului, atat ca si metoda de imbunatatire a workflow-ului, cat si ca si unealta de creatie, prin multiplele posibilitati de routare paralela, seriala si orice alta varianta imaginabila a semnalului.

routare

Practic, in 30 de secunde poti schimba complet orice routare a semnalelor de intrare (fie ele audio, MIDI, ReaRoute – o varianta de Rewire proprietara Cockos) catre track-urile proiectului, iar ulterior al canalelor catre bus-uri si al acestora catre iesiri (fie ele virtuale sau hardware), samd. Fiecare dintre canalele audio au fost trimise (prin send-uri, in exemplul de mai sus) catre bus-uri (fiecare dintre ele putand avea insert-uri, send-uri, si eventual chiar si track-uri audio/MIDI), iar bus-urile au fost routate prin master/parent la canalul aflat cu un etaj superior in ierarhie de track-uri, pana la master bus. Cu toate ca acesta este un exemplu foarte simplist de aplicare a matricii de routare, din cate stiu nici macar acesta posibilitate nu exista decat in functionalitatea a extrem de putine alte DAW-uri.

Incuibarea folder-elor (nesting-ul)

Luand in considerare faptul ca Reaper-ul are posibilitatea de incuibare al folderelor, routarea de mai sus se putea face intr-o modalitate cu mult mai simpla si mai naturala, din punctul meu de vedere:

nesting

Practic, bus-ul de tobe si cel de overhead-uri (OH) este in acelasi timp si folder track. Astfel, prin folosirea trimiterii de master/send, am format in acelasi timp si bus-uri audio si am organizat structura proiectului, pentru un workflow cat mai rapid.

Engine-ul audio

REAPER beneficiaza de un engine audio pe 64 de biti adancime – cred ca primul DAW care a implementat acest lucru. Deasemenea, suportul multiprocesor este unul dintre cel mai bine implementate de pe piata, ducand la o utilizare mai eficienta a procesoarelor si beneficiind la maxim de puterea de calcul a PC-ului (sau a Mac-ului, de cateva versiuni incoace) proriu.

Cu toate acestea, stabilitatea sa este exemplara: cu cateva mici exceptii, pe care le voi mentiona ulterior, in aproape 3 ani de lucru destul de intens cu REAPER-ul nu am avut un singur crash. Practic, este singurul DAW cu care am avut curajul sa ies in conditii de concerte live, atata pentru inregistrari multi-track (pe un laptop vechi de 5 ani), cat si ca si folosire a sa ca si procesor de efecte (gate-uri, compresii, samd) prin intermediul insert-urilor mixerului de scena si a Audiofire-ului propriu.

Theme-uri si skin-uri

Unul dintre motivele pentru care cineva care incearca pentru prima oara REAPER-ul ar putea sa se “sperie” de el este faptul ca, din punct de vedere vizual, nu este chiar atragator. Desi modul in care a fost implementat ca si aranjare pe ecran este foarte facil la lucru, nu spune foarte multe din punct de vedere estetic.

Pentru a le sari in ajutorul acestora, REAPER oferta posibilitatea de customizare pana la ultima virgula a modului in care acesta apare pe ecran – de la culori si pana la formele butoanelor. Desi in principiu nu pare sa fie mare lucru, mie mi se pare foarte important sa ai un skin care sa serveasca concomitent cele doua aspecte ale workflow-ului care sunt influentate direct de catre aspectul vizual: sa nu oboseasca ochiul deloc (Cubase-ul dupa 10 ore de stat in fata lui imi da, literamente, dureri de cap) si iti fie foarte usor sa gasesti butonul sau faderul dorit, chiar daca raportul dintre dimensiunile monitorului sau monitoarelor si rezolutia la care le folosesti nu este cel mai indicat. Nu foarte surprinzator, skin-ul preferat de mine este copiat dupa o varianta de Protools!

Update-uri rapide

Spre deosebire de modul in care alti software developeri trateaza bug report-urile si feature request-urile de la utilizatori, cei de la Cockos au un termen de raspuns extrem de redus, timpul de la mentionarea unui bug si pana la un update poate fi chiar si doar de cateva ore (in cazul in care este vorba de un bug important).

Imbunatatiri de continut aduse software-ului pot sa apara o data la cateva update-uri, adica o data la cateva saptamani; privind retrospectiv istoricul update-urilor majore (VCA-grouping-ul, de exemplu), macar o data la jumatate de an vor aparea si acestea.

Partea goala a paharului

Dupa cum am mentionat mai sus, exista si anumite inconveniente… Cel mai dureros pentru mine este faptul ca nu se comporta foarte bine cu un numar ridicat de placi DSP, principalul inamic fiind UAD-urile. De exemplu pe un calculator care avea 2 UAD-1, un Powercore PCIe si unul Firewire, precum si un Duende Firewire, apareau probleme destul de mari legate de nesincronizarea dintre driverul ASIO si REAPER, la o incarcare ridicata a acestora (mai mult 70% din puterea fiecareia). Atata timp cat nu foloseam deloc placa UAD, situatia era considerabil mai buna – cu toate acestea, este un punct in minus pentru cei care folosesc din greu placile DSP.

Al doilea aspect negativ este faptul ca un numar redus de plug-in-uri (aviz in special celor care folosesc software “try-before-you-buy” de la AiR, de exemplu) nu sunt functionale (SSL LMC-1, din cate mai tin minte, si partial Flux Stereo Tool), uneori putand duce si la crash-uri, in cazul folosirii sau instalarii lor.

Unul dintre lipsuri ar putea fi considerat de catre unii si inabilitatea de a lucra cu partituri, Cubase-ul si Nuendo dispunand de aceasta facilitate, drept exemplu. Pe de alta parte, Finale-ul mi se pare un software considerabil mai bun, iar costul total al unui pachet Finale+REAPER este aproximativ egal cu pretul unui alt DAW care sa aiba amandoua optiuni.

Concluzii

Luand in considerare ca pentru 60$ (pretul licentei pentru software-ul complet, dar cu o licenta care permite o cifra de afaceri de pe urma sa de maxim 20000$/an – arhisuficient pentru un home/project studio din Romania) poti beneficia de full-PDC (compensarea latentei VST-urilor), un engine audio extrem de stabil pe 64 de biti si un workflow foarte rapid, totul intr-un pachet de nici 5Mb, s-ar poate considera ca DAW-urile consacrate vor avea un pic de lucru pentru a-si mentine pozitia.

Mihai Toma.