Tux Guitar

Open Discussion

Subject Fret Light   Post Reply Post New Topic



Author Message
PolySleep
Post: Dec 17th 2008 at 12:50 PM   Post Reply

What about the ability to interface with a Fret Light Guitar?


Back to Top
 
Johnny
Post: Dec 18th 2008 at 4:20 AM   Post Reply

It should be quite easy to implement on TuxGuitar's side.
But FretLight API (for communicating with a guitar) is closed. They should allow us to use it and give specification.

And since it's a commercial product, it would be very silly to make such an improvement for free. But I guess they might be very interested!


Back to Top
 
nicolas [at] vizille.net
Post: Dec 19th 2008 at 9:38 PM   Post Reply

Hi guys !
I'm working on my own TuxGuitar-powered DIY "fretlight-like" guitar.
I allready wrote the driver, drilled the neck, solded the LEDS...
Now waiting for last parts delivery to complete it.

Should be working on begin-mid-january.

I'll keep you up to date.

Haven't so much time to explain right now, but contact me : nicolas [at] vizille.net

Maybe I could help you.

I can, and I have much free time, reverse engineer the fretlight guitar. (-> make a native tuxguitar plugin ?)


Back to Top
 
nicolas [at] vizille.net
Post: Dec 19th 2008 at 9:57 PM   Post Reply

Some pics...

more than 100 holes in the neck, filled with leds :
http://img.rock-hosting.com/view.php?img=19122008009h2y.jpg
(yes, I know, I'm a barbarian ! poor guitar !)

leds closeup :
http://img.rock-hosting.com/view.php?img=1912200800442q.jpg

solderings :
http://img.rock-hosting.com/view.php?img=19122008006h9z.jpg

leds simulation:
http://img.rock-hosting.com/view.php?img=captureJPGl5s.jpg

enjoy !


Back to Top
 
Johnny
Post: Dec 19th 2008 at 10:19 PM   Post Reply

I already wrote email to FretLight proposing them a TuxGuitar plugin.

They didn't respond yet (it's been 24 hours).

Anyway we can work out driver for your guitar...


Back to Top
 
nicolas [at] vizille.net
Post: Dec 19th 2008 at 10:39 PM   Post Reply

I don't think Fretlight corp. will gives us API's specification. They have a real buisness selling tabs in their own format.

A GP-compatible tab reader for fretlight will kill this buisness. (and will increase TxG downloads!)

But we can reverse-engineer the API. It should not be so difficult. Simply need to sniff communications between soft and guitar. Dialog protocol shoul not be complicated.

Does anyboy own a FretLight ?


Back to Top
 
nicolas [at] vizille.net
Post: Dec 19th 2008 at 11:02 PM   Post Reply

I contacted them, they reply me :
- They won't give API specs to us for free
- They'll sell it to us IF OUR PROJECT IS INTERESTING FOR THEM


Fretlight guitars are EXPENSIVE. And their policy is worse.

Is there any patent on leds guitars ?

If my project is successfull, I'll sell low cost Tuxguitar-powered leds guitars.

500$ for not being able to open Guitar pro tabs... Bullshit !


Back to Top
 
Johnny
Post: Dec 20th 2008 at 10:10 AM   Post Reply

Hell, why did they reply to you and not to me? :)

Well I told them they are lacking some versatile software, and that is true. If they think they can earn lots from selling single tabs, they are wrong.

About reverse engineering, it is possible and most probably legal, but why should I do it for free, just to boost their product selling...?


Back to Top
 
iamkevinv [at] gmail.com
Post: Feb 19th 2009 at 3:10 AM   Post Reply

Hey everyone... Just wondering if anyone followed through with any decoding of their fretlight guitar communications? Cheers.


Back to Top
 
nicolas [at] vizille.net
Post: Oct 21st 2009 at 10:43 PM   Post Reply

My Tuxguitar fretlight is now fully functionnal.

I'll soon set-up a website for selling lighted-guitars / kits...

And, of course:

- free tutorial about how to make your own
- downloads
- my tuxguitar source code


see you soon on http://www.lighty.fr

nico


Back to Top
 
Julian
Post: Oct 24th 2009 at 12:13 PM   Post Reply

nicolas, did you make sure the plugin is working with current SVN version ?
let me know if you need help testing the plugin.


Back to Top
 
nicolas [at] vizille.net
Post: Oct 28th 2009 at 6:08 PM   Post Reply

Plugin is working well with 1.1 and october's 21th svn.

It waits for a TGRedrawListener, and get the current beat to extract note/string. (just like the fretboard)
(I'm not sure TGRedrawListener is the cleaner way, but it's working)

Then it sends the information using serial-over-usb (using lib rxtx).

I'm now working on an user-friendly interface for automatically choosing the right serial port, on both windows, osx and linux...

I'll send you my source code as soon as I'll finish cleaning it.


Back to Top
 
Julian
Post: Oct 28th 2009 at 6:52 PM   Post Reply

Yes i think that TGRedrawListener is your best choice, since your hardware will receibe events at same time as the mail screen.

If it would be something like a keyboard, the best option would be to implements a MidiReceiver, but as it is MIDI, it don't have some info that you need such as string -> fret


Back to Top
 
illumin8
Post: Dec 19th 2009 at 2:50 AM   Post Reply

Hi,

I'm the founder of splashplay.co.uk and i've developed a revolutionary light panel for the guitar (http://splashplay.co.uk/guitar-tuition-light-panel.html). You can see a video here (http://splashplay.co.uk/youtube-guitar-videos.html), where i place it around the fretboard.

I'm interested if you guys had any joy with FretLight, as their solution is too expensive.

Please use the feedback form (http://splashplay.co.uk/feedback/) to contact me, or i'll check back here to see if anyone responds.

p.s. i was also a top 50 finalist in Googl'es first round Android competition. Ask me any questions and i'll help in any way possible.


Back to Top
 
Mohamed
Post: Feb 11th 2010 at 7:16 AM   Post Reply

Found that API for the smartlight guitar (prior version that used serial port)

SmartLIGHT® Communications Interface Specification
13 June 1996 version 1.0

1.0 Serial Port Configuration

Baud Rate: 9600
Data Bits 8
Stop Bits: 1
Parity: None


2.0 Data Definitions



MSB

7

6

5

4

3

2

1 LSB

0

Bit 7: 0 = Guitar #1 / 1 = Guitar #2
Bit 6: 0 = Data / 1 = Command
Bits 5-0: Data / Command


3.0 Command Definitions

Commands will be given in Hexadecimal. They are 6 bits long, consisting of data bits 5-0. Bit 6 must be set to 1 for the commands to be recognized by the Guitar and Bit 7 must be set to the Guitar number.


00H Reset Guitar - set all LEDs to 0, restore default scan rate.
01H Download new dataset to Guitar, 24 data bytes will follow.
02H Set refresh rate of LED display, 1 data byte will follow.
03H Reserved for future use.
04H Turn off a single LED, 2 data bytes will follow.
05H Turn on a single LED, 2 data bytes will follow.
06H - 3FH Reserved for future use.


4.0 Dataset Command Definition

The Dataset command requires 24 data bytes to follow the command. Bit 6 must be set to 0 for all of the data bytes. Bit 7 must be set to the guitar number. Following is the order of bytes for the data:


Data Byte Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
1 A6 A5 A4 A3 A2 A1
2 n/a A11 A10 A9 A8 A7
3 A#6 A#5 A#4 A#3 A#2 A#1
4 n/a A#11 A#10 A#9 A#8 A#7
5 B6 B5 B4 B3 B2 B1
6 B12 B11 B10 B9 B8 B7
7 C6 C5 C4 C3 C2 C1
8 n/a C11 C10 C9 C8 C7
9 C#6 C#5 C#4 C#3 C#2 C#1
10 n/a C#11 C#10 C#9 C#8 C#7
11 D6 D5 D4 D3 D2 D1
12 n/a n/a D10 D9 D8 D7
13 D#6 D#5 D#4 D#3 D#2 D#1
14 n/a n/a D#10 D#9 D#8 D#7
15 E6 E5 E4 E3 E2 E1
16 E12 E11 E10 E9 E8 E7
17 F6 F5 F4 F3 F2 F1
18 n/a F11 F10 F9 F8 F7
19 F#6 F#5 F#4 F#3 F#2 F#1
20 n/a F#11 F#10 F#9 F#8 F#7
21 G6 G5 G4 G3 G2 G1
22 n/a G11 G10 G9 G8 G7
23 G#6 G#5 G#4 G#3 G#2 G#1
24 n/a G#11 G#10 G#9 G#8 G#7

To turn a LED on, the bit in the dataset must be set to 1. A 0 will turn off the LED. An n/a indicator in the chart means there is no physical LED present in the Guitar for the bit, it will be ignored by the Guitar.

5.0 Set Refresh Rate Command

The Refresh Rate command requires 1 data byte to follow the command. Bit 6 must be set to 0 for data byte. Bit 7 must be set to the guitar number. The other six bits should be set according to the following formula: The base refresh rate is 60 Hz. This corresponds to a data byte of 0. The maximum refresh rate is 90 Hz. This corresponds to a data byte of 3Fh. Each increment of 1 in the data byte is equal to approximately a 1/2 Hz increment in the refresh rate. So, for a rate of 70 Hz, the data byte should be 14H. This is for testing purposes only and will not be available in the production unit.


Turn On/Off Single

The Turn On/Off Single LED command requires 1 data byte to follow the command. Bit 6 must be set to 0 for all data bytes. Bit 7 must be set to the guitar number. Following is the order of bytes for the data:


Data Byte Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
1 n/a n/a Y4 Y3 Y2 Y1
2 n/a n/a Z4 Z3 Z2 Z1

Y4 Y3 Y2 Y1 Octave
0 0 0 0 1
0 0 0 1 2
0 0 1 0 3
0 0 1 1 4
0 1 0 0 5
0 1 0 1 6
0 1 1 0 7
0 1 1 1 8
1 0 0 0 9
1 0 0 1 10
1 0 1 0 11
1 0 1 1 12

Z4 Z3 Z2 Z1 Note
0 0 0 0 A
0 0 0 1 A#
0 0 1 0 B
0 0 1 1 C
0 1 0 0 C#
0 1 0 1 D
0 1 1 0 D#
0 1 1 1 E
1 0 0 0 F
1 0 0 1 F#
1 0 1 0 G
1 0 1 1 G#

7.0 Special Notes

To update both guitar’s displays together, you can interleave the data & command bytes. Send a Dataset Command to Guitar 1 (without sending the data bytes) then send a Dataset Command to Guitar 2 (without sending the data bytes). Now send the first byte of data to guitar 1, then the first byte of data to guitar 2 & continue until done.

Sending a new command to a guitar before completing the sending of all data bytes for a previous command will terminate the previous command.

Copyright © 1996, 1997, 1998 Optek Music Systems, Inc.
All Rights and Ownership Reserved and Retained by Optek


Back to Top
 
Again formatted verion smartlight API
Post: Feb 11th 2010 at 7:22 AM   Post Reply


SmartLIGHT face="Times New Roman Special G1"> face="Times New Roman Special G1">? Communications
Interface Specification


13 June 1996 version 1.0


1.0 Serial Port Configuration



Baud Rate: 9600


Data Bits 8


Stop Bits: 1


Parity: None


?


2.0 Data Definitions


?













MSB



7



?


6



?


5



?


4



?


3



?


2



?


1


LSB



0


Bit 7: 0 = Guitar #1 / 1 = Guitar #2


Bit 6: 0 = Data / 1 = Command


Bits 5-0: Data / Command


?


3.0 Command Definitions


Commands will be given in Hexadecimal. They are 6 bits long, consisting of
data bits 5-0. Bit 6 must be set to 1 for the commands to be recognized by the
Guitar and Bit 7 must be set to the Guitar number.

























00H


Reset Guitar - set all LEDs to 0, restore default scan
rate.


01H


Download new dataset to Guitar, 24 data bytes will
follow.


02H


Set refresh rate of LED display, 1 data byte will
follow.


03H


Reserved for future use.


04H


Turn off a single LED, 2 data bytes will follow.


05H


Turn on a single LED, 2 data bytes will follow.


06H - 3FH


Reserved for future use.


?


4.0 Dataset Command Definition



The Dataset command requires 24 data bytes to follow the command. Bit 6 must
be set to 0 for all of the data bytes. Bit 7 must be set to the guitar number.
Following is the order of bytes for the data:












































































































































































































Data Byte


Bit 5


Bit 4


Bit 3


Bit 2


Bit 1


Bit 0


1


A6


A5


A4


A3


A2


A1


2


n/a


A11


A10


A9


A8


A7


3


A#6


A#5


A#4


A#3


A#2


A#1


4


n/a


A#11


A#10


A#9


A#8


A#7


5


B6


B5


B4


B3


B2


B1


6


B12


B11


B10


B9


B8


B7


7


C6


C5


C4


C3


C2


C1


8


n/a


C11


C10


C9


C8


C7


9


C#6


C#5


C#4


C#3


C#2


C#1


10


n/a


C#11


C#10


C#9


C#8


C#7


11


D6


D5


D4


D3


D2


D1


12


n/a


n/a


D10


D9


D8


D7


13


D#6


D#5


D#4


D#3


D#2


D#1


14


n/a


n/a


D#10


D#9


D#8


D#7


15


E6


E5


E4


E3


E2


E1


16


E12


E11


E10


E9


E8


E7


17


F6


F5


F4


F3


F2


F1


18


n/a


F11


F10


F9


F8


F7


19


F#6


F#5


F#4


F#3


F#2


F#1


20


n/a


F#11


F#10


F#9


F#8


F#7


21


G6


G5


G4


G3


G2


G1


22


n/a


G11


G10


G9


G8


G7


23


G#6


G#5


G#4


G#3


G#2


G#1


24


n/a


G#11


G#10


G#9


G#8


G#7


To turn a LED on, the bit in the dataset must be set to 1. A 0 will turn off
the LED. An n/a indicator in the chart means there is no physical LED present in
the Guitar for the bit, it will be ignored by the Guitar.


5.0 Set Refresh Rate Command


The Refresh Rate command requires 1 data byte to follow the command. Bit 6
must be set to 0 for data byte. Bit 7 must be set to the guitar number. The
other six bits should be set according to the following formula: The base
refresh rate is 60 Hz. This corresponds to a data byte of 0. The maximum refresh
rate is 90 Hz. This corresponds to a data byte of 3Fh. Each increment of 1 in
the data byte is equal to approximately a 1/2 Hz increment in the refresh rate.
So, for a rate of 70 Hz, the data byte should be 14H. This is for testing
purposes only and will not be available in the production unit.


?



Turn On/Off Single


The Turn On/Off Single LED command requires 1 data byte to follow the
command. Bit 6 must be set to 0 for all data bytes. Bit 7 must be set to the
guitar number. Following is the order of bytes for the data:




























Data Byte


Bit 5


Bit 4


Bit 3


Bit 2


Bit 1


Bit 0


1


n/a


n/a


Y4


Y3


Y2


Y1


2


n/a


n/a


Z4


Z3


Z2


Z1


















































































Y4


Y3


Y2


Y1


Octave


0


0


0


0


1


0


0


0


1


2


0


0


1


0


3


0


0


1


1


4


0


1


0


0


5


0


1


0


1


6


0


1


1


0


7


0


1


1


1


8


1


0


0


0


9


1


0


0


1


10


1


0


1


0


11


1


0


1


1


12



















































































Z4


Z3


Z2


Z1


Note


0


0


0


0


A


0


0


0


1


A#


0


0


1


0


B


0


0


1


1


C


0


1


0


0


C#


0


1


0


1


D


0


1


1


0


D#


0


1


1


1


E


1


0


0


0


F


1


0


0


1


F#


1


0


1


0


G


1


0


1


1


G#



7.0 Special Notes


To update both guitar’s displays together, you can interleave the data &
command bytes. Send a Dataset Command to Guitar 1 (without sending the data
bytes) then send a Dataset Command to Guitar 2 (without sending the data bytes).
Now send the first byte of data to guitar 1, then the first byte of data to
guitar 2 & continue until done.


Sending a new command to a guitar before completing the sending of all data
bytes for a previous command will terminate the previous command.


Copyright ? 1996, 1997, 1998
Optek Music Systems, Inc.


All Rights and Ownership Reserved and Retained by Optek



Back to Top
 
Scott Janssen
Post: Sep 16th 2010 at 8:02 PM   Post Reply

There's a much easier way to do this. If you've purchased a FretLight guitar, it comes with the M-Player software, which is what plays MIDI files to light up the fretboard. Optek (the company that makes the FretLight guitar and M-Player software) sells songs in M-Player format for $2.99 each, so they're not too eager to allow you to create your own files. It can be done as follows, however:
1) Open the Tablature file in a tab editor (like TuxGuitar or Guitar Pro).
2) Make two copies of the guitar track. One will be played via M-Player through your computer's speakers, the other will light up the frets of the guitar.
3) Force the six strings to be played on MIDI channels 11-16, respectively.
4) Export as MIDI.
It's that simple. Here's the problem, though, manually going through the tab file and separating out the tab into six MIDI channels (one for each string) would be a time-consuming process. In Guitar Pro 5, there was a way (select the guitar track, click on the Tracks menu, select the Properties menu item, and check the "Force to channels 11-16 checkbox) to do this very quickly. In Guitar Pro 6, however, this functionality has been removed. Someone at FretLight suggested I try TuxGuitar. So, do any of you know how to get TuxGuitar to force the six guitar strings to channels 11-16? Thanks for your help!
Scott
PS - You can reach me at janssen@QA4U.com


Back to Top
 
Spitch
Post: Jan 20th 2011 at 7:18 PM   Post Reply

FYI Fretlight has the patent for all stringed light up instruments...


Back to Top
 
Mohamed
Post: Apr 8th 2011 at 2:50 PM   Post Reply

Guitar pro 6 is now Fretlight ready....


Back to Top
 
josx
Post: Aug 3rd 2011 at 9:05 PM   Post Reply

Where i can get nicolas code?


Back to Top
 
josx [at] interorganic.com.ar
Post: Aug 26th 2011 at 4:02 PM   Post Reply

Hi!
We have been working on a serial connection to a device like fretlights (based on guitarduino) . Here is the plugin code:
https://github.com/josx/Guitarra-Vas-a-Llorar/tree/master/TuxGuitar-Duino

Maybe it helps someone.


Back to Top
 
b4dc0d3r
Post: Aug 30th 2011 at 4:07 AM   Post Reply

Github does not support tarballs, I think. If you can put all the source in a download, that would help. Otherwise, I will try to pull a .diff - ut that sometimes has problems.


Back to Top
 
b4dc0d3r
Post: Sep 2nd 2011 at 3:03 AM   Post Reply

I installed git and got the source. It relies on gnu.io - and I think on RXTX libraries. Maybe I missed it, but it would help to list these as dependencies.

I'm compiling TuxGuitar as-is directly from the source code, consider it a clean install. So if there are other libraries needed, they are missing from the build file, or your OS assumes they exist where other OS might not have them. I do not mind adding these as-is, but I cannot build them as-is.


Back to Top
 
josx [at] interorganic.com.ar
Post: Sep 21st 2011 at 7:24 PM   Post Reply

Sorry about the delay, yes it uses RXTX libraries.
RXTX is multiplatform so there is no problem.
http://rxtx.qbang.org


Back to Top
 
Poleboy
Post: Nov 14th 2011 at 9:18 PM   Post Reply

Anybody still interested in routines to activate LEDs on Fretlight guitar? I blackboxed the USB output and produced my own working version of Fretlight M-Player. I now have routines for Fretlight LEDs.


Back to Top
 
Blizzard
Post: Nov 19th 2011 at 9:40 PM   Post Reply

Sounds interesting Poleboy. This could open up alot of possibilities. Please tell us more...


Back to Top
 
Poleboy
Post: Dec 6th 2011 at 1:30 AM   Post Reply

Looks like critical mass of interest is here.

Take control of your Fretlight guitar in ways that you never thought possible. Send any note, chord, text message or graphic image that you can dream up directly to the guitar's fretboard. Take control of the LEDs. If you have a Fretlight guitar then you are going to want this free software.

http://www.4shared.com/file/vyDovRQM/LED_Fretboard_Simulator.html


Back to Top
 
Blizzard
Post: Dec 11th 2011 at 8:10 PM   Post Reply

Poleboy, you're a genius.

Excellent work. Thanks for sharing.


Back to Top
 
Poleboy
Post: Dec 14th 2011 at 10:32 PM   Post Reply

Thanks Blizzard. I wrote another program for my guitar, just in time for the Holidays. Turn your Fretlight guitar into a dancing light show. Actually it's a frequency response meter similar to WinAmp's and comes with a mini WinAmp interface. The guitar light show also works with any music or sound that can be played through your computer. Enjoy.

http://www.4shared.com/file/AxOhgmMY/LED_Fretboard_Light_Show.html


Back to Top
 
Blizzard
Post: Dec 18th 2011 at 6:34 AM   Post Reply

Thanks Poleboy. That's a very innovative way to use a Fretlight guitar. I can see you have put alot of time and effort into these programs. It's nice to have some extra features that are not found in the original Fretlight software.

Is there some way your program can transfer midi data from a midi port to the Fretlight display? That way we could use Tux Guitar's midi output or any other midi player to light-up the Fretlight. Maybe someone could even create a Fretlight VST plug-in so it could be used in Cubase, Sonar, etc...


Back to Top
 
Heaven
Post: Dec 18th 2011 at 8:35 PM   Post Reply

You've got it in one. Couldn't have put it bteetr.


Back to Top
 
MOHAMED
Post: Dec 19th 2011 at 3:05 AM   Post Reply

Poleboy, great job. I wonder if you can create a plug in to tuxguitar so it can light up the fretlight? if you are planning on making this open source and since this is the goal of this post can you package those apis so we can use them in creating more sophisticated functions in Tuxguitar?
Again you did a genius job...


Back to Top
 
jetukmzift
Post: Dec 19th 2011 at 8:41 AM   Post Reply

XkzURe njsvjpvukohm


Back to Top
 
epclarkjr
Post: Dec 25th 2011 at 1:48 AM   Post Reply

× ×?ס×?ת×? ×?×?צ×?א את ×?ת×?×?× ×? ×?×?×?×?×? ×? ×?×?×?ר×? – ×?א ×?×?ת×?×?×? ש×? ת×?×?×?ם×?אם ×?ש ×?×?ם ×?צע×??ת×?×?×?×?×?×?

cheap car insurance


Back to Top
 
Poleboy
Post: Jan 4th 2012 at 3:32 PM   Post Reply

I'll take a look at creating a plug-in.


Back to Top
 
josx
Post: Jan 13th 2012 at 7:05 PM   Post Reply

hey great news!

Please post your source code, without it. Your work is useless.

Last year We have release a plugin to connect to a simil frethlight guitar....take a look to do yours:

https://github.com/CrearAyT/Guitarra-Vas-a-Llorar/tree/master/TuxGuitar-Duino


Back to Top
 
white_tree
Post: Jan 23rd 2012 at 4:51 AM   Post Reply

I'm dying to get direct midi (from a DAW) to a fretlight, would that be possible with your program Poleboy? This is awesome


Back to Top
 
bamboone
Post: Feb 9th 2012 at 8:51 AM   Post Reply

Hey, Guys!
Sorry to be so late to the party! I have the older serial port type Fretlight (Optek SMARTlight) guitar and interface box, but sadly I do not have the original software: might one of you tell me where I might get a copy? Fretlight was not at all helpful when I called them! I see previously posted API(?) for this guitar, which I admit I will probably not be clever enough to figure out what to do with! Thanks!
anthonyhendrix3843 at msn dot com


Back to Top
 

Post Reply

 
 

This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

Type the characters that you see in the box (6 characters). The code can include characters 0..9 and A..Z.