2010-07-10 15 views
8

मैं गिटार टैबलेट प्रदर्शित करने के लिए एक त्वरित फ्रंट एंड लिख रहा हूं। फ्रंट एंड फ्लैश में है लेकिन मैं टैब को कुछ मानव-पठनीय प्रारूप में स्टोर करना चाहता हूं। किसी को कुछ पता है जो पहले से मौजूद है? इसके बारे में कोई सुझाव कैसे है? एक विचार मैं कुछ stackoverflow पोस्ट पढ़ से मिला तो जैसे एक सख्त ASCII टैब प्रारूप का इस्तेमाल किया गया:गिटार टैबलेट डेटा प्रारूप

e||-1------3--------------0--|----2-------0--- 
B||--1-----3------------1----|----3-------0--- 
G||---2----0----------0------|----2-------1--- 
D||----3---0--------2--------|----0-------2--- 
A||----3---2------3----------|------------2--- 
E||----1---3----3------------|------------0--- 

यह फायदे हैं। मैं संरचना से बहुत सारी जानकारी प्राप्त कर सकता हूं (कितने तार, उनके ट्यूनिंग, नोट्स के सापेक्ष प्लेसमेंट) लेकिन यह थोड़ा वर्बोज़ है। मैं अनुमान लगा रहा हूं कि 'तार' पर भेजे जाने पर बहुत अच्छी तरह से संपीड़ित हो जाएगा।

अगर कोई गिटार टैब का वर्णन करने के लिए मौजूदा डेटा प्रारूप के बारे में जानता है तो मैं भी एक नज़र डालेगा।

संपादित करें:

मैं नोट करना चाहिए कि इस प्रारूप मेरे लिए 90% है और कभी अपने आप के अलावा अन्य किसी के द्वारा नहीं देखा गया हो सकता है। मैं टैब फ़ाइलों को लिखने का एक आसान तरीका चाहता हूं जो फ्लैश फ्रंट एंड में ग्राफिक्स के रूप में प्रदर्शित होंगे और मैं एक संपादक फ्रंट एंड लिखना नहीं चाहता हूं।

+0

मैं आपके प्रश्न में उदाहरण के सादे पाठ प्रारूप के साथ जाऊंगा। दिन में यह बहुत आम था, बिना किसी अतिरिक्त सॉफ्टवेयर के किसी भी कंप्यूटर पर काम करता है, और आसानी से प्रिंट करता है। –

उत्तर

4

ASCII tab प्रारूप देखें।इसके अलावा प्रारूप के महान वर्णन यहाँ है:

http://www.howtoreadguitartabs.net/

guitar tab format description (by howtoreadguitartabs.net)

+0

यह जो मैं सोच रहा हूं उसके करीब है। धन्यवाद। निश्चित नहीं है कि मैं किसी भी और सभी टैब का समर्थन करूंगा क्योंकि मैं अपने आप से प्रश्न में टैब लिख रहा हूं लेकिन मैं सबसे आम स्लर्स और प्रभावों को आजमा सकते हैं और प्राप्त कर सकता हूं। –

1

ये मानव पठनीय नहीं हैं:

सबसे आम स्वरूपों Guitar Pro (स्वामित्व) और PowerTab (फ्रीवेयर) कर रहे हैं। DGuitar और TuxGuitar गिटार प्रो प्रारूप के लिए ओपन सोर्स व्यूअर हैं। मुझे यकीन है कि उनके पास कहीं प्रारूप (कम से कम कोड में) के लिए प्रलेखन है।

एक सामान्य प्रारूप का उपयोग करने के लिए लाभ उन कार्यक्रमों के साथ टैब बनाने की आसानता होगी।

The Guitar प्रो 4 प्रारूप यहाँ http://dguitar.sourceforge.net/GP4format.html

+0

धन्यवाद, मैं उन दोनों में से पहले आया हूं लेकिन मुझे मालिकाना बाइनरी प्रारूप में फंसने का विचार पसंद नहीं है। गिटार प्रो एएससीआईआई को निर्यात करता है, इसलिए शायद मैं यह देख सकूं कि ऐसा कुछ कैसे दिखता है और आयात करता है। मैं किसी भी कार्यक्रम के रूप में जटिल के करीब कुछ भी करने की कोशिश नहीं कर रहा हूं। –

2

