terça-feira, 19 de abril de 2011

O formato SFZ

O que é o formato sfz?
 
O sfz é um formato de arquivo que define a forma como se encontra organizada uma coleção de samples.


O objetivo por trás do formato sfz é oferecer uma forma gratuita, simples, minimalista e expansível para poder organizar, distribuir e utilizar samples áudio com a maior qualidade e flexibilidade possível.   

Um arquivo no formato sfz não poder ser reproduzido sem o leitor freeware sfz.

Os criadores da soundware, software e hardware podem criar, utilizar e distribuir arquivos em formato sfz de uma forma gratuita para propósitos gratuitos ou comerciais.



Algumas das caraterísticas do formato sfz incluem: 

·        Samples com suporte para qualquer profundidade de bit (8/16/24/32-bit) mono ou stereo.
·        Samples com qualquer samplerate (i,e 44.1k, 48k, 88.2k, 176.4k, 192k, 384k).
·        Samples comprimidos. Pode combinar samples comprimidos e não comprimidos.
·        Samples em loop
·        Unlimited keyboard splits and layers.
·        Unlimited velocity splits and layers.
·        Zonas ilimitadas para reprodução de samples baseadas em controladores MIDI ou geradas internamente.
·        Reproduz samples com a norma MIDI.

De que forma é estruturado o formato sfz?

O formato sfz é uma coleção de arquivos de samples mais um ou múltiplos arquivos de definição sfz. Estas estruturas que contém múltiplos arquivos são apelidadas de monolíticas. 

Foram seleccionadas duas espécies de arquivos de samples para serem incutidos no formato sfz: um formato não comprimido PCM (arquivos áudio standard do Windows - .WAV) e um formato "royalty free compressed" de qualidade ajustável (arquivos codificados off-vorbis) 

A inclusão de um formato comprimido permite aos criadores de samples e de soundware, criarem arquivos de demonstração ou de preview num pacote pequeno para que possam ser transferidos usando o mínimo de largura de banda mas mantendo toda a sua funcionalidade.

Ambos os formatos são 100% gratuitos para que se possam criar leitores para os reproduzir sem verbas fixas ou por cópia. Estes podem também ser distribuídos de forma gratuita na Internet (desde que os conteúdos dos arquivos estejam cobertos por leis de copyright) 

Cada arquivo sfz pode representar um só ou uma coleção de instrumentos. Um instrumento é definido como uma coleção de regiões. As regiões incluem as definições dos controles input, dos samples (arquivos wav/ogg) e os parâmetros de performance.

Como são criados os arquivos de definição sfz?

Os arquivos de definição sfz são simples arquivos de texto, consequentemente pode ser criado por qualquer editor de texto (Word, notepad, etc).
Porquê "non-monolithic"?

Enquanto que ambos os formatos "monolithic" e "non-monolithic" possuiam as suas vantagens e desvantagens, houve diversas razões para a escolha do formato de sample "non-monolithic". Quer os motivos tecnológicos quer os motivos concepcionais não podem ser separados, por isso aqui está uma explicação mais básica.   

O motivo mais forte é a limitação de tamanho por parte de um arquivo "non-monolithic" em discos formatados em FAT32. Os samples hoje em dia estão-se a tornar realmente grandes, pois contém milhares de samples individuais dentro de cada instrumento, os quais são ativados através de diferentes combinações de input control. 

Os samples que possuam uma elevada resolução (samples de 24-bit) e sample rate bastante alta (96kHz, 192kHz) fazem com que os arquivos se tornem ainda maiores. No caso de um formato "non-monolithic", continua-se a aplicar as limitações mas neste caso aplica-se apenas a cada sample e não ao somatório de todos eles, tornando o limite virtualmente impossível de atingir. 

Embora esta limitação não se aplique para partições NTFS, esta forma de partição é menos eficiente do que FAT32, em termos de performance de "raw disk" para aplicações de streaming. 

Editar um único sample num arquivo do tipo "monolithic" implica carregar todo o arquivo e após edição, gravá-lo na sua totalidade para o disco. Quando a coleção é grande o tempo poupado em operações de carregamento e gravação permite-lhe ganhar muito tempo.

De qualquer forma, assim que a estrutura do formato esteja completamente implementada a opção de incorporar o formato "monolithic" no formato sfz não está descartada. Pequenos sets de som (ou utilizadores de NFTS) poderão optar entre os dois formatos de acordo com as suas necessidades.   

Porque não XML?

O XML foi de fato a primeira escolha como arquivo de definição sfz, principalmente devido á simplicidade do ponto de vista do desenvolvimento, já que o código tanto para o parser como para o transation XML já se encontrar disponível. 

No entanto, XML foi desenhado com o propósito de trocar dados através da web, ou seja, músicos, leitores, compositores, criadores de software áudio assim como técnicos de som na sua generalidade não estão familiarizados com o XML.

Sendo assim, como um formato universal para troca de informação e que seja ainda compatível com varias aplicações, o XML é ineficiente, além de mais editar um arquivo XML requer um pouco mais de conhecimentos técnicos.

A maioria das funcionalidades de um arquivo sfz, podem ser encontradas dentro do mesmo. Para isso terá apenas de ler o seu conteúdo.
Existe um editor dedicado apenas para sfz?

Por parte da RGC áudio ainda não se encontra disponível agora nem tão cedo se espera a criação de um. Contudo a RGC áudio encontra-se a trabalhar com diversos criadores de conversores de samples de forma a implementar o formato sfz nos seus conversores e editores.

A natureza deste formato permite a criação de instrumentos com o auxílio de outros softwares, como folhas de cálculo, processadores de texto, linguagens simple-scripiting e outras aplicações.
Como se define um instrumento? 

O componente base de um instrumento é a região. Um instrumento é definido por uma ou mais regiões. Múltiplas regiões podem ser organizadas em grupos. Os grupos permitem parâmetros comuns para múltiplas regiões.

Uma região pode incluir três componentes principais: a definição de um sample, um conjunto de controlos de input e um outro grupo de parâmetros de performance.
Sample 

O código op do sample define qual arquivo a ser lido quando a região está definida para tocar.
Se um código op não estiver disponível na região, esta irá tocar o sample definido no último grupo. Se não houver um ultimo grupo definido ou se o grupo anterior não especificar um código op de sample, a região será ignorada.
 
 
Para saber mais:
http://www.rgcaudio.com/sfzformat.htm
http://www.drealm.org.uk/sfz/

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.