Bu Twitter resim kodlaması mücadelesinin ses sürümüdür .
En az bir dakikalık müziği 140 bayt veya daha az yazdırılabilir UTF-8 kodlu metinde temsil edebilecek bir ses sıkıştırma formatı tasarlayın .
Aşağıdaki 3 argümanı alan bir komut satırı programı yazarak uygulayın (programın adından sonra):
- Dize
encode
veyadecode
. - Giriş dosya adı.
- Çıktı dosya adı.
(Tercih ettiğiniz programlama dili, komut satırı argümanlarını kullanma yeteneğine sahip değilse, alternatif bir yaklaşım kullanabilirsiniz, ancak cevabınızda açıklamanız gerekir.)
encode
İşlem, sıkıştırılmış “tweet” biçimine seçtiğiniz ses biçiminden dönüştürür ve decode
operasyon orijinal ses biçimine “tweet” biçiminden dönüştürür. (Elbette, kayıplı bir sıkıştırma uygulamanız beklenir, bu nedenle çıktı dosyasının aynı formatta girdiyle aynı olması gerekmez.)
Cevabınıza ekleyin:
- Programınızın kaynak kodu tam olarak. (Bu sayfa için çok uzunsa, başka bir yerde barındırabilir ve bir link gönderebilirsiniz.)
- Nasıl çalıştığının bir açıklaması.
- En az bir örnek, orijinal ses dosyalarına bir bağlantıyla, sıkıştırdığı “tweet” metni ve tweet'in kodunu çözerek elde edilen ses dosyası. (Cevaplayıcı, “adil kullanım” iddialarının telif haklarından sorumludur.)
kurallar
- Yarışma kurallarındaki boşlukları herhangi bir zamanda kapatma hakkını saklı tutarım.
- [24 Nisan] düzenlendi
encode
İşlevinizin (ve işlevinizin çıktısıdecode
) girişi için , aşağıdaki şekilde olsun, makul herhangi bir ortak ses biçimini kullanabilirsiniz:- Sıkıştırılmamış dalga biçimi, WAV gibi.
- MP3 gibi sıkıştırılmış dalga biçimi.
- MIDI gibi “Notalar” tarzı.
- Sıkıştırılmış "tweet" biçiminiz aslında giriş dosyasındaki sesleri kodlamalıdır. Yani, çıkış aşağıdaki türlerde do not saymak:
- Gerçek çıktının depolandığı konumu veren bir URI veya dosya yolu.
- Gerçek çıkışın blob olarak depolandığı bir veritabanı tablosunun anahtarı.
- Benzer bir şey.
- Programınız genel müzik dosyalarını sıkıştıracak şekilde tasarlanmalıdır , bu nedenle belirli örnek şarkınıza çok açık bir şekilde bağlı olan şeyleri yapmayın. Örneğin, “Pırıltı, Pırıltı, Küçük Yıldız” gösteriyorsanız, sıkıştırma yordamınız, do-do-so-la-so-so dizisi için belirli bir sembolü kodlamamalıdır.
- Programınızın çıktısı aslında Twitter üzerinden geçebilmeli ve bozulmadan çıkabilmelidir. Desteklenen tam karakterlerin bir listesine sahip değilim, ancak harflere, rakamlara, sembollere ve noktalamalara bağlı kalmaya çalışın; ve karakterleri, BIDI işaretleyicilerini veya bunun gibi diğer garip şeyleri birleştirmek için kontrol karakterlerinden kaçının.
- Birden fazla giriş gönderebilirsiniz.
Hakim kriterler
Bu bir popülerlik yarışmasıdır (yani çoğu net galibiyet kazanır), ancak seçmenlerin aşağıdakileri dikkate alması isteniyor:
doğruluk
- Sıkıştırıldıktan sonra şarkıyı hala tanıyabilir misin?
- Kulağa hoş geliyor mu?
- Hangi enstrümanların çalındığını hala anlayabiliyor musunuz?
- Sözleri hala tanıyor musun? (Bu muhtemelen imkansızdır, ancak biri başarırsa etkileyici olurdu.)
karmaşa
Örnek şarkının seçimi burada önemlidir.
- [24 Nisan Eklendi] Bu meydan okuma MIDI veya benzeri formatlarla en kolay olacak. Bununla birlikte, dalga biçimi tipi biçimlerle çalışması için fazladan çaba sarfederseniz, ekstra kredi almaya hak kazanır.
- Yapı nedir Elbette, bir dakikalık gereksinimi, yalnızca aynı 4 ölçümü rastgele sayıda tekrarlayarak yapabilirsiniz. Ancak daha karmaşık şarkı yapıları daha fazla puan hak ediyor.
- Format, bir kerede çalınan birçok nota işleyebilir mi?
Kod
- Mümkün olduğunca kısa ve basit tutun. Bununla birlikte, bu bir kod golf değildir, bu yüzden okunabilirlik karakter sayısından daha önemlidir.
- Zekice, karmaşık algoritmalar da, gelişmiş sonuç kalitesiyle haklı oldukları sürece tamamdır.