ASCII निर्यात वर्णन किया गया है के लिए एक महान सुविधा होगी, लेकिन ASCII का उपयोग कर आंतरिक डेटा प्रारूप के रूप में एक अच्छा विचार नहीं है। उदाहरण के लिए, नोट ड्यूरेशन को व्यक्त करना बेहद मुश्किल होगा (आप 32 ट्रेंड या यहां तक ​​कि 16 वां स्टोर करेंगे ?, ट्रिपलेट्स का उल्लेख न करें ...), इसलिए उन फ़ाइलों को पार्स करना बेहद मुश्किल होगा। इसके अलावा, उपयोगकर्ता आपके ऐप के बाहर बनाई गई ASCII फ़ाइलों को लोड करने का लुत्फ उठाएंगे, जो असफल होने की संभावना है।

समेकित करने के लिए, मैं या तो मौजूदा प्रारूप का पुन: उपयोग करने का प्रयास करने की सलाह दूंगा या यदि यह संभव नहीं है तो स्वयं का आविष्कार करें। आप इसके लिए एक्सएमएल का उपयोग करने का प्रयास कर सकते हैं।

संपादित करें: डीजीयूटर के अलावा, मुझे टक्सगुइटर और केजीइटर के बारे में पता है, जो गिटार प्रो फ़ाइलों का समर्थन करता है। आप उनके स्रोतों को देख सकते हैं या अपने लेखकों से फ़ाइल स्वरूपों के बारे में पूछ सकते हैं। मुझे लगता है कि ओपन सोर्स पावरटैब-टू-एएससीआईआई कनवर्टर भी है।

1

Supported file formats in TuxGuitar देखें।

TuxGuitar गिटार टैब पढ़ने, लिखने और बजाने के लिए ओपन-सोर्स मल्टीप्लाफ्फ़्ट सॉफ्टवेयर है।

यह उल्लेख गिटार प्रो और PowerTab प्रारूप का समर्थन करता है, और यह भी अपने स्वयं के TuxGuitar (.tg) स्वरूप है।

1

आप बैकएंड डेटा संरचना की जरूरत है मानव पठनीय रूप में रहने के लिए शायद मैं इसे एक CDATA में XML के अंदर रहना होगा। इसे गीत/कलाकार/शीर्षक जानकारी के साथ एक संबंधपरक डेटाबेस में डाला जा सकता है और खोजने योग्य हो सकता है। एक अन्य विकल्प इसे ज़िप्ड टेक्स्ट फाइलों के रूप में सहेजना है और डेटाबेस में उन फ़ाइलों के लिंक डालना है जो मुख्य कलाकार जानकारी के साथ अभी भी एसक्यूएल द्वारा खोजे जा सकते हैं।

0

मैंने टैब प्रदर्शित करने के लिए एक त्वरित उपयोगिता लिखी। निजी इस्तेमाल के लिए। आप खुशी से इस्तेमाल किए गए आंतरिक प्रारूप को ले सकते हैं।

मैं एक बहुत ही सरल स्ट्रिंग आधारित प्रारूप का उपयोग करता हूं। तीन महत्वपूर्ण संरचनाएं हैं।

कॉलम, आउटपुट टैब में एक लंबवत कॉलम - सभी नोट्स एक साथ खेला जाता है। बार, कॉलम का संग्रह मोटीफ, बार्स

एक कॉलम ': # |: # | *: # 'जहां प्रत्येक * एक स्ट्रिंग संख्या है और प्रत्येक # एक झुकाव संख्या है। यदि आप एक तार बज रहे हैं तो आप प्रत्येक स्ट्रिंग को अलग करते हैं: '|'

एक बार '[,, -, *]' जैसा दिखता है, जहां प्रत्येक * एक कॉलम है। ए - एक खाली कॉलम इंगित करता है जहां कोई नोट नहीं खेला जाता है।

एक मोटीफ दिखता है कि वापस कई बार वापस चल रहे हैं। उदाहरण के लिए

"[1:5,-,3:7,-,3:5,-,3:7,-,-,3:5,3:7,-,1:8,-,1:5]" 

    e||---------------|---------------|| 
    B||---------------|---------------|| 
    G||---------------|---------------|| 
    D||--7-5-7--57----|--7-5-7--57----|| 
    A||---------------|---------------|| 
    E||5-----------8-5|5-----------8-5|| 


"[-,-,1:3|2:2|3:0|4:0|5:3|6:3,-,-][-,-,3:0|4:2|5:3|6:2,-,-]" 

    e||--3--|--2--|| 
    B||--3--|--3--|| 
    G||--0--|--2--|| 
    D||--0--|--0--|| 
    A||--2--|-----|| 
    E||--3--|-----|| 
संबंधित मुद्दे