Diminuendo on a string chord?

I have a string ensemble that's holding a chord for three bars and I want the chord to fade away. If I were putting in articulations I'd start out at mezzo-piano and end at pianissimo (or even 3 p). How do I make the ensemble play this way?
Thank you.

BflatBlues wrote:
I have a string ensemble that's holding a chord for three bars and I want the chord to fade away. If I were putting in articulations I'd start out at mezzo-piano and end at pianissimo (or even 3 p). How do I make the ensemble play this way?
You could do that with a volume automation curve.
Basically you click on the disclosure triangle in the track name, make sure volume is selected in the drop down automation menu - it is by default - and then click on the horizontal line that appears creating anchor dots, and drag them up or down to create crescendos or diminuendos.
For more info on how to do that, search for volume automation curve in the GB help menu.

Similar Messages

  • Files appended but not loaded

    Hi
    I have created a save function in my program to save new data and append it at the end of a single file. Here is the code.
    private void SaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SaveActionPerformed
           Vector<PointOnFret> vectorToSave = gPanel1.getFretPointsVector();
           String chordName = JOptionPane.showInputDialog("Enter chord name");
           Chord  chordToSave = new Chord();
           chordToSave.setName(chordName);
           chordToSave.setPositions(vectorToSave);
         try{
                FileOutputStream fis = new FileOutputStream(FILENAME,true);           
                ObjectOutputStream out = new ObjectOutputStream(fis);           
                out.writeObject(chordToSave);
                out.flush();
                out.close();
         catch(IOException ioException)
            JOptionPane.showMessageDialog(null, "Error opening File","Error",JOptionPane.ERROR_MESSAGE );
        }But I think the save works just fine...
    Probably the problem is in the loading of the vector that contains those records in the file.
    It loads the name of the first record of the file but does not open it...
    private String [] loadChordsVector()
            try
                FileInputStream fis = new FileInputStream(FILENAME);
                ObjectInputStream ins = new ObjectInputStream(fis);
                int records  = 0;
                boolean read = true;
                 Chord savedChord  = null;
                do
                     records++;
                     savedChord = (Chord)ins.readObject();
                     if(savedChord != null)
                         chords.add(savedChord);
                }while(savedChord == null);
                ins.close();
                System.out.println("Records "+ records);
                String [] chordNames = new String[chords.size()];
                for(int i = 0; i < chords.size(); i++)
                    Chord chord = chords.get(i);
                    chordNames[i] = chord.getName();
                return chordNames;
            catch (ClassNotFoundException ex) {
                Logger.getLogger(GFriendView.class.getName()).log(Level.SEVERE, null, ex);
                String[] dummy = {"Test"};
                return dummy;
            catch(IOException ioException)
                ioException.printStackTrace();
                JOptionPane.showMessageDialog(null, "Error opening File","Error",JOptionPane.ERROR_MESSAGE );
                String[] dummy = {"Test"};
                return dummy;
        }Can you pls tell me where do you see something wrong?
    I'm a bit confused

    I don't really understand your problem, but it seems to me your while condition is not logical.

  • Teddy's q&a

    Hi again guys... I thought it'd be pretty stupid of me that whenever I would run into a problem I would make a new thread about it. Hence, this is the only thread I am ever going to post in regarding my own questions.
    I would like to start off with a small question. I have the following:
        private int getButtonIndex(Object o)
            for(int i=0;i<b.length;i++)
                if(b==o)
    return i;
    return -1;
    } //Just wrote this to clarify, has nothing to do with my problem
    public void actionPerformed(ActionEvent e)
    int buttonIndex = getButtonIndex(e.getSource());
    if(buttonIndex>-1 && buttonIndex<24)
    this.s[buttonIndex].play();
    guitarstring[0]=s[buttonIndex];
    Now this code works perfectly. However, I want that whenever I play a sound (this.s[buttonIndex].play();) I want all other sounds that might be playing to stop playing. Is this possible? Thanks in advance!
    /Teddy

    Well it's a strange thing really... I'm sorry for not being more informative in my last post, I had other things on my mind I suppose. The code you gave me serves its purpose but it screwed up alot of other methods for a reason I can not find :S
    This is my entire code, the problems are described in the comments (brace yourselves!):
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    public class JavaForum extends Applet implements ActionListener
        Button[] b = new Button[150];
        Button [] b_function = new Button[8];
        Button[] b_chord = new Button[7];
        AudioClip[] s = new AudioClip[b.length];
        AudioClip[] guitarstring = new AudioClip[6];
        Color c1 = new Color(213,174,124,0);
        Color c2 = new Color(171,155,138,0);
        TextField ackord, delay;
        Font font = new Font("Times New Roman", Font.PLAIN, 8);
        //String values which represent the corresponding notes of the AudioClips
        String[] st_b = {"B","C","C#","D","D#","E","F","F#","G","G#","A","A#","B","C","C#","D","D#","E","F","F#","G","G#","A","A#","B"};
        String[] st_g = {"G","G#","A","A#","B","C","C#","D","D#","E","F","F#","G","G#","A","A#","B","C","C#","D","D#","E","F","F#","G"};
        String[] st_d = {"D","D#","E","F","F#","G","G#","A","A#","B","C","C#","D","D#","E","F","F#","G","G#","A","A#","B","C","C#","D"};
        String[] st_a = {"A","A#","B","C","C#","D","D#","E","F","F#","G","G#","A","A#","B","C","C#","D","D#","E","F","F#","G","G#","A"};
        String[] st_e = {"E","F","F#","G","G#","A","A#","B","C","C#","D","D#","E","F","F#","G","G#","A","A#","B","C","C#","D","D#","E"};
        int[] xpos = {0,48,93,133,169,202,234,264,292,318,344,370,393,414,435,456,476,496,516,535,552,569,583,597,609};
        int delay1;
        Image g_greppbrada;
        //Creates button for ONE guitar string
        private void addButtons(int startnr, int ypos, String[] notes)
            for(int i=startnr;i<(startnr+25);i++)
              b[i] = new Button(notes[i-startnr]);
              b.addActionListener(this);
    add(b[i]);
    b[i].setLocation(xpos[i-startnr],ypos);
    b[i].setSize(10, 10);
    b[i].setFont(font);
    b[i].setBackground(c2);
    b[i].setForeground(Color.black);
    //Method which help create buttons with different functions
    private void addButtonFunction(int index, String st_name, int x, int y, int w, int h)
    b_function[index] = new Button(st_name);
    b_function[index].addActionListener(this);
    add(b_function[index]);
    b_function[index].setLocation(x,y);
    b_function[index].setSize(w, h);
    //b_function[index].setFont(font1);
    //Function which gets an index value from a specified object
    private int getButtonIndex(Object o)
    for(int i=0;i<b.length;i++)
    if(b[i]==o)
    return i;
    return -1;
    //Method which delays the playing of an audioclip
    public void delay(int delaytime)
    try
    Thread.sleep(delaytime);
    catch (Exception e)
    System.out.println("Failed to sleep - " + e);
    //Method which plays all elements in the guitarstring array. Takes the delay value into consideration.
    public void strumChord()
    for(int i = 0; i<guitarstring.length; i++)
    this.guitarstring[i].play();
    this.delay(delay1);
    //The famous "Stairway to Heaven" intro -- in Java! Haha...
    public void stairWay()
    this.s[82].play();
    this.delay(delay1);
    this.s[55].play();
    this.delay(delay1);
    this.s[30].play();
    this.delay(delay1);
    this.s[5].play();
    this.delay(delay1);
    this.s[81].play();
    this.s[7].play();
    this.delay(delay1);
    this.s[30].play();
    this.delay(delay1);
    this.s[55].play();
    this.delay(delay1);
    this.s[7].play();
    this.delay(delay1);
    this.s[80].play();
    this.s[8].play();
    this.delay(delay1);
    this.s[30].play();
    this.delay(delay1);
    this.s[55].play();
    this.delay(delay1);
    this.s[8].play();
    this.delay(delay1);
    this.s[79].play();
    this.s[2].play();
    this.delay(delay1);
    this.s[28].play();
    this.delay(delay1);
    this.s[52].play();
    this.delay(delay1);
    this.s[2].play();
    this.delay(delay1);
    this.s[78].play();
    this.s[0].play();
    this.delay(delay1);
    this.s[26].play();
    this.delay(delay1);
    this.s[52].play();
    this.delay(delay1);
    this.s[26].play();
    this.delay(delay1*2);
    this.s[0].play();
    this.delay(delay1);
    this.s[26].play();
    this.delay(delay1);
    this.s[52].play();
    this.delay(delay1);
    this.s[102].play();
    this.s[75].play();
    this.s[50].play();
    this.delay(delay1);
    this.s[102].stop();
    this.s[75].stop();
    this.s[50].stop();
    this.s[100].play();
    this.s[77].play();
    this.s[52].play();
    this.s[26].play();
    this.delay(delay1);
    this.s[100].play();
    this.s[77].play();
    this.s[52].play();
    this.s[26].play();
    //Method which "forms" a chord by giving the six "guitar strings"
    //(the guitarstring array) different audio values
    public void formChord(int e, int b, int g, int d, int a, int e2)
    guitarstring[0] = s[e];
    guitarstring[1] = s;
    guitarstring[2] = s[g];
    guitarstring[3] = s[d];
    guitarstring[4] = s[a];
    guitarstring[5] = s[e2];
    //Method which creates a button which plays a predefined chord
    private void addChordButton(int index, String chord, int x, int y)
    b_chord[index] = new Button(chord);
    b_chord[index].addActionListener(this);
    add(b_chord[index]);
    b_chord[index].setLocation(x,y);
    b_chord[index].setSize(40,20);
    //Method which creates textfields with various functions
    private void addTextFieldFunction(TextField name, int num, int x, int y, int w, int h, String text)
    name = new TextField(4);
    add(name);
    name.setSize(w,h);
    name.setLocation(x,y);
    name.setText(text);
    name.addActionListener(this);
    public void init()
    setLayout(null);
    g_greppbrada = this.getImage(getDocumentBase (),"grafik/greppbrada.png");
    //Various textfield functions
    //this.addTextFieldFunction(ackord, 2, 0, 84, 40, 20, "E");
    //this.addTextFieldFunction(delay, 4, 160, 84, 40, 20, "200");
    //Another strange thing: this one works, but not the above one. How very odd!
    delay = new TextField(4);
    add(delay);
    delay.setSize(40,20);
    delay.setLocation(536,105);
    delay.setText("200");
    delay.setBackground(c1);
    //delay.setFont(font1);
    delay.addActionListener(this);
    //Adds all button elements from the "b" array. New clause for new corresponding guitar string.
    this.addButtons(0, 3, st_e);
    this.addButtons(25, 15, st_b);
    this.addButtons(50, 30, st_g);
    this.addButtons(75, 44, st_d);
    this.addButtons(100, 58, st_a);
    this.addButtons(125, 72, st_e);
    //Adds buttons which will play predefined chords
    this.addChordButton(0, "E", 80, 104);
    //Adds various button functions
    this.addButtonFunction(0, "Strum", 581, 105, 40, 20);
    this.addButtonFunction(1, "Tryck h�r om du heter Tomas", 140, 104, 170, 20);
    //I should really simplify this...
    this.addButtonFunction(2, "", 650, 7, 80, 2);
    b_function[2].addMouseListener(new MouseAdapter()
    public void mouseEntered(MouseEvent me)
    guitarstring[0].play();
    this.addButtonFunction(3, "", 650, 20, 80, 2);
    b_function[3].addMouseListener(new MouseAdapter()
    public void mouseEntered(MouseEvent me)
    guitarstring[1].play();
    this.addButtonFunction(4, "", 650, 34, 80, 2);
    b_function[4].addMouseListener(new MouseAdapter()
    public void mouseEntered(MouseEvent me)
    guitarstring[2].play();
    this.addButtonFunction(5, "", 650, 49, 80, 2);
    b_function[5].addMouseListener(new MouseAdapter()
    public void mouseEntered(MouseEvent me)
    guitarstring[3].play();
    this.addButtonFunction(6, "", 650, 63, 80, 2);
    b_function[6].addMouseListener(new MouseAdapter()
    public void mouseEntered(MouseEvent me)
    guitarstring[4].play();
    this.addButtonFunction(7, "", 650, 77, 80, 2);
    b_function[7].addMouseListener(new MouseAdapter()
    public void mouseEntered(MouseEvent me)
    guitarstring[5].play();
    //All AudioClip-objects are given corresponding audiofiles (with the same name)
    for(int i=0;i<s.length;i++)
    s[i] = this.getAudioClip(getDocumentBase(), "sound/s"+i+".wav");
    //The inital values for the guitar strings
    for(int i=0;i<guitarstring.length;i++)
    guitarstring[i] = s[25*i];
    //Paints the fret board
    public void paint(Graphics g)
    g.drawImage(g_greppbrada,0,0,this);
    g.drawString("Strum delay",536,100);
    g.setColor(Color.red);
    g.drawString("ms",604,100);
    this.showStatus("F�r sn�l f�r att k�pa en riktig gitarr?");
    public void actionPerformed(ActionEvent e)
    //Relates Button index to correpsonding AudioClip index and allots an index interval's
    //corresponding guitar string the last played AudioClip
    int buttonIndex = getButtonIndex(e.getSource());
    //If I add this instead of the code below all my buttons and textfields
    //with actionlisteners stop working
    this.s[buttonIndex].play();
    guitarstring[buttonIndex / 25]=s[buttonIndex];
    /*if(buttonIndex>-1 && buttonIndex<24)
    this.s[buttonIndex].play();
    guitarstring[0]=s[buttonIndex];
    else if(buttonIndex>24 && buttonIndex<49)
    this.s[buttonIndex].play();
    guitarstring[1]=s[buttonIndex];
    else if(buttonIndex>49 && buttonIndex<74)
    this.s[buttonIndex].play();
    guitarstring[2]=s[buttonIndex];
    else if(buttonIndex>74 && buttonIndex<99)
    this.s[buttonIndex].play();
    guitarstring[3]=s[buttonIndex];
    else if(buttonIndex>99 && buttonIndex<124)
    this.s[buttonIndex].play();
    guitarstring[4]=s[buttonIndex];
    else if(buttonIndex>124 && buttonIndex<150)
    this.s[buttonIndex].play();
    guitarstring[5]=s[buttonIndex];
    delay1 = Integer.parseInt(delay.getText());
    //Various button functions
    if (e.getSource() == b_function[0]) this.strumChord();
    if (e.getSource() == b_function[1]) this.stairWay();
    //This textfield does not serve its purpose for some reason
    /*if (e.getSource() == ackord)
    if(ackord.getText() == "E" || ackord.getText() == "e")
    this.formChord(0,25,51,77,102,125);
    this.strumChord();
    if (e.getSource() == delay)
    this.strumChord();
    //Knappar vilka spelar f�rbest�mda ackord
    for(int i = 0; i < b_chord.length; i++)
    if (e.getSource() == b_chord)
    this.formChord(0,25,51,77,102,125);
    this.strumChord();
    As seen it should work, but it doesn't...

  • Drawing a music stave

    Pleas help, i'm behind a deadline, whine whine.
    Basically all these (all 3) class's worked seperatley but when i put them together the Note does not display on the stave
    Write3001 - class accepts input from users (ie user inputs a chord name)
    Stave Class - draws the five lines of a stave and sends the start co-ordinates (depending on the note) to the note class
    note class - draws a note with the co-ordinates given to it:
    source (this is justthe basic shell)
    * user can input a chord name in an edit box
    * and the chord is written on a stave diagram
    //ie musical notation
    * uses stavediagram class which calls appropriate
    public class WriteChord3001 extends javax.swing.JFrame {
    private JPanel staveDiagramPane;
    public WriteChord3001() {
         ...private JTextField input;
    //stave diagram pane*****************************
    //displays appropriate stave diagram
    staveDiagramPane = new JPanel(new BorderLayout());
    staveDiagramPane.add(new StaveDiagram());
    box.add(staveDiagramPane);
    pack();
    setVisible(true);
    public void buildInput()
    String chord;
    staveDiagramPane.add(new StaveDiagram(chord));
    pack();
    kbPane.repaint();
    public static void main (String args[]) {
    new WriteChord3001 ().show ();
    //inner class defining the StaveDiagram
    class StaveDiagram extends JPanel
    public StaveDiagram()
    setLayout (new BorderLayout());
    buildOutput();
    public void paint(Graphics g)
    //paints the stave lines
    public void buildOutput()
         ///here's the problem part:
    staveDiagramPane.add(new Note(x,y,notetype));
    pack();
    staveDiagramPane.repaint();
    //inner class defining a note
    class Note extends JPanel
    public Note(int x,int y, String s)
    initComponents ();
    //set note type *****************************
              // ie. crotchet or quaver etc.
    //***********drawing notes:
    public void paint(Graphics g)
    g.drawOval(x,y,size,size);
    //=================================================
    //end of note class
    //=================================================
    //end of StaveDiagram class
    the end

    Well, it never could work at all!!!
    So you get a JFrame, put a JPanel (staveDiagramPane) on it, put another JPanel (staveDiagram) into it, and each note is ANOTHER JPanel the second JPanel is supposed to add on the first JPanel? It's mad!!!
    First of all, you won't see anything just because this is not the way BorderLayout is supposed to work! You can't simply add a component (not specifying where you want to add it - i.e. BorderLayout.CENTER, i suppose...). Second, why don't you simply use one JComponent (call It StaveComponent) whose paint() method draws both the diagram and notes (you can represent them defining one class that ineriths from Object: a note is NOT a Component nor a JPanel!)?
    Hope it helps...

  • Cange chord strips for smart guitar

    Hi, I am looking to change the selection of chords in the smart guitar, but idot know how. I would like to add an A Minor. Can anyone help me configure the chord strips?
    Thanks,
    Michael

    Thanks guys, I reported it to apple.
    It's even more unpredictable though. It seems to me that on a key change the auto strum buttons play the correct chord (not being a musican I am not sure if this is even true, and now I certainly don't trust what it says).
    It seems to me that it's the strings that don't get updated properly. Some do, some don't, some do after playing a different chord or playing the chord with the chord button.
    Example, between the key of C major and C minor as. before you have a G and a Gm chord.
    Play the chord and strum it in C major and it should sound the same.
    Change to C minor and without playing any other note or chord, strum Gm... it's still playing G, wrong.
    Now strum any other chord and then strum Gm again.,.Now it has suddenly corrected and does play Gm.
    As a quick test I changed key to D (major or minor I can't remember) and practically every single strummed chord is wrong.
    All I can say is Apples test procedures are woefully inadequate. This is an embarrassment.

  • Tips for making strings sound more real

    Basically i'm having trouble getting my strings from the exsp24 to sound real. mainly the violins. does anyone have any good tips?

    It very much depends on what sort of music you are writing and what you want the strings to achieve.
    As well as having decent sounding samples, you must make sure that what you are writing are typical string parts. You can have the most wonderful string samples in the world, but if you play "Chopsticks" with two fingers they'l still sound like some chimp playing "Chopsticks" with two fingers.
    Broadly speaking, chords should be structured with wider spacing between the bottom notes than the top. Although complex classical music can have chords made up of 8 or more notes, pop music tends to have much simpler writing with perhaps only 4 parts or fewer.
    Dynamics are also very important. Listen to any piece of classical string music and you'll notice there is a very wide dynamic range within phrases, and even within the length of a single note.
    In general, the sort of sound that comes with Logic are good for long legato lines, or sustained block chords, or perhaps short stabbing sounds (think "Psycho). Because the violin is a fretless, fluid instrument, parts that require more sophisticated articulations will require a more up-scale library that features these articulations, and even then the results are not always great.
      Mac OS X (10.4.8)  

  • String toFile

    check my stupid problem
    I have two progs AudioFrame1.java and ClipPlayer.java
    My goal is to TextField(filename).getText()and run it as below
    please help me.
    ClipPlayer clipPlayer = new ClipPlayer(clipFile, nLoopCount);
    AudioFrame1.java
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    class AudioFrame extends JFrame implements ActionListener
    { JPanel p1=new JPanel();
    JPanel p2=new JPanel();
    JTextField filename=new JTextField(File);
    JTextField loops=new JTextField(15);
    JButton btnrun=new JButton("Run");
    JButton btnclose=new JButton("Close");
    JButton btnclear=new JButton("Clear");
    AudioFrame()
    setTitle("Play the Audio File");
    initializeComponents();
    this.setResizable(true);
    this.setVisible(true);
    this.setBounds(0,0,500,200);
    void initializeComponents()
    add(new Label(" "),BorderLayout.NORTH);
    add(new Label(" "),BorderLayout.EAST);
    add(p1,BorderLayout.EAST);
    add(p2,BorderLayout.SOUTH);
    p1.setLayout(new GridLayout(2,8));
    p1.add(new JLabel("Audio File Name"));
    p1.add(filename);
    p1.add(new JLabel("Number of Loops"));
    p1.add(loops);
    p2.setLayout(new GridLayout(1,5));
    p2.add(btnrun);
    p2.add(btnclear);
    p2.add(btnclose);
    btnclear.addActionListener(this);
    btnclose.addActionListener(this);
    btnrun.addActionListener(this);
    public void actionPerformed(ActionEvent e)
    { String fname;
    int nLoopCount;
    try{
    if(btnrun==e.getSource())
    { fname=filename.getText();
    nLoopCount = Integer.parseInt(loops.getText());
    System.out.print("Running "+fname+" wave file ") ;
    System.out.println(nLoopCount+" Times") ;
    else if(btnclose==e.getSource()) {setVisible(false);System.exit(0);}
    else if(btnclear==e.getSource()) clear(); }
    catch(Exception ex){System.out.println(ex);}
    void clear()
    {   filename.setText("");
    loops.setText("");
    class AudioFrame1
    public static void main(String args[])
    AudioFrame f=new AudioFrame();
    // ClipPlayer.java
    // This file is part of jsresources.org
    import java.io.File;
    import java.io.IOException;
    import javax.sound.sampled.AudioFormat;
    import javax.sound.sampled.AudioInputStream;
    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.Clip;
    import javax.sound.sampled.DataLine;
    import javax.sound.sampled.LineEvent;
    import javax.sound.sampled.LineListener;
    import javax.sound.sampled.LineUnavailableException;
    public class ClipPlayer implements LineListener
    { private Clip m_clip; /* * The clip will be played nLoopCount + 1 times.  */
    public ClipPlayer(File clipFile, int nLoopCount)
    { AudioInputStream audioInputStream = null;
    try
    { audioInputStream = AudioSystem.getAudioInputStream(clipFile);
    catch (Exception e)
    { e.printStackTrace();
    if (audioInputStream != null)
    { AudioFormat format = audioInputStream.getFormat();
    DataLine.Info info = new DataLine.Info(Clip.class, format);
    try
    { m_clip = (Clip) AudioSystem.getLine(info);
    m_clip.addLineListener(this);
    m_clip.open(audioInputStream);
    catch (LineUnavailableException e)
    { e.printStackTrace();
    catch (IOException e)
    { e.printStackTrace();
    m_clip.loop(nLoopCount);
    else
    { out("ClipPlayer.<init>(): can't get data from file " + clipFile.getName());
    public void update(LineEvent event)
    { if (event.getType().equals(LineEvent.Type.STOP))
    { System.out.print("    stop");m_clip.close();
    if (event.getType().equals(LineEvent.Type.OPEN))
    { System.out.print("open");
    else if (event.getType().equals(LineEvent.Type.CLOSE))
    { System.out.println("     close");
    System.exit(0);
    public static void main(String[] args)
    { AudioFrame f=new AudioFrame();
    public toFile(String good)
    { File fil=f.filename.getString();
    if (args.length != 2)
    { out("ClipPlayer: usage:   java ClipPlayer <ringout.wav> <0+1 times>\n");
    else
    File clipFile = new File(args[0]);
    int nLoopCount =Integer.parseInt( args[1]);
    ClipPlayer clipPlayer = new ClipPlayer(clipFile, nLoopCount);
    while (true)
    { try
    { Thread.sleep(0);/* sleep for 1 second. */
    catch (InterruptedException e)
    { // Ignore the exception.
    private static void out(String strMessage)
    { System.out.println(strMessage +"It will not run if you don't give parameters");
    System.out.println(strMessage +"type as ClipPlayer chord.wav 0");
    } /*** ClipPlayer.java ***/

    Stupid is right.
    Do you have a question about that code? And why did you post it in this forum?

  • Chord Trainer Isn't Working

    Chord Trainer is not working for me. When I load the chord trainer and play the first chord, nothing appears to happen. The green input light shines but nothing else happens. The tuner program works fine. I don't think it's a matter of my setup. It appears to be isolated to the chord trainer. I did a search and found a few topics from early on this year describing the same issue, however no answers were given in those topics. Does anyone else have this issue? Any ideas on fixing it?

    What is your GarageBand version? For me the chord trainer is working well in  GarageBand (Mac) '11 6.0.5.
    Things you might wish to check: You will see no response at all, if the guitar is out of tune, if the input level is too low, or the volume of the guitar is so high as to produce clipping.
    You have to open the "Set UP" window (behind the cogwheel) at least once, to get started.
    The tuning of your guitar needs to be perfect.  Check not only the tuning of the empty strings, but also check if the fifth are o.k., when you press down the strings. If the saddle should have shifted a little, the empty strings may be perfectly in tune, but if you press down the strings at the higher frets, the tuning will be wrong, and GarageBand will not recognize a chord. You will see no reaction at all in that case.
    If the guitar is perfectly tuned, and when you play the current chord correctly, it highlights green, but if you play it wrong, it will highlight pink.
    Regards
    Léonie

  • Smart guitar chord bug with key change??

    I think there is a bug in the smart guitar chord selection when changing the song key.
    Could someone try this...
    Song key set to C major.
    Select smart guitar and strum the strings of the Em chord. Now hit the Em chord button to auto strum... sounds the same. So far so good.
    Now change song key to C minor.
    Do the same for the now Eb chord.. when strumming the strings it still sounds an Em. But notice hitting the chord button plays Eb.
    Does anyone else hear this? (it's not only that chord that is wrong)

    Thanks guys, I reported it to apple.
    It's even more unpredictable though. It seems to me that on a key change the auto strum buttons play the correct chord (not being a musican I am not sure if this is even true, and now I certainly don't trust what it says).
    It seems to me that it's the strings that don't get updated properly. Some do, some don't, some do after playing a different chord or playing the chord with the chord button.
    Example, between the key of C major and C minor as. before you have a G and a Gm chord.
    Play the chord and strum it in C major and it should sound the same.
    Change to C minor and without playing any other note or chord, strum Gm... it's still playing G, wrong.
    Now strum any other chord and then strum Gm again.,.Now it has suddenly corrected and does play Gm.
    As a quick test I changed key to D (major or minor I can't remember) and practically every single strummed chord is wrong.
    All I can say is Apples test procedures are woefully inadequate. This is an embarrassment.

  • How do i play harp gliss in specific key/chord?

    I'm playing a show which calls for several different harp glisses using specific chords (ie-Em7, CMaj, Dm7b5, etc) - is there a way to program MainStage to play a one-touch arpeggio from the keyboard?

    As you may know, a real harp doesn't voice a gliss the same as a piano.  It has 7 strings per octave, and 7 pedals, one for each note.  For instance, a pedal will tune all of the "A" strings up or down a half-step.
    So an Eb7 gliss might be played Db-Eb-Eb-F-G-Bb-Bb.   This is C string:up 1/2, D string: up 1/2, E string: down 1/2, etc.
    I have an Environment I have created that lets me take whatever Harp pedal setting are marked in a piece of harp music and apply them.  Then I just play the glisses on the white keys.
    Cheers,
    Thomjinx

  • I want to create a backing track in GB '09--how to change chords?

    I want to create a backing track for a song I've written.   I want to use all software instruments--drums, bass, strings, guitar. (It's akin to a disco/Philadelphia sound fmor the early/mid-70s.)  The idea is that this will be playing over a sound system while I sing the song live in a performance.
    I have figured out how to use the instrument loops as well as establish the key and the tempo.   At this point, though, I don't know how to get the guitar/bass/strings to change the chords.   For example, I start in Bb minor for two measures, then got to F7 for two measures, back to Bb minor for two measures, and then A diminished for two measures.  Can anyone give me guidance as to how to plunk in these chords?   Thanks.

    At this point, though, I don't know how to get the guitar/bass/strings to change the chords.
    A basic chord progression can be done by transposing a copy of the loop using "pitch" slider in the Track Editor. For example, setting the Pitch slider to "-3" will transpose the selected loop down three half note steps. To go from Bb to F set the slider to "-5". The loop browser can beset to show only major or minor chords in the "Scale" pop-up menu.
    Only, to add a seventh or to make a chord "diminished", transposition alone will not suffice. In this case it is best to use software instrument loops, where you can shift the individual notes in the Track Editor or add a seventh note, like below, with an "A"  added to the basic Bb major. For "A diminished" lower the top note by two half steps and transpose by +2 half note steps.

  • Guitar Chords/Notes Getting Cutoff/Muted Problems?

    Well I tried to search for similar issues and couldnt find one, so please forgive me if this has been discussed already.
    So I just recently picked up an iPad1 and the garage band app, which I have to say is pretty darn cool for an app. I am a long time Logic user, and have been playing around with this app a bit and am noticing a really big cutoff problem. If I try to strum chords manually (to hit certain parts, rather than a straight strum down every time like the button does), it sounds fine. But when I play back the recording it doesnt hold the chord. It acts as if I muted the chord so whenever i change the pattern it cuts off other notes. I also notice it does this most of the time when I pluck out individual notes in chord mode as well. I have tried some variety in the way i record it such as holding down the string longer, or keeping my finger on it, making sure I am not hitting the back part which I noticed purposely gives a muted sound, and have made sure im not accidentally pulling off a string pre-maturely.
    The strange things are that when you play it sounds like its keeping the sound, and the midi view even looks like the note lengths are being held, and dont display a small picks.
    Is it possibly just that iPad1 cant handle the processing? Anyone happen to know if exported to a desktop version it will work properly. Anyone else notice this same issue (Id assume plenty have)?
    Any help would be great, I am just very curious about this as I really think its a great little App for something like the iPad.
    Thanks!

    Do you have Quantization switched on? this might have the effect of chopping up your chords when it tries to get them to conform to the selected setting ie 1/4 or 1/8 notes etc
    I tried it with Quantize on and did get an effect similar to what you describe.
    hope this helps

  • GB, the making of. I'm not a musician, how this Apps was made in term of chords.

    Hello from sunny Geneva,
    I really love this application and spend hours playing with.
    It's a huge question maybe, but I'd like to understand how
    this amazing Apps was made in term of choice for the chords,
    for those smart instruments. Piano, Guitar, Bass, Strings
    Why Em Am Dm G C F Bb Bdim
    Why presented/listed in this order Em to Bdim
    About guitar : for a chord, how was made the choice
    for the 6 notes composing the chord
    i.e. from bottom G C E G C E for C chord
    What chords are behind when I press 2 or 3 fingers
    to change the chord ?
    The same question for bass guitar, piano, strings...
    I just search for the making of as I know how to use it,
    creating music, exporting to Mac or YouTube.
    I try to undrestand using Google or through books
    but it is very difficult.
    Thanks in advance for your posts.
    Franck

    iii-vi-ii-V-I-VI-VII-vii is a major circle progression with a borrowed VII from the minor scale, and this is the order of the chords in the key of C
    if you change the Key of the song in garageband, the chords will change but follow this same pattern
    the vi–ii–V–I progression is a chord progression (also called the circle progression for the circle of fifths, along which it travels). It is "undoubtedly the most common and the strongest of all harmonic progressions" and consists of "adjacent roots in ascending fourth or descending fifth relationship"
    - from circle progression wikipedia article
    music theory is designed so notes and chords sound good, and garageband is just following the formula to make it fun and easy!

  • Cannot assign an empty string to a parameter with JDBC type VARCHAR

    Hi,
    I am seeing the aforementioned error in the logs. I am guessing its happening whenever I am starting an agent instance in PCo. Can somebody explain whats going on?
    Regards,
    Chanti.
    Heres the complete detail from logs -
    Log Record Details   
    Message: Unable to retreive path for , com.sap.sql.log.OpenSQLException: Failed to set the parameter 1 of the statement >>SELECT ID, PARENTID, FULLPATH, CREATED, CREATEDBY, MODIFIED, MODIFIEDBY, REMOTEPATH, CHECKEDOUTBY FROM XMII_PATHS WHERE FULLPATH =  ?  <<: Cannot assign an empty string to a parameter with JDBC type >>VARCHAR<<.
    Date: 2010-03-12
    Time: 11:32:37:435
    Category: com.sap.xmii.system.FileManager
    Location: com.sap.xmii.system.FileManager
    Application: sap.com/xappsxmiiear

    Sounds like a UI browsing bug (when no path is selected from a catalog tree folder browser) - I would suggest logging a support ticket so that it can be addressed.

  • Problems with string comparison and\or If statement

    Right now I'm trying to make a program that will look into all of my music folders, and rename the .mp3 files to a format i want, based on the id3 tags. The program so far looks in all of the folders I want it to, but I get stuck when I need to check if the files are .mp3 files or not. Here is my code so far:
    package fileRenamer;
    import java.io.File;
    public class FileRenamer {
    public static void main(String[] argv) {
         File artistsFolders = new File("F:/Music (MP3)");
         File[] artists = artistsFolders.listFiles();
         for(int i = 0; i < artists.length; i++){
              if(artists.isFile()) {
                   System.out.println(artists[i].getName());
         } else if (artists[i].isDirectory()) {
              System.out.println(artists[i].getName());
              File albumsFolders = new File("F:/Music (MP3)/"+artists[i].getName());
              File[] albums = albumsFolders.listFiles();
              for(int a = 0; a < albums.length; a++){
                   if(albums[a].isFile()) {
                        System.out.println("-" + albums[a].getName());
                   } else if (albums[a].isDirectory()) {
                        System.out.println("-" + albums[a].getName());
                   File songsFolders = new File("F:/Music (MP3)/"+artists[i].getName()+"/"+albums[a].getName());
                   File[] songs = songsFolders.listFiles();
                   for(int s = 0; s < songs.length; s++){
                        if(songs[s].isFile()) {
                             int dotPos = songs[s].getName().toString().lastIndexOf(".");
                             String extension = songs[s].getName().toString().substring(dotPos);
                             System.out.println(extension);
                             if(extension == ".mp3"){
                                  System.out.println("--" + songs[s].getName());
                   } else if (songs[s].isDirectory()) {
                             System.out.println("--" + songs[s].getName());
    When I test the code, the line System.out.println(extension); prints .mp3 into the console for all of the .mp3 files. Whatever I try, the if(extension == ".mp3") never seems to declare the two equal. If anyone knows what my problem is, I greatly appreciate the advice and help.
    Thanks in Advance,
    James

    Pojo226 wrote:
    I just tried that and it worked perfectly. Thanks.You're welcome.

Maybe you are looking